Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2012-03-07

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:14 gfldex joined #perl6
00:24 tokuhirom joined #perl6
00:31 sisar joined #perl6
00:47 benabik joined #perl6
01:11 aindilis joined #perl6
01:12 prammer joined #perl6
01:15 scott__ joined #perl6
01:41 leprevost_ joined #perl6
01:46 alc joined #perl6
02:14 sorear n: say "\c[PILE OF POO]"
02:14 p6eval niecza v15-4-g1f35f89: OUTPUT«????␤»
02:14 sorear n: printf '%x', ord "\c[PILE OF POO]"
02:14 p6eval niecza v15-4-g1f35f89: OUTPUT«1»
02:14 colomon ?
02:14 sorear yeah, that is weird
02:15 benabik n: printf '%x', ord '»'
02:15 sorear sjn was trying to use .u for that earlier...
02:15 p6eval niecza v15-4-g1f35f89: OUTPUT«1»
02:15 sorear n: printf '%x', 55
02:15 colomon n: say ord 'A'
02:15 p6eval niecza v15-4-g1f35f89: OUTPUT«1»
02:15 p6eval niecza v15-4-g1f35f89: OUTPUT«65␤»
02:15 colomon sorry
02:15 colomon printf bug, then?
02:17 leprevost joined #perl6
02:20 sorear I guess
02:21 colomon n: say sprintf('%x', 1000)
02:21 p6eval niecza v15-4-g1f35f89: OUTPUT«3e8␤»
02:21 colomon n: say sprintf('%x', 10)
02:21 p6eval niecza v15-4-g1f35f89: OUTPUT«a␤»
02:22 tokuhirom joined #perl6
02:22 colomon n: printf('%x', 10)
02:22 p6eval niecza v15-4-g1f35f89: OUTPUT«1»
02:23 alc joined #perl6
02:24 wolfman2000 joined #perl6
02:25 colomon n: print sprintf('%x', 10)
02:25 p6eval niecza v15-4-g1f35f89: OUTPUT«a»
02:25 colomon n: print sprintf '%x', 10
02:25 p6eval niecza v15-4-g1f35f89: OUTPUT«a»
02:27 sorear What's the difference between Seq, List, and Array, and why do we need more than one?
02:30 colomon As I understood it originally, List was immutable.
02:30 colomon no idea why there's a Seq
02:31 au ...and is a role, apparently
02:31 au as in Seq does Iterable does List (based on a cursory re-reading of S02)
02:31 au er, sorry, Iterator does List. Seq does Iterable.
02:32 au so yeah, Seq and Array mostly differ by mutability of elements.
02:33 sorear Niecza has gotten on fine-ish without a Seq at all
02:33 colomon and Seq is what I thought List was.
02:33 au <aol/>
02:34 sorear the important difference is $listy.push(5); $listy[*-1]++
02:34 sorear if it passes, niecza calls it Array, otherwise niecza calls it List
02:34 sorear s/<<is>>/in niecza is/
02:35 colomon sorear: au++ is right, I think -- what niecza calls List, S02 calls Seq
02:35 colomon List is a role
02:36 sorear I've decided that laziness and multidimensionality are incompatible, and I want to add a new Matrix(name?) class for multi-dimensional or otherwise shapeful, non-lazy objects
02:37 au the relevant change for Seq assuming what List was is apparently https://github.com/perl6/specs/commit/736a6661f249554942ba3a30f1c6279a2a42c53a
02:37 au (2009-01-23)
02:38 colomon I wonder if Seq versus List is something pmichaud was/is intending to address with his iterator work.
02:39 au Matrix is like a nice name, esp if Array::Shaped sounds too verbose
02:39 colomon +1
02:40 sorear ShapedArray was my first thought, but then I realized it sounded too much like a subtype of Array
02:40 sorear I don't think I've seen PairSeq before...
02:42 colomon huh.  why would PairSeq merit a name, instead of just being a Seq of Pairs?
02:44 au because Seq of Pairs would not do Associative
02:44 au but PairSeq would ?
03:09 orafu joined #perl6
03:10 [Coke] perl6_ops.c: In function ‘Parrot_perl6_invoke_catchhandler_p_pc’:
03:10 [Coke] perl6_ops.c:7224:9: error: too many arguments to function ‘rewind_to_ctx’
03:10 [Coke] perl6_ops.c:132:13: note: declared here
03:10 [Coke] (that's why the spec run failed)
03:10 [Coke] (function: run_leave_phasers)
03:11 [Coke] phenny: tell jnthn, moritz to look in the log just before here.
03:11 phenny [Coke]: I'll pass that on when jnthn is around.
03:18 [Coke] (so, given that, won't bother rerunning today.)
03:25 shinobicl___ joined #perl6
03:44 shinobicl___ hi
03:44 shinobicl___ what's wrong with this code?
03:44 shinobicl___ nom: class D is Date { has Int $.x is rw; method new(:$year!, :$month!, :$day!, :$x!) { say "values: $year, $month, $day, $x"; return callwith(year=>$year, month=>$month, day=>$day).bless(*, $x); }; method perl { say "D.new($.year, $.month, $.day, $.x)"; }; }; my $var = D.new(year=>2012, month=>12, day=>2, x=>99); say $var.perl;
03:44 p6eval rakudo 3c5838: OUTPUT«values: 2012, 12, 2, 99␤use of uninitialized value of type Int in string context␤use of uninitialized value of type Int in string context␤D.new(, 1, 1, )␤True␤»
03:52 sorear shinobicl___: Is anything wrong with it?
03:53 japhb shinobicl___, you seem to be trying to use two different conceptual ways to write an explicit method new()
03:53 japhb Did you mean:
03:53 japhb nom: class D is Date { has Int $.x is rw; method new(:$year!, :$month!, :$day!, :$x!) { say "values: $year, $month, $day, $x"; self.bless(*, :$year, :$month, :$day, :$x); }; method perl { say "D.new($.year, $.month, $.day, $.x)"; }; }; my $var = D.new(year=>2012, month=>12, day=>2, x=>99); say $var.perl;
03:53 p6eval rakudo 3c5838: OUTPUT«values: 2012, 12, 2, 99␤D.new(2012, 12, 2, 99)␤True␤»
03:53 japhb ?
03:55 shinobicl___ i tried to "glue" x to the value returned from callwith
03:57 shinobicl___ nom: class D is Date { has Int $.x is rw; method new(:$year!, :$month!, :$day!, :$x!) { say "values: $year, $month, $day, $x"; self.bless(*, :$year, :$month, :$day, :$x); }; method perl { say "D.new($.year, $.month, $.day, $.x)"; }; }; my $var = D.new(year=>2012, month=>12, day=>2, x=>99); say $var.perl; say $var.daycount; my $var2 = Date.new(year=>2012, month=>12, day=>2); say $var2.daycount;
03:57 p6eval rakudo 3c5838: OUTPUT«values: 2012, 12, 2, 99␤D.new(2012, 12, 2, 99)␤True␤Int()␤56263␤»
04:03 shinobicl___ the result of $var.daycount is why i think i need to use callwith to return a Date object. To that i want to attach a new member.
04:09 [Coke] ISTR delegation working better here.
04:09 japhb Ah, I see the problem.
04:09 [Coke] perl6 gives you a nice way to say "I have a Date member, please delegate all date calls to it"
04:10 japhb class Date in src/core/Temporal.pm has its own explicit method new().
04:10 sorear (which niecza STILL doesn't implement, jeez)
04:11 shinobicl___ Several new methods, IIRC
04:11 shinobicl___ new() i meant
04:13 shinobicl___ [Coke] : are you saying that i should add a Date member to D instead of deriving from Date?
04:13 skids [Coke]: While "handles" is a solution, the "is T" scenario with value types really needs to be elaborated on specwise.
04:27 shinobicl___ maybe i'm just using "bless" in the wrong way?
04:27 shinobicl___ nom: class D is Date { has Int $.x is rw; method new(:$year!, :$month!, :$day!, :$x!) { say "values: $year, $month, $day, $x"; return callwith(year=>$year, month=>$month, day=>$day).bless(*, $x); }; method perl { say "D.new($.year, $.month, $.day, $.x)"; }; }; my $var = D.new(year=>2012, month=>12, day=>2, x=>99); say $var.perl;
04:27 p6eval rakudo 3c5838: OUTPUT«values: 2012, 12, 2, 99␤use of uninitialized value of type Int in string context␤use of uninitialized value of type Int in string context␤D.new(, 1, 1, )␤True␤»
04:28 timotimo wouldn't you need to use $.x instead of $x?
04:29 timotimo sorry, of course not before you've blessed
04:29 dalek Pugs.hs: 0285f84 | au++ | Pugs/src/Pugs/Prim.hs:
04:29 dalek Pugs.hs: * WIP: Type methods for Int/Num/Rat from coke++
04:29 dalek Pugs.hs: review: https://github.com/perl6/Pugs.hs/commit/0285f8489f
04:29 dalek Pugs.hs: cb4d7e9 | au++ | Pugs/src/Pugs/Prim.hs:
04:29 dalek Pugs.hs: * Line up return types of Int/Rat/Num and declare op0 fallbacks.
04:29 dalek Pugs.hs: review: https://github.com/perl6/Pugs.hs/commit/cb4d7e9eff
04:30 dalek roast: 301db81 | coke++ | fudge:
04:30 dalek roast: respect .spec_config
04:30 dalek roast: review: https://github.com/perl6/roast/commit/301db81ba3
04:30 dalek roast: 93b57c2 | coke++ | S (16 files):
04:30 dalek roast: pugs un/fudge
04:30 dalek roast: review: https://github.com/perl6/roast/commit/93b57c2409
04:34 [Coke] benabik: fixed all the spectest failures in pugs that have cropped up.
04:34 benabik Coke++
04:34 [Coke] except perhaps:
04:34 [Coke] S17-async/contend.pugs 4 - the race condition strikes
04:34 [Coke] (which didn't fail earlier)
04:35 [Coke] pugs is now passing 7324 tests.
04:39 [Coke] au++ for fixing my WIP.
04:39 skids nom: class D is Date { has Int $.x is rw; method new(:$year!, :$month!, :$day!, :$x!) { say "values: $year, $month, $day, $x"; self.bless(*, :$year, :$month, :$day, :daycount(self.daycount-from-ymd($year,$month,$day)), :$x); }; method perl { "D.new($.year, $.month, $.day, $.x)"; }; }; my $var = D.new(year=>2012, month=>12, day=>2, x=>99); say $var.perl; say $var.daycount; my $var2 = Date.new(year=>2012, month=>12, day=>2); say $var2.daycou
04:39 skids nt;
04:39 p6eval rakudo 3c5838: OUTPUT«values: 2012, 12, 2, 99␤D.new(2012, 12, 2, 99)␤56263␤Method 'daycou' not found for invocant of class 'Date'␤  in block <anon> at /tmp/wanMo9DpZi:1␤␤»
04:40 skids grr.
04:41 skids nom: class D is Date { has Int $.x is rw; method new(:$year!, :$month!, :$day!, :$x!) { say "values: $year, $month, $day, $x"; self.bless(*, :$year, :$month, :$day, :daycount(self.daycount-from-ymd($year,$month,$day)), :$x); }; method perl { "D.new($.year, $.month, $.day, $.x)"; }; }; my $var = D.new(year=>2012, month=>12, day=>2, x=>99); say $var.daycount; my $var2 = Date.new(year=>2012, month=>12, day=>2); say $var2.daycount;
04:41 p6eval rakudo 3c5838: OUTPUT«values: 2012, 12, 2, 99␤56263␤56263␤»
04:42 skids shinobicl___: ^^ workaround
04:43 shinobicl___ yes... a step in the right direction... but the thing is... am i right wanting to do this? i mean... 'blessing' a new member to an object?
04:44 shinobicl___ maybe i'm wanting to do something that is not expected to be possible in the first place
04:44 skids I think you are right in feeling you should be able to easily add an attribute to a class, unless the class author has good reasons to want you not to.
04:45 skids Which should not be the case with the Temporal stuff.
04:45 alc joined #perl6
04:45 skids This is even more frustrating, BTW, when you are wanting to just make variants of basic types with extra methods.
04:46 skids Because then you get into the whole "but that's just a box for a value type" thing.
04:53 * skids notes that .check-date also needs to be called before .daycount-from-ymd.
04:58 skids I think, shinobicl___, this would be a very good example for a "best practices" discussion on p6l, looking at where this could/should be fixed on the Temporal.pm end to, as a base class, provide more generic subclassing facilities.
05:00 shinobicl___ so, i can't bless a new value because the way Temporal.pm is written? I didn't see anything in the Date class that could indicate that.
05:02 skids Well, for one, you cannot pass initializers for that attribute through Date.new in order to reuse Date.new's code, because it doesn't have a slurpy, and since it does "things" that means you have to copy "things" to your initializer, which is a violation of DRY.
05:04 shinobicl___ That's why callwith exists, right? So i could use the original new from the Date class
05:06 skids That and other things, yes.  But if that new is going to then call your subclass's .bless, it should allow you to pass through extra parameters.
05:15 skids time for sleep.
05:20 thou joined #perl6
05:30 birdwindupbird joined #perl6
05:30 shinobicl___ good night, #perl6
05:30 shinobicl___ left #perl6
05:33 kaleem joined #perl6
06:34 NamelessTee joined #perl6
07:03 snearch joined #perl6
07:04 am0c joined #perl6
07:19 cognominal joined #perl6
07:27 wtw joined #perl6
07:31 skids joined #perl6
07:37 moritz \o
07:38 moritz last day of German Perl Workshop today
07:41 timotimo hey moritz
07:41 timotimo as a german, maybe you can be of better assistance in telling me how to pronounce niecza
07:41 tadzik morning.good
07:41 tadzik being Polish I think I can help you with that
07:42 tadzik it's like - nyetscha
07:42 timotimo oh, so a little bit like nietzsche?
07:42 tadzik not really
07:42 tadzik the "e" is not like an english "e"
07:42 timotimo oh, the beginning is like "niet", which is, dunno, russish for no?
07:42 tadzik yes
07:42 moritz we pronounce the i and e separately in niecza, but not in nietzsche
07:42 tadzik and then cza like in cha-cha-cha
07:43 timotimo right. so in german it would be spelled maybe "njetscha"?
07:43 moritz yes, roughly
07:43 timotimo that's very pronouncable, but a bit non-obvious
07:44 tadzik it was obvious to me :)
08:07 GlitchMr joined #perl6
08:11 mikec morning
08:11 sorear morning mikec.  welcome if appropriate.
08:11 sorear I was noticing earlier that masak's GPW slides were all in English
08:11 sorear then it occured to me that it's GPW, not DPW :)
08:12 sorear does anyone here know anything about the intended semantics of my @foo[**] ?
08:13 sorear hello GlitchMr
08:15 mikec thanks :) i've been welcomed once, but now i feel doubly welcome
08:31 ruoso joined #perl6
08:39 * sorear -> sleep
08:47 mj41 joined #perl6
08:47 dalek rakudo/nom: bb09ec6 | jonathan++ | src/core/Block.pm:
08:47 dalek rakudo/nom: NEXT phasers run in reverse order.
08:47 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bb09ec6974
08:47 dalek rakudo/nom: 7e2b6e6 | jonathan++ | src/Perl6/Actions.pm:
08:47 dalek rakudo/nom: Implement 'also' syntax.
08:47 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7e2b6e690b
08:47 dalek rakudo/nom: 870f800 | jonathan++ | src/ops/perl6.ops:
08:47 dalek rakudo/nom: Convey result of a block to the leave phaser runner, so it can consider whether to run KEEP and UNDO blocks.
08:47 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/870f800f7c
08:47 dalek rakudo/nom: c77b6f8 | jonathan++ | src/ops/perl6.ops:
08:47 dalek rakudo/nom: Quick but test-passing implementation of KEEP and UNDO. Based on mls++ patch, with some changes from me.
08:47 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c77b6f87f4
08:47 dalek rakudo/nom: 288fdb2 | jonathan++ | t/spectest.data:
08:47 dalek rakudo/nom: Run S04-phasers/keep-undo.t.
08:47 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/288fdb2988
08:47 dalek rakudo/nom: df250d8 | jonathan++ | docs/ChangeLog:
08:47 dalek rakudo/nom: Add some ChangeLog entries.
08:47 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/df250d82c7
08:47 jnthn morning o/
08:47 phenny jnthn: 03:11Z <[Coke]> tell jnthn moritz to look in the log just before here.
08:48 jnthn 870f800 fixes the build on platforms with C compilers that report things that they always really should. :-)
08:49 sporous joined #perl6
09:03 jnthn sorear: fwiw, we have no Seq in Rakudo and I don't think we miss it. I suspect Pm may have meant for it to vanish in the current model.
09:05 masak o/
09:06 sftp joined #perl6
09:06 * tadzik wonders if he should make a recording of him saying "niecza" and putting it on the net somewhere
09:07 masak tadzik: make a short song, with the word repeated in lots of tones of voice.
09:07 * jlaire dreams of a world where everbody knows ipa
09:07 tadzik „I like playing with Rakudo, but singing with Nieczaaaa”
09:08 masak :P
09:08 moritz +1
09:09 masak tadzik++ is referring to http://www.youtube.com/watch?v=5Ju8Wxmrk3s :)
09:09 DrEeevil tadzik: and maybe let a german try, then it sounds like "nix da" ;) (nothing there)
09:10 tadzik heh
09:10 tadzik great, my laptop battery is now capable of compiling rakudo only once
09:10 tadzik then it's <50%
09:10 * moritz recommends power supply
09:11 tadzik yeah, it's quite remote unfortunately
09:11 apejens it's almost like a battery, just lasting longer
09:11 tadzik it's difficult to carry around too
09:11 moritz tadzik: you should get p2p power from jnthn or masak :-)
09:11 apejens I'll admit the long cable can be annoying :p
09:12 dalek rakudo/macros3: e6f26fc | masak++ | src/Perl6/Actions.pm:
09:12 dalek rakudo/macros3: lookups of undeclared & vars turn into Nil
09:12 dalek rakudo/macros3: review: https://github.com/rakudo/rakudo/commit/e6f26fcdb5
09:12 tadzik :)
09:12 tadzik huh, CORE.setting is going for 15 minutes
09:13 moritz yeah, it's again quite slow :(
09:13 * moritz suspects a regression
09:13 tadzik I must've screwed something up
09:13 moritz or maybe it was some of the phasers
09:13 tadzik I now wonder if I'll manage to compile Rakudo even once :)
09:13 tadzik possibly
09:14 moritz my setting compilation now also takes 9 minutes
09:14 moritz it used to finish in 3..4 after bs
09:14 jnthn Hmm.
09:14 tadzik I'll stop tormenting my laptop then :)
09:14 jnthn Needs profiling, I suspect.
09:15 jnthn Otherwise we're just guessing.
09:15 snearch joined #perl6
09:15 moritz or bisecting
09:16 jnthn True
09:16 moritz which patch fixed the build?
09:17 jnthn 870f800 shoulda done it
09:18 moritz ok
09:24 mj41 joined #perl6
09:28 jnthn Time to try and clear up name handling, it seems...
09:29 moritz 0dbe16a4 (LEAVE/KEEP/UNDO should run in opposite order.) is already slow
09:29 moritz > 9 minutes
09:31 jnthn Maybe try 4e02c2719
09:34 masak here we go.
09:34 dalek rakudo/nom: e29b2f1 | masak++ | / (7 files):
09:34 dalek rakudo/nom: implemented quasi quotes and macros
09:34 dalek rakudo/nom:
09:34 dalek rakudo/nom: This works:
09:34 dalek rakudo/nom:
09:34 dalek rakudo/nom: - Macro declarations
09:34 dalek rakudo/nom: - Calling a macro (using `macro()` and `macro` and operators)
09:34 dalek rakudo/nom: - Quasi quotes
09:34 dalek rakudo/nom: - Variable lookup from within the quasi quote
09:34 dalek rakudo/nom:
09:34 dalek rakudo/nom: This doesn't, yet:
09:34 dalek rakudo/nom:
09:34 dalek rakudo/nom: - Variable lookup from within a macro parameter
09:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e29b2f1866
09:35 sftp_ joined #perl6
09:35 masak let me know if you encounter any issues beyond what's noted not to work above.
09:35 masak note: {{{$a}}} syntax isn't implemented yet. but that's next up.
09:39 jnthn \o/
09:39 jnthn masak++
09:39 moritz masak++
09:39 moritz masak: you have the honor to patch the feature matrix too
09:39 masak moritz: will do.
09:40 * masak gets to it right away
09:40 moritz masak: maybe also add a line for "declarations in quasis" or so
09:40 jnthn masak: Did you add the new test file to spectest.data?
09:40 moritz 5c1b4e6 is also slow
09:40 masak jnthn: I did not. will do that too.
09:41 masak moritz: right. that would correspond to D4.
09:41 masak I'll only bump rakudo's "basic macros" support to yellow, 'cus we don't have D2 yet.
09:42 moritz ok
09:43 jnthn moritz: OK, so that means it's not about LEAVE/KEEP/UNDO.
09:44 dalek rakudo/nom: fdf3306 | masak++ | t/spectest.data:
09:44 dalek rakudo/nom: [t/spectest.data] added S06-macros/macros-d1.t
09:44 dakkar joined #perl6
09:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fdf330622c
09:44 huf joined #perl6
09:49 dalek features: 3e53a06 | masak++ | features.json:
09:49 dalek features: [features.json] twiddled macros desc a bit
09:49 dalek features:
09:49 dalek features: Added a feature, changed the description of another.
09:49 dalek features: Added Rakudo support for basic macros.
09:49 dalek features: review: https://github.com/perl6/features/commit/3e53a06857
09:49 dalek rakudo/nom: 182b2f9 | jonathan++ | src/Perl6/World.pm:
09:49 dalek rakudo/nom: Toss unused methods.
09:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/182b2f9d4e
09:57 tadzik \o/ \o/ \o/
09:57 tadzik \\\\\\\\\\\\
09:57 tadzik oops
10:12 moritz 4e02c271 is slow too
10:12 jnthn moritz: Wow.
10:12 xinming joined #perl6
10:13 jnthn So that means if it's phasers related it's either ENTER or START
10:13 jnthn Or the changes for the infrastructure stuff
10:24 envi_ joined #perl6
10:29 moritz b771b344 is fast
10:30 tadzik my nom compilation is now going for 30 minutes and no end can be seen :)
10:32 * jnthn wonders if a6d75bccbd4 is to blame somehow
10:33 jnthn In the add_phasers_handling_code method
10:34 moritz I'm bisecting now
10:34 moritz the range is pretty narrow
10:35 jnthn yes, down to 3 patches now it seems
10:35 jnthn And one just adds a spectest
10:35 jnthn So only two are interesting
10:36 moritz I just switched to a different machine for bisecting, because my laptop overheats :-)
10:37 moritz (having a computer somewhere in the clou^internet)++
10:37 preflex_ joined #perl6
10:38 moritz git bisect blames 4e02c2719553f7dad4b22f3b763e92a4b7087b57
10:38 moritz let me verify that...
10:39 jnthn 4e02c2719?!
10:40 moritz I'm not convinced yet
10:41 jnthn Me either, looking at that patch
10:42 xinming joined #perl6
11:29 tokuhirom joined #perl6
11:34 foot joined #perl6
11:45 mj41 joined #perl6
11:51 jaldhar joined #perl6
11:54 NamelessTee joined #perl6
11:54 masak sorear: which language did you expect my slides to be in? :)
11:59 moritz fwiw on one machine I couldn't reproduce any rakudo slowdowns
12:00 moritz on the one machine where I have now cleaned out everything, and am recompiling right now
12:11 moritz performance seems to be back after a 'git clean -xdf'
12:11 * tadzik tries
12:11 moritz (git clean -xdf)++
12:12 moritz touch src/core/Mu.pm
12:12 moritz time make
12:12 moritz real    5m10.172s
12:12 moritz (that is, after a clean rebuild)
12:12 jnthn Oddness
12:12 tadzik interesting, what was the leftover that caused it
12:13 * jnthn is struggling to guess
12:16 tadzik yep, confirmed
12:16 tadzik moritz++
12:20 tadzik oh, it does it again after a recompilation it seems
12:22 moritz tadzik: you mean you change something, and the next recompilation is slow?
12:22 tadzik moritz: yes
12:22 tadzik I unstashed my Set changes
12:23 moritz tadzik: does memory usage grow during compilation?
12:23 tadzik it stopped on 16.9% memory usage and kept eating CPU
12:23 moritz oh
12:23 tadzik Usually ends about 25%
12:23 moritz then that's probably an unrelated infinite loop
12:23 tadzik can you reproduce that?
12:23 moritz I don't have your set changes
12:24 tadzik I don't think they're any specific, provided that everyone experienced this slowdown
12:24 tadzik try just declaring 'my class Foobar {}' somewhere maybe
12:24 moritz well, for me it was slow, but still completed
12:24 moritz tadzik: trying that now
12:25 tadzik https://gist.github.com/1992817 this are my changes for Justin Caes
12:28 moritz tadzik: simply add a 'my class Foobar { }' doesn't significantly increase compilation time here
12:29 tadzik hmm
12:29 tadzik could you try the patch I pasted?
12:29 moritz yes, I'll try that next
12:29 tadzik okay
12:29 moritz if it works, we'll know before the end of the talk (if the speaker uses up his time)
12:29 tadzik :)
12:30 bluescreen10 joined #perl6
12:30 jnthn uh-oh...low battery
12:32 moritz tadzik: compilation of that one seems to hang :/
12:33 tadzik yay! I mean, uh
12:33 tadzik I'll try to golf that
12:33 moritz I'm trying now with the class declaration removed
12:33 jnthn Try running setting compilation with --ll-exception too, just in csae.
12:33 moritz ah, I thought of that too
12:34 moritz but didn't take my own thoughts serious :-9
12:36 dalek rakudo/name-cleanup: 2da46c4 | jonathan++ | src/Perl6/World.pm:
12:36 dalek rakudo/name-cleanup: Start to sketch out an attempt at neater name handling.
12:36 dalek rakudo/name-cleanup: review: https://github.com/rakudo/rakudo/commit/2da46c4c31
12:36 dalek rakudo/name-cleanup: 04b9e4e | jonathan++ | src/Perl6/World.pm:
12:36 dalek rakudo/name-cleanup: Add method for turning a longname into the name component.
12:36 dalek rakudo/name-cleanup: review: https://github.com/rakudo/rakudo/commit/04b9e4e856
12:36 dalek rakudo/name-cleanup: 316db7b | jonathan++ | src/Perl6/Grammar.pm:
12:36 dalek rakudo/name-cleanup: Start using the new longname handling in the type-declaration related parts of the grammar.
12:36 dalek rakudo/name-cleanup: review: https://github.com/rakudo/rakudo/commit/316db7bd70
12:36 dalek rakudo/name-cleanup: 50daf80 | jonathan++ | src/Perl6/Actions.pm:
12:36 dalek rakudo/name-cleanup: Update enum and subset actions for using new longname handling.
12:36 dalek rakudo/name-cleanup: review: https://github.com/rakudo/rakudo/commit/50daf80077
12:36 dalek rakudo/name-cleanup: effeb6f | jonathan++ | src/Perl6/World.pm:
12:36 dalek rakudo/name-cleanup: Toss install_package_longname, which we no longer use.
12:36 dalek rakudo/name-cleanup: review: https://github.com/rakudo/rakudo/commit/effeb6f491
12:37 moritz hangs with ll-exception too
12:37 tadzik -my class KeySet is Iterable does Associative {
12:37 tadzik +my class KeyHash is Iterable does Associative {
12:37 tadzik this is enough to trigger it
12:37 * tadzik looks at stubs.pm
12:37 jnthn yeah, there's a stub in there
12:38 tadzik yep
12:38 tadzik and KeyHash is already defined as empty
12:38 jnthn yeah
12:38 moritz oh
12:38 moritz that should be a stub
12:38 jnthn right
12:38 moritz if you then fill it out
12:38 jnthn but the error reporting shouldn't hang either :(
12:38 moritz so there is really a redeclaration error
12:38 jnthn Dunno why that happens.
12:38 tadzik yep
12:38 moritz nom: class A { }; class A { };
12:38 tadzik trying that now
12:38 p6eval rakudo 182b2f: OUTPUT«===SORRY!===␤Redeclaration of symbol A␤at /tmp/HAXUCxuP4Z:1␤»
12:38 tadzik may act funny in the setting
12:39 moritz it shouldn't, but it might :/
12:40 moritz especially since Set.pm is after Exceptions.pm
12:41 tadzik oh
12:41 tadzik ah
12:41 tadzik crap, it hangs anyway
12:42 * tadzik moves to a Place Of Power somewhere
12:49 moritz Method 'of' must be resolved by class KeyHash because it exists in multiple roles (Associative, Associative)
12:49 tadzik yeah, I'm trying a new thing now
12:49 moritz is what I get when compiling it, when making KeyHash a proper it with the proper stub
12:49 tadzik it seems to work, at least it passed the 16.9 step
12:50 tadzik okay, it's now doing .pir -> .pbc
13:01 masak \o/
13:24 masak nom: my $N = 4; .say for (grep { $N / 2 == [+] .comb }, (0 .. 2 ** $N)».fmt("%0{$N}b"))».trans("01", "[]")
13:24 p6eval rakudo 182b2f: OUTPUT«Method 'at_key' not found for invocant of class 'Nil'␤  in method postcircumfix:<{ }> at src/gen/CORE.setting:1183␤  in block <anon> at /tmp/XruNbUbnD4:1␤␤»
13:25 masak hm :/
13:26 masak nom: my $N = 4; .say for ((0 .. 2 ** $N)».fmt("%0{$N}b").grep({ $N / 2 == [+] .comb }))».trans("01", "[]")
13:26 p6eval rakudo 182b2f: OUTPUT«Method 'at_key' not found for invocant of class 'Nil'␤  in method postcircumfix:<{ }> at src/gen/CORE.setting:1183␤  in block <anon> at /tmp/kLv8pmlrpm:1␤␤»
13:30 jnthn masak: Any idea which bit it is that's failing?
13:31 jnthn nom: my $N = 4; .say for ((0 .. 2 ** $N)».fmt("%0{$N}b")
13:31 p6eval rakudo 182b2f: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 2␤»
13:31 jnthn nom: my $N = 4; .say for ((0 .. 2 ** $N)».fmt("%0{$N}b"))
13:31 p6eval rakudo 182b2f: OUTPUT«Method 'at_key' not found for invocant of class 'Nil'␤  in method postcircumfix:<{ }> at src/gen/CORE.setting:1183␤  in block <anon> at /tmp/G9bSyjslC2:1␤␤»
13:31 masak oh!
13:31 masak %0
13:31 jnthn Oh :)
13:31 flussence nom: "%0{a}"
13:31 p6eval rakudo 182b2f: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&a' called (line 1)␤»
13:31 masak my bad :)
13:31 jnthn phew
13:31 masak nom: my $N = 4; .say for ((0 .. 2 ** $N)».fmt("%0\{$N}b").grep({ $N / 2 == [+] .comb }))».trans("01", "[]")
13:31 p6eval rakudo 182b2f: OUTPUT«'{' is not a valid sprintf format␤  in method fmt at src/gen/CORE.setting:1789␤  in method dispatch:<hyper> at src/gen/CORE.setting:824␤  in block <anon> at /tmp/PzLvhKO7j1:1␤␤»
13:31 masak grr :)
13:32 masak nom: my $N = 4; .say for ((0 .. 2 ** $N)».fmt("%0" ~ $N ~ "b").grep({ $N / 2 == [+] .comb }))».trans("01", "[]")
13:32 p6eval rakudo 182b2f: OUTPUT«"01" is not a Pair␤  in method trans at src/gen/CORE.setting:3894␤  in method dispatch:<hyper> at src/gen/CORE.setting:824␤  in block <anon> at /tmp/xxHw_W9vnY:1␤␤»
13:32 masak nom: my $N = 4; .say for ((0 .. 2 ** $N)».fmt("%0" ~ $N ~ "b").grep({ $N / 2 == [+] .comb }))».trans("01" => "[]")
13:32 p6eval rakudo 182b2f: OUTPUT«[[]]␤[][]␤[]][␤][[]␤][][␤]][[␤»
13:33 benabik joined #perl6
13:33 * flussence was about to suggest sprintf inside .fmt there, but realised that's a bit insane
13:34 masak nom: my $N = 4; .say for ((0 .. 2 ** $N)».fmt("%0$N" ~ "b").grep({ $N / 2 == [+] .comb }))».trans("01" => "[]")
13:34 p6eval rakudo 182b2f: OUTPUT«[[]]␤[][]␤[]][␤][[]␤][][␤]][[␤»
13:37 xinming joined #perl6
13:37 flussence nom: say [X~] [<[ ]>] xx [<[ ] [ ]>]
13:37 p6eval rakudo 182b2f: OUTPUT«[[[[ [[[] [[][ [[]] [][[ [][] []][ []]] ][[[ ][[] ][][ ][]] ]][[ ]][] ]]][ ]]]]␤»
13:40 benabik left #perl6
13:40 benabik joined #perl6
13:45 masak nom: my $N = 6; for ^(1 +< $N) { given .fmt("%0$N" ~ "b") { next unless $N / 2 == [+] .comb; next unless all (my $c = 0; map { $c += 1 - 2 * $_; $c >= 0 }, .comb); say .trans("01" => "[]") } }
13:45 p6eval rakudo 182b2f: OUTPUT«[[[]]]␤[[][]]␤[[]][]␤[][[]]␤[][][]␤»
13:48 * [Coke] is able to run the rakudo tests again.
13:50 [Coke] thanks to whoever fixed that.
13:53 kaleem joined #perl6
13:53 masak the one who broke it, I believe.
13:55 [Coke] n: say 7324-6527
13:55 p6eval niecza v15-4-g1f35f89: OUTPUT«797␤»
13:55 [Coke] au++
13:55 masak \o/
13:55 au quite a win :)
13:56 masak ausome.
13:56 [Coke] O_o
13:57 [Coke] I'd say that's worth a gold star.
13:57 [Coke] p: "hey, is this pugs?".say
13:57 tadzik I hope the name Fat Slasher catches :)
13:57 tadzik (the // operator)
13:58 masak moritz: didn't pugs get a "p" alias? :/
13:59 [Coke] P: "caps?"
13:59 Trashlord joined #perl6
13:59 masak g: "not the initial?"
14:00 masak z: "something altogether different?"
14:00 [Coke] pugs: 22/234.Num.Rat.say
14:00 p6eval pugs b927740: OUTPUT«*** No such method in class Int: "&Num"␤    at /tmp/hDmV1veHSl line 1, column 1 - line 2, column 1␤»
14:00 [Coke] evalbot: rebuild pugs
14:00 [Coke] evalbot: rebuild nom
14:00 masak evalbot rebuild pugs
14:00 p6eval OK (started asynchronously)
14:00 dalek Rebuild of pugs complete.
14:01 [Coke] masak++
14:01 [Coke] dalek: liar!
14:01 [Coke] pugs: 22/234.Num.Rat.say
14:01 p6eval pugs b927740: OUTPUT«*** No such method in class Int: "&Num"␤    at /tmp/QHbnS7XKZI line 1, column 1 - line 2, column 1␤»
14:01 [Coke] (plus also that code's wrong, but still, Int hasa .Num now.)
14:03 [Coke] pugs: (22/234).Num.Rat.perl.say # that's better, but will still fail in channel.
14:03 p6eval pugs b927740: OUTPUT«*** No such method in class Rat: "&Num"␤    at /tmp/koV86vULAH line 1, column 1 - line 2, column 1␤»
14:03 [Coke] I am guessing that pugs was not necessarily setup to be rebuilt.
14:04 [Coke] that revision is from Tue Oct 18 12:31:02 2011
14:05 pernatiy joined #perl6
14:07 kaleem joined #perl6
14:08 [Coke] ->
14:08 tokuhir__ joined #perl6
14:18 dalek roast: 289b7be | (Solomon Foster)++ | S05-mass/properties-general.t:
14:18 dalek roast: Fudge out tests which have not yet caught up with the latest Unicode changes.
14:18 dalek roast: review: https://github.com/perl6/roast/commit/289b7be7a5
14:23 dalek rakudo/name-cleanup: 95d31f8 | jonathan++ | src/Perl6/ (3 files):
14:23 dalek rakudo/name-cleanup: Rename for clarity.
14:23 dalek rakudo/name-cleanup: review: https://github.com/rakudo/rakudo/commit/95d31f8d88
14:23 dalek rakudo/name-cleanup: 76fb938 | jonathan++ | src/Perl6/World.pm:
14:23 dalek rakudo/name-cleanup: Start recognizing pseudo-package names and complaining about invalid use of some of them in a package declaration.
14:23 dalek rakudo/name-cleanup: review: https://github.com/rakudo/rakudo/commit/76fb9387af
14:23 dalek rakudo/name-cleanup: c6747d2 | jonathan++ | src/Perl6/ (2 files):
14:23 dalek rakudo/name-cleanup: Eliminate canonical_type_longname.
14:23 dalek rakudo/name-cleanup: review: https://github.com/rakudo/rakudo/commit/c6747d25f0
14:23 skids joined #perl6
14:24 masak nom: sub postfix:<!>($n) { [*] 2..$n }; constant @catalan = gather { my ($i, $d) = 0, 1; loop { take (2 * $i)! / $d; $i++; $d *= $i * ($i + 1) } }; sub bal($l) { return "[]" x $l if $l < 2; for reverse ^$l -> $m { if @catalan[$m+1].rand < @catalan[$m] { return "[&bal($m)]&bal($l-$m-1)" } } }; say bal 4 for ^10
14:24 p6eval rakudo 182b2f: OUTPUT«[[[]]][]␤[[[]][]]␤[[]][][]␤[[]][[]]␤[[]][[]]␤[][[]][]␤[[[]]][]␤[[][]][]␤[[[[]]]]␤[[[[]]]]␤»
14:24 masak a new approach.
14:25 masak this one *might* produce an even distribution -- I haven't it tested it thoroughly yet.
14:25 masak but it doesn't build on the grid at all, it builds on catalan numbers.
14:29 masak the principle is this: for balanced strings with three pairs of parens, there's a 2-in-5 chance that there's a set of parens surrounding the the rest of the string. because there are 2 strings with two pairs, and 5 strings with three pairs.
14:35 benabik joined #perl6
14:39 PacoAir joined #perl6
14:55 key__ joined #perl6
15:10 [Coke] n: say True.Rat
15:10 p6eval niecza v15-4-g1f35f89: OUTPUT«1␤»
15:11 benabik p: say 'hi'
15:11 benabik r: say 'hi'
15:11 p6eval rakudo 182b2f: OUTPUT«hi␤»
15:11 benabik I like the one letter abbrevs.  Will have to remember they exist.  :-D
15:22 skids I think I'll still use "nom" because it's fun to tell an interpreter to "eat this".
15:24 skids Oh, I guess niecza and nom have an "n"-amespace collision
15:25 dbr joined #perl6
15:27 bluescreen10 joined #perl6
15:28 dbr being fully aware that this is a bit off topic, but since i know the perl community best (the pathological helpfulness thing...) and since there is so much knowledge about utf-8 here:
15:29 dbr in the tibetan script, you can have a letter, and this one can have one on top and one on the bottom (and, for that matter, one more to the left, plus two optional ones to the right, not counting the signs to change the vowel...)
15:29 dbr that is to say your 'main letter' can have optional _more_ letters on top and in other places
15:30 dbr now for the ones that are subscripts, unicode has a definition for them
15:31 dbr but it seems it's not possible to render all (commonly used!) graphemes, since i can't find anything for the ones on top of the main letter
15:31 dbr is that possible?
15:31 dbr anybody any ideas?
15:32 TimToady I have two ideas; either the 'MARK' characters are used for that somehow, or maybe you're supposed to do a double subjoin in that case
15:33 TimToady but I know nothing about Tibetan
15:33 dbr hey TimToady!
15:33 dbr there is some hints that i found here
15:33 dbr Encoding of any new ligatures in Unicode will not happen, in part because the set of ligatures is font-dependent, and Unicode is an encoding independent of font variations. The same kind of issue arose for Tibetan script
15:33 dbr sorry forgot the link:
15:33 dbr http://en.wikipedia.org/wiki/Unicode#Indic_scripts
15:33 dbr especially in the second paragraph
15:33 dbr however, i don't know what to do with it really
15:34 dbr TimToady: i see what you mean, but can't find good (more) advice on the two ways you're outlining
15:35 TimToady but they're couting these as "ligatures", then it's probably going to go all contextual in the rendering engine
15:36 dbr yes, these would be ligatures
15:38 dbr so coudl it be the case that unicode is not able to render commonly used graphemes/ligatures in the languages it supports or is it merely a rendering question on my end?
15:38 dbr s/coudl/could/
15:38 TimToady so it looks like you're not going to be able to treat each "cell" as a grapheme, but rely on rendering to construct these super-graphemes
15:39 dbr ah, ok
15:39 dbr that i understand :)
15:39 TimToady I can well understand that the Unicode consortium is between a rock and a hard place
15:40 TimToady logicians always want to detangle form and content, but real people mess them together all the time :)
15:40 dbr apart from tibeto-specificness, unicode can't (won't?) support everything?
15:41 dbr ok, "everything" is debatable, but i'm talking commonly used stuff
15:41 pernatiy joined #perl6
15:41 TimToady yes, there are no strike-through characters from which you could construct strike-through words, for instance
15:41 TimToady there aren't colored letters
15:42 TimToady the whole CJK fiasco arose because some spots seem like font differences while some of the people involved think they're really semantic differences
15:42 dbr hmm...
15:43 TimToady so now the Plane 0 CJK characters can be rendered with any of several Plane 2 characters, depending
15:43 dbr that is, to make striked-through-characters?
15:44 TimToady if Unicode had strike-throughs, I'd use 'em for printing undefined values in Perl 6 :)
15:45 Psyche^ joined #perl6
15:46 dbr haha, i guess you would :)
15:48 au -> a̶f̶k̶ &
15:50 [Coke] characters, depending
15:50 [Coke] ww.
15:50 [Coke] n: say ¾*¾
15:50 p6eval niecza v15-4-g1f35f89: OUTPUT«[31m===[0mSORRY![31m===[0m��Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument at /tmp/QzoOgSx31_ line 1:�------> [32msay[33m�[31m ¾*¾[0m��Confused at /tmp/QzoOgSx31_ line 1:�------> [3…
15:51 [Coke] nom: say ¾*¾
15:51 p6eval rakudo 182b2f: OUTPUT«===SORRY!===␤Confused␤at /tmp/xLc3rpBoOx:1␤»
15:51 [Coke] that seems better.
15:57 dbr what is the equivalent to the \N{} notation in perl6?
15:58 flussence nom: say "\c[INTERROBANG]";
15:58 p6eval rakudo 182b2f: OUTPUT«‽␤»
16:01 dbr ah thanks
16:02 dbr perl6: say "\c[TIBETAN SUBJOINED LETTER KA]\c[TIBETAN LETTER RA]"
16:02 p6eval pugs b927740, rakudo 182b2f, niecza v15-4-g1f35f89: OUTPUT«ྐར␤»
16:03 dbr so the messed-up-ness of the output is a question of rendering on my platform, did i get that right?
16:04 gfldex joined #perl6
16:04 dbr if you size it up by approx 1000% size, you can still find that circle-thingy there, stating that it can take some other letter at that place (i have no idea what that is called)
16:06 alester joined #perl6
16:07 marmalade joined #perl6
16:10 gfldex joined #perl6
16:29 TimToady perl6: say "%\0{a}"
16:29 p6eval rakudo 182b2f: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&a' called (line 1)␤»
16:29 p6eval ..niecza v15-4-g1f35f89: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Undeclared routine:â�¤      'a' used at line 1â�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1362 (die @ 3) â�¤  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 33) â�¤  at /home/p6…
16:29 p6eval ..pugs b927740: OUTPUT«*** No such subroutine: "&a"␤    at /tmp/Iyoz8elxx7 line 1, column 10-11␤»
16:29 TimToady perl6: say "%0$(a)"
16:29 p6eval rakudo 182b2f: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&a' called (line 1)␤»
16:29 p6eval ..niecza v15-4-g1f35f89: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Undeclared routine:â�¤      'a' used at line 1â�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1362 (die @ 3) â�¤  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 33) â�¤  at /home/p6…
16:29 p6eval ..pugs b927740: OUTPUT«%0$(a)␤»
16:29 TimToady two workarounds to avoid ~
16:32 att joined #perl6
16:33 kaare_ joined #perl6
16:58 Psyche^ joined #perl6
17:04 bynari joined #perl6
17:04 PerlJam bynari: you even have multiple implementations of Perl 6 to choose from.
17:05 * bynari nods
17:05 bynari It's a big vast scary unknown world venturing outside perl 5 to 6 just now
17:05 bynari It seems there's SO much information and SO many ways to do things just now
17:06 bynari Where would be the best place to start to get the big picture clear in my head?
17:06 PerlJam bynari: we like to call that "fun" rather than "scary" ... but to each their own  :)
17:06 bynari Heh
17:06 bynari It only becomes fun once you get to grips
17:06 PerlJam bynari: perl6.org has all sorts of resources
17:07 bynari How much are things subject to change? Is something I write now likely to be obsolete in a year?
17:07 PerlJam bynari: depends on the specifics of what you write.  Most of the language has stabilized that it isn't going to change much, but there are still a few things in flux
17:08 bynari Would I be crazy for writing production stuff in Perl 6? I own my own company, so it would be my decision
17:08 felher Hm, if 'CATCH' makes 'try {' redudant, one doesn't need that level of extra indention in subs anymore (as opposed to, say, java), if the sub has to handle exceptions. And to emphasize error-handling, one could even put the 'CATCH' at the top of the sub. Am i right about that or did i misunderstand something?
17:08 PerlJam bynari: If you don't currently have any time constraints (i.e., your programs must run fast-ish) then I don't think you'd be too crazy for using Perl 6
17:09 bynari What do you mean by fast-ish. Development time or performance?
17:09 PerlJam felher: sounds about right to me.
17:09 PerlJam bynari: performance
17:09 Trashlord joined #perl6
17:09 bynari Oh. Perl 6 performance is currently not up to Perl 5's just now?
17:09 felher PerlJam: great :) That is so cute :)
17:10 PerlJam bynari: I don't have any benchmarks handy ... maybe you could make some?  :)
17:10 benabik felher: try {...} is noted as being similar to eval {...} in P5.  It's a declaration that the default is to ignore errors from the block.
17:10 sorear good * #perl6
17:10 * bynari nods
17:11 benabik If I read it right, S04 says `try { ... }` is the same as `{ ... CATCH { } }`
17:11 benabik Hm.  Perhaps that actually needs something to mark $! handled in the CATCH.
17:11 * benabik shrugs.
17:12 felher benabik: I see, thanks :)
17:12 PerlJam bynari: The two main implementations of Perl 6 (Rakudo and Niecza) aren't "fast" but they aren't "slow" either.  And both have room for optimizations.
17:12 colomon sorear: o/
17:12 TimToady benabik: try {...} is the same as { ... CATCH { default {} } }
17:12 benabik Something more like `{ ... CATCH { default { } } }`, reading a little further.
17:12 bynari I'll definitely dive in. It sounds like it could be fun
17:13 benabik TimToady: Hah, yes.
17:16 PerlJam bynari: See http://perlgeek.de/en/article/5-to-6 and https://github.com/perl6/book/downloads
17:16 sorear right now, fun is all there is
17:16 thou joined #perl6
17:16 benabik -Ofun
17:16 PerlJam bynari: those might be good starts on the language
17:16 sorear #phasers in 14.  I seem to have made the only report.
17:16 MayDaniel joined #perl6
17:17 bynari Thanks, PerlJam
17:17 TimToady bynari: you can also compare Perl 5 to Perl 6 examples in rosettacode.org
17:17 * bynari nods
17:17 NamelessTee joined #perl6
17:18 PerlJam rosettacode++
17:20 bynari How many people are working on Perl 6 full time roughly?
17:20 dalek perl6.org: 7436854 | benabik++ | source/fun/index.html:
17:20 dalek perl6.org: Update ParrotQuotes link to the new Parrot wiki
17:20 dalek perl6.org:
17:20 dalek perl6.org: Rather than directing people to the old trac instance with its expired
17:20 dalek perl6.org: certificate, just point them to github.
17:20 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/74368542de
17:21 bynari Has it gone slowly because most people are busy with their full time jobs etc?
17:21 PerlJam bynari: It's gone slowly because language design is hard.
17:21 bynari Excuse my ignorance, I'm just curious
17:22 PerlJam bynari: (and people have other things in their lives like jobs and family and such)
17:22 * bynari nods
17:23 PerlJam bynari: there's been an inter-play between the design of the language and the implementations of the language such that one informs the other and vice versa
17:23 _ilbot joined #perl6
17:23 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: http://irc.perl6.org/ | UTF-8 is our friend!
17:23 bynari Hm, I see
17:23 PerlJam bynari: TimToady says "Perl 6 will do such and such" and the implementors say "I tried to implement such and such, but I ran into these problems"   and so forth
17:24 PerlJam (gross oversimplification btw :)
17:24 bynari Yeah
17:24 bynari What would help fix the problem?
17:24 PerlJam um ... what problem?
17:25 benabik PerlJam++
17:25 bynari The problem of inter-play between design and implementation
17:25 PerlJam bynari: that's not a problem, that's an advantage.
17:25 bynari Oh.
17:26 TimToady we're trying to do something here that *nobody* is smart enough to do
17:26 PerlJam but hopefully, we're collectively smart enough to muddle through
17:26 bynari I see, yes
17:27 bynari Has no one thought about getting more commercial sponsorship to speed things up?
17:27 bynari So more developers can work full time
17:27 moritz thought about: yes
17:27 moritz done much about it: no
17:28 PerlJam bynari: I don't think that would help as much as people think anyway
17:28 moritz well
17:28 bynari Money is time and time helps
17:28 moritz I'd like to work fulltime on p6
17:28 moritz thing is, most people in here enjoy hacking much more than talking to business folks
17:28 PerlJam bynari: sponsorship can help with the implementation side of the equation but not the "figure out the ramifications of the language design and make it all work well together" side
17:28 moritz and they are also much better at hacking
17:29 bynari Yeah, that's the thing. There's obviously not any business people involved in the project
17:29 moritz so that's what they do
17:29 bynari Just hackers and visionaries :)
17:29 benabik I'm applying to PhD programs and I periodically wonder how I can fool a committee into thinking that hacking P6 is a reasonable thesis.
17:29 tadzik :)
17:29 bynari PerlJam: Sure, but the main thing is it just pumps more time into the project
17:29 moritz if somebody did make those business contracts and brought some more money, I'd be very happy
17:30 bynari More people who can work full time on it and give it their full energy without having to re-focus on another job
17:30 PerlJam benabik: If computer scientists can still be studying sorting after all these decades, I think there's bound to be some way to turn Perl 6 into a PhD
17:30 bynari And that leads to figuring out the ramifications of the language design
17:31 bynari What would rock is getting a major company behind perl 6. In a similar way as Google are behind python
17:31 benabik Woo!  I didn't break the website.
17:31 PerlJam moritz: I got a phone call from Jamaica earlier today that said I'd won $850,000 and would I be home to receive my prize package.  If it actually turns out to be real, I'll pay you to work on Perl 6 for a year or so.  :-)
17:32 bynari Hehehe
17:33 fglock joined #perl6
17:33 isBEKaml joined #perl6
17:34 moritz PerlJam: deal :-)
17:35 bynari I see a bit of a paradox with Perl 6. For most of the general programming community it's still too out there, and although quite a few see it as being an improvement on Ruby and Python, in its current state they won't start using it, but will go for something more comfortable like Python or Ruby. Until more people start doing more things with it and more companies start taking an interest it's
17:35 bynari not going to accelerate
17:36 bynari The reason I'm interested is because I can make the decisions for my own company and I find it quite exciting, but most people aren't like that
17:36 PerlJam bynari: what is it that your company does exactly?
17:36 bynari The original Perl's advanced so rapidly because they got so much mainstream attention
17:36 bynari Marketing
17:36 bynari I do various things. I want to eventually start building useful web 2.0 companies though
17:37 fglock o/
17:37 bynari Once I have a few million and I can sit and try out new stuff. Just now it's just more practical, but less interesting things
17:37 PerlJam bynari: so ... you could market Perl 6 to people ?   :)
17:37 bynari Sure
17:37 moritz that would be awesome
17:37 bynari Perl 6 has 0 marketing right now. It's only attractive to the hackers who see it for what it is
17:37 PerlJam that would be tres awesome
17:38 fglock can I have some perl5 help, I'm implementing a perl5 parser and I'm trying to understand how this works:
17:38 fglock perl -e ' use strict; BEGIN { *CORE::GLOBAL::print = sub { die "here" } }; print "123\n"; '  # 123
17:38 bynari Hackers don't like marketing though. I'm in a unique position of being a hacker and a marketer, so I know things most would hate
17:38 fglock perl -e ' use strict; BEGIN { *CORE::GLOBAL::time = sub { die "here" } }; print time . "\n"; '  # here at -e line 1
17:38 bynari For instance, I wouldn't call it Perl 6 :)
17:39 bynari 'Ruby' is a great marketing name. People are captivated by the name and the red
17:39 PerlJam bynari: Well it's already called Perl 6, so you'd just have to emphasize or de-emphasize the appropriate things.
17:39 isBEKaml that's the first thing any marketer says. First, undo everything. :)
17:39 bynari Before you even look at the language, just hearing the word 'Ruby' and thinking of shiny things and red you have a higher opinion of it
17:40 moritz bynari: would you be more inclined to market Rakudo?
17:40 moritz you could mention that it implements Perl 6 too :-)
17:40 bynari Well
17:40 isBEKaml bynari: btw, it's too late to change the name now. It's just the language, per se.
17:40 bynari What you guys have to remember is the mass programming market is MUCH dumber than you are
17:40 fglock (I'll try #p5p)
17:40 bynari They're not much different than regular consumers
17:41 bynari They like easy, shiny things
17:41 bynari Marketing Rakudo is too 'advanced'
17:41 bynari You need to look at more general concepts to market and come up with a unique selling point. Something to get into people's mind
17:41 PerlJam So ... we should make a Perl 6 implementation called "Shiny Perl" and market that?
17:41 bynari Python has the whole. "Google are behind us" - "We're easy to learn" - "Even school kids can learn it"
17:42 bynari Haha. I actually like that, PerlJam
17:42 bynari You wouldn't have to change the name. It would still be Perl 6. It would just be an alias
17:42 isBEKaml bynari: No, I tend to think python got the mileage it got was because it had "batteries" - so to say.
17:42 bynari What do you mean by 'batteries', isBEKaml?
17:42 isBEKaml bynari: so, any newbie wouldn't have to look too far just to get to "real world" stuff.
17:43 PerlJam bynari: python's motto was "batteries included"
17:43 bynari Ah ok
17:43 PerlJam bynari: i.e. it came with everything you needed to do useful work
17:43 bynari Yes
17:43 isBEKaml bynari: what PerlJam++ said
17:43 moritz and rakudo star tries to do the same
17:43 moritz but most of the batteries need to be charged first
17:43 PerlJam heh
17:43 TimToady one can market distributions like Rakudo Star; look at RedHat, Ubuntu, etc
17:44 isBEKaml moritz: that's a way to say it.. ;)
17:44 * bynari reads more about rakudo
17:44 PerlJam Having a "real world" project or two that uses Perl 6 would help greatly I think.
17:44 TimToady though rakudo star is still back at the slackware stage :)
17:45 isBEKaml .oO(slackware - I look at my distro, slackware)
17:45 bynari Where does the word 'rakudo' come from?
17:45 PerlJam bynari: Rakuda do -- way of the camel  (or something like that.  I'm sure TimToady could tell you better)
17:45 isBEKaml bynari: I think it's in the logo. A gate or pathway. Though TimToady++ can say more about that.
17:46 bynari See this is the problem. It's too smart. Most people won't get that
17:46 bynari Or remember the word 'rakudo'
17:46 gfldex joined #perl6
17:46 PerlJam bynari: also, I think Rakudo actually means "paradise"
17:46 bynari You guys approach things from a very very intellectual point of view, which is great, but for marketing to the dumbed down masses it doesn't work
17:46 TimToady and ubuntu is better how? :)
17:46 bynari The word 'star' is great
17:46 benabik Someone with access to rakudo.org might want to update the /about page to mention something about the meaning of the name and so forth.
17:47 bynari Not every successful technical project has *everything* right from a marketing point of view :)
17:47 bynari 'redhat' is great
17:47 TimToady for english speakers, but we're aiming higher
17:47 bynari You can't forget that. You just picture a red hat
17:47 isBEKaml TimToady: Hey, I'm not an English speaker! :P
17:48 bynari Literally everything is perception. Most Python programmers don't know WHY they prefer python over ruby or perl
17:48 PerlJam isBEKaml: me either ... I'm American  ;)
17:48 * TimToady finds it ironic that ruby is named after a jewel *because* perl was named after a jewel
17:48 PerlJam bynari: yes they do ... it's "cleaner"  (less symbology)
17:48 bynari The same with everything in life. Very few can give you intellectual, logical reasons why they prefer something
17:49 PerlJam bynari: Have you read "Crossing the Chasm"?
17:49 bynari I've not, no
17:50 TimToady it should probably be required reading for someone who wants to do what you want to do
17:50 isBEKaml PerlJam: I know - what you said gave it out! ;)
17:50 bynari It looks interesting
17:50 bynari TimToady: Well. The type of web 2.0 projects I'm wanting to create aren't technical. Social applications etc
17:51 PerlJam TimToady: or maybe it's one of those thing where if you name what you're doing, it impedes your ability to do it.
17:51 bynari Technical behind the scenes, but not to the users
17:51 jferrero joined #perl6
17:51 isBEKaml bynari: I think you're missing the point of what you say "intellectualism". What you call intellectualism is just another way of raising the bar for general programming. Look at Haskell. :)
17:52 TimToady we do understand most of these principles of marketing, but don't want to apply them too aggressively before the Wave is ready to carry us
17:52 TimToady we're already accused of overpromising and underdelivering
17:52 bynari isBEKaml: You can't force the masses to become something they currently are not
17:52 isBEKaml bynari: "Technical behind the scenes but not to users" - that's what perl5 was about.
17:52 bynari isBEKaml: I'm talking about things like facebook :)
17:53 isBEKaml bynari: Persuasion, not coercion. :)
17:53 TimToady so we're looking for a natural growth path toward marketing, not forcing it
17:53 bynari Yes
17:54 bynari Rakudo Star is a good first step at going more mainstream, despite the 'Rakudo' part ;)
17:54 isBEKaml bynari: when your marketing is strong, then it's persuasive. It persuades people to try out your product and stays in their mind space for a purportedly 'longer' time than an ordinary product. You're not coercing or forcing them in any way.
17:55 bynari isBEKaml: Yes, but you can't persuade everyone to do everything. You have to approach the market with the right tools
17:55 TimToady currently our marketing is still primarily to "early adopters" (c.f. Crossing the Chasm)
17:56 isBEKaml bynari: Yes, that's why we have many products, varying degrees of quality and service.
17:56 TimToady I've been doing as much marketing over the last two years as I have been design, but that marketing to early adopters is mostly on rosettacode.org
17:56 bynari If the material doesn't connect with the market in the first place you can't persuade them
17:56 TimToady "the market" is a gross oversimplification
17:57 bynari For instance, trying to sell a raw food diet to a 300lbs obsese guy that's been living off complete crap for the rest of his life and barely gets off his chair won't work
17:57 mikemol TimToady: I might have to quote you on that.
17:57 bynari Yet the raw food diet WILL change his life, but it's too far "out his zone of reailty"
17:57 bynari reality
17:57 doy bynari: does this mean that raw food diets have no use?
17:57 PerlJam bynari: That's kind of why haskell isn't as "popular" as some other languages.
17:58 bynari doy: They have a use, but not for the masses
17:58 isBEKaml bynari: you're either oversimplifying too many things or you got broken analogies.
17:58 bynari isBEKaml: I make over $1k/day marketing using what I'm talking about
17:58 bynari I know my stuff :)
17:58 TimToady our goal is not making $1k/day
17:59 bynari I've been surrounded by marketing for the past 4 years. I live and breath it every day
17:59 mikemol bynari: Then you know a big part of marketing is knowing your audience. Something tells me you're missing the audience for Perl 6.
17:59 bynari No, but the point is I know why people buy/use something
17:59 bynari mikemol: I definitely know the audience
18:00 PerlJam mikemol: plus we want to grow our audience (just like Perl 5 did)
18:00 bynari The vast majority of you guys are extremely intelligent and can't understand how most people think
18:00 bynari Even most average programmers
18:01 bynari Things that to you, are 2nd nature, common sense, to others are like nuclear physics
18:01 bynari Things that are exciting for you, are scary for others
18:01 isBEKaml bynari: perl5 didn't aim at smart folks. It made folks smarter.
18:01 bynari It's not the Perl community that's your market. It's the whole interpreted programming community
18:01 PerlJam bynari: You're making me itch to write some tutorial-like material again
18:01 isBEKaml perl6 aims to do that and more.
18:02 bynari Yes, but you can't make folks smarter by approaching the problem from a high level point of view
18:02 bynari You come in at their level and walk them up the path
18:02 PerlJam bynari: aye.  You're preaching to the chior I  think on this one. :)
18:02 bynari Going back to the obese thing. THe best way to improve your life health wise is a mostly raw plant based diet and lots of high intensity exercise
18:02 bynari You can't in a million years go after obese people with that solution
18:02 bynari You need to ease them in, make small changes until you start changing their thinking
18:02 bynari PerlJam: :)
18:03 PerlJam bynari: Perl 6 still allows for "baby talk" as well as "PhD dissertation".  We tend to want to start people with baby talk though
18:03 bynari Yes
18:03 bynari It's just lacking that shiny packaging right now
18:03 PerlJam (though, in #perl6, it's mostly PhD talk  :)
18:03 bynari Yeah, of course :)
18:04 bynari Does Perl 6 have a motto btw?
18:04 not_gerd joined #perl6
18:04 mikemol bynari: There's not a whole lot I've seen in Perl 6 that Perl, Python or Ruby programmers wouldn't be comfortable with, honestly. The biggest resistences I've seen are: 1) "it's perl, isn't it? *shudder*" and 2) "I'll use it when it's ready, by which I mean I'll use it when it's stable".
18:04 PerlJam bynari: You mean something separate from Perl 5?
18:04 PerlJam bynari: Perl 6 is still Perl, so that normal Perl mottos still apply
18:05 bynari mikemol: You misunderstand me. I'm not saying any functionality of Perl 6 needs to be changed. I'm talking 100% about the shiny box
18:05 isBEKaml mikemol: there's another that I have seen on reddit and HN. It's got too many symbols, though many get over them after some explanation.
18:05 benabik isBEKaml: That's somewhat "It's perl"
18:06 bynari One of the fundamental things in marketing is you CANNOT change the perception a consumer has in their mind once their mind is made up
18:06 PerlJam yeah, people are afraid of punctuation for some reason
18:06 bynari MIcrosoft for instance. Let's say they made the BEST linux in the world.
18:06 bynari What would you think of it?
18:06 isBEKaml benabik: Ah, I somehow missed it - I was thinking more of backward compatibility thinking. :)
18:06 mikemol bynari: I'd use it.
18:06 PerlJam bynari: 2 words: oxy. moron.  ;)
18:06 bynari Exactly, PerlJam
18:06 mikemol bynari: But then I'm a Linux user at home, and a C++-on-Windows dev at work. :)
18:07 bynari We would probably try it out because we're more open minded, but for most once their mind is made up that's it
18:07 bynari Companies who establish themselves as X in the consumers mind should never go on to create something totally different Y that contradicts X, no matter how good Y is
18:07 bynari So what I'm saying is
18:07 bynari Unfortunately perl has gotten a terrible reputation in the minds of the newer generation of programmers. Heck most people still think Perl's OO is bad, when really Moose has the most advanced OO out there
18:07 benabik No computer company could ever convince people that they make the best mobile phone.  >.>  <.<
18:07 mikemol bynari: If you want to talk about a shiny box, what Perl 6 really needs is a very visible demonstration of its efficacy.
18:08 bynari So when you say 'perl 6', people see 'perl'
18:09 mikemol bynari: That's the biggest thing I've seen people ask for when they ask if it's ready. They want to see someone else dive in before they do.
18:09 bynari Yes
18:09 isBEKaml bynari: there. I was waiting for it. So, here we come a full circle. :)
18:09 mikemol I mean, I got excited about Perl 6 when there was a Linux Journal or Linux Magazine article about it almost a decade ago, because the syntax was so much nicer than in Perl 5, what I was using at the time.
18:09 bynari Yeah
18:10 isBEKaml bynari: though, there's one thing you missed about programmer audience. They don't see languages in a black and white sort of way you put it (ignoring fanatics and language lawyers). I generally found them to be very open minded about new languages.
18:11 bynari Much more so than the general masses, but still very far from the people you'll find in here
18:11 benabik Most good programmers learn a new programming language on a regular basis.  Most bad ones use whatever their boss tells them to.  ;-)
18:11 bynari If you guys were at 100 and the fat needy masses who want to lose weight fast and get rich were at 0, the mass programming market would be at 30-40
18:12 bynari There's very very few programmers who learn new languages, benabik
18:12 bynari In your world there is, but in the wider programming world the latter you described is the norm
18:12 PerlJam It "feels" to me like we're on the cusp of some important event in the Perl 6 universe.  But I haven't kept a record of how often my gut is right or wrong to know how much weight to put behind the feeling  :)
18:12 bynari I don't know much about Perl 6, but my gut tells me it's something special
18:14 benabik bynari: I think the publishers of books on learning programming languages would argue with you.
18:14 bynari They are entitled to their opinion
18:14 GlitchMr joined #perl6
18:14 bynari I will point out that both groups in your example will buy new books
18:15 bynari Buying a book isn't an indication of any particular motive
18:15 benabik I don't think people spend money on a book teaching a new language on the theory that they're going to use it to hold up a rickety table.  Or at least they don't buy it new.
18:16 bynari Ahahaha :)
18:16 bynari They'll buy a new book because they have to learn something new for work
18:16 isBEKaml bynari: you can say that because the numbers of those who pick up new programming languages routinely, are not talked about very much. So, it's a black picture here for you.
18:17 bynari There's 10's of thousands of people who love learning new languages and do it for fun, but there's millions who learn because they need to do it for their job to put food on the table
18:18 benabik It's going to be a while before people have to learn Perl 6 for their job.  So our market is those people who learn it "for fun".  (Or to keep their skills sharp, or to pad their resume, or whatever.)
18:18 isBEKaml Well, none of us here are arguing your other points. They are well taken. What I'm against is, dumbing down stuff and thereby insulting their intelligence.
18:18 bynari As long as that remains your market though, you won't see substantial growth and you won't get into the mainstream
18:19 benabik isBEKaml++
18:19 bynari isBEKaml: You perceive it as dumbing down and insulting their intelligence. Most see it as helpful
18:19 PerlJam isBEKaml: Haskell doesn't "dumb down" anything and as a result, it's seen as an elitist academic language.
18:19 PerlJam :-)
18:19 bynari I'm extremely smart, but I love it when someone dumbs something down for me. Why not?
18:19 bynari Ego is pointless
18:19 Chillance joined #perl6
18:19 bynari If I can learn something faster then all the better
18:20 benabik There's a difference between presenting a tutorial and "Rakudo is too complicated a name for you to remember"
18:20 bynari Regular people love it when things are dumbed down for them too becuase they just want to learn and enjoy life
18:20 isBEKaml PerlJam: Exactly. But again,they are extremely helpful and *really* enjoy looking at your "Ah-ha" faces, don't they? :)
18:20 benabik Teaching != dumbing down
18:20 bynari The only people who get offended by dumbing down are generally people who like to pretend they're very smart
18:20 bynari It's just semantics
18:20 bynari dumbing down is just making something more digestable
18:21 bynari Why make something more difficult than it has to be
18:21 bynari Even the greatest scientists tried to make things as easy as possible for themselves to understand
18:21 not_gerd Terry Pratchett calls this lies-to-children: you need to start with a simplified version and build up from there
18:21 bynari What matters is learning and productivity, not how you learned something
18:21 PerlJam not_gerd++
18:22 sorear "Python is easier to remember than Rakudo" is a hilariously anglocentric statement
18:22 not_gerd (also known as Wittgenstein's ladder, btw;))
18:23 sorear I suspect that for 1/4 of the people on Earth 楽土 is more memorable than 'python'...
18:24 sorear and for the rest they're both strings in an incomprehensible language
18:24 PerlJam sorear: memorable?  I'd remember it as "some sequence of symbols I can't easily reproduce"  :)
18:24 sorear imagine you speak Hindi and "rakudo", "niecza", "python" are all just meaningless strings of characters
18:24 isBEKaml sorear: anglocentric? I'm not getting the reference?
18:24 ksi joined #perl6
18:24 isBEKaml Ah
18:24 benabik isBEKaml: Focused on people who speak English.
18:25 sorear isBEKaml: anglo-, from England/English
18:25 isBEKaml sorear: yes, I got that part. I was wondering more about what "python" and "rakudo" has to do with anything here. FWIW, python's an english word too.
18:26 benabik isBEKaml: Rakudo isn't.  It's based in Japanese.  Which we're being told is bad.
18:26 isBEKaml nvm, I later saw what you referred to.
18:26 Tene Also, the majority of "dumbed down" documentation seems to cater to specific learning styles, and really doesn't work for me.  I really hate documentation that goes on and on about metaphors and goes as slowly as possible, repeating everything a dozen times...
18:27 sorear ==Tene
18:27 Tene It obviously works very well for many people, but not for me.
18:27 sorear It's not that I'm a "genius", I'm just impatient
18:27 bynari IMO the best marketing plan would be to keep the name "perl 6" in the background, focus on "rakido star", or even better change it to "something star" then from there create a new unique selling point, something along the lines of "the language that allows you to express your creativity naturally", then from there create a couple of marketing-oriented learning resource sites that actively get
18:27 bynari people learning not just perl 6, but programming. Also approaching schools, colleges and other learning instutions and pushing perl 6 there
18:27 bynari Even creating tools FOR schools written in perl 6 that allow students to engage in more hands on learning
18:27 bynari In the mainstream marketing campaign I wouldn't use the word 'perl' anywhere either
18:28 sorear you seem to think we *want* a good marketing plan.
18:28 bynari sorear: If you don't, then no problem
18:28 doy the other aspect to this is that perl 6 is still changing rapidly enough that getting lots and lots of outside people interested in it who aren't early adopters could well be very harmful to its image
18:28 flussence .oO( oh great, I've come back to one of *these* threads again... )
18:28 sorear I for one am a disciple of the original Haskell motto, Avoid success at all costs
18:28 PerlJam sorear: yuck.  (I say that as a person who likes haskell)
18:29 doy marketing is not always an unqualified good, depending on what you are marketing
18:29 * benabik would prefer more people working on implementation than more people trying to use the language.
18:29 isBEKaml sorear++ # What TimToady++ too said earlier. The only thing we need to prove to the world is to *do* Perl6.
18:30 bynari Marketing its self is 100% neutral
18:30 Tene When I first started learning Haskell, I tried to read through Learn You A Haskell after hearing about so many people liking it, and it was painful and awkward for me.
18:31 bynari If everyone was a logical machine we wouldn't need it, but people work the way they work and if you want to do good for people then you need to play the game of marketing
18:31 Tene I think that has a lot more to do with learning style than it does with "intelligence" of the documentation.
18:31 isBEKaml Tene: I felt the same way. Then I switched to RWH for a more straightforward discussion (Even then, the initial chapters felt awkward)
18:31 Tene I learned far more from reading the haskell 2010 report
18:32 Tene "Here is syntax.  Here is semantics.  Next section."
18:32 Tene RWH was okay for me, but not great.
18:32 sorear good to hear they FINALLY finished the revision effort
18:32 flussence I think I get why people say PHP has a good documentation website
18:33 sorear I read the '98 report in '07 or so, and I beleived that the "2010 report" would be unfinished forever
18:33 flussence it's pretty dense with actual information, to the point where you can start doing stuff without a tutorial
18:33 Tene I hate PHP's documentation, but I always hear about people loving it.  Same with mysql, I hear about people loving the documentation, but I hate trying to find anything in it.
18:33 isBEKaml Tene: I had those irritating moments when they kept going like "We know what you're thinking... and imperative language discussion ensues.."
18:35 flussence Tene: I tried using the dev.mysql site recently, I know exactly what you're talking about :)
18:35 sorear I also learned a lot from SPJ's _Implementation of Functional Programming Languages_
18:35 isBEKaml those were about the only times I found myself skipping pages.
18:35 flussence front page: "BUY THIS!!1", search results: "here's a billion duplicate results for point releases, none of which are the thing you want"
18:37 flussence the nicest thing about php's docs is that if you know the name of what you're looking for, it's at php.net/$name
18:38 flussence (and if you don't, you can usually find it soon-ish by stumbling around blindly :)
18:39 Tene The big difference to me is between conversational vs structured; with conversational documentation, the actual information is scattered and mixed.  Compare the table at the top of http://www.postgresql.org/docs/8.1/static/transaction-iso.html to the conversational text in http://dev.mysql.com/doc/refman/5.0/en/set-transaction.html
18:39 Tene Talking with others, though, I know several people who greatly prefer conversational to structured.
18:39 flussence Tene++ # there's a name for those? :D
18:40 sorear I think the Perl 6 documentation would benefit from an organization where the semantic model is clearly set out in one place
18:40 benabik I tend to call it tutorial and reference documentation.
18:40 Tene flussence: those are the names I use; I've seen others.
18:40 bynari Conversational is great. Good teaching material shouldn't just give people technical details, it should show them new ways of thinking. Take them on a journey to open up their mind
18:41 PerlJam bynari: but only if it tells a good story
18:41 PerlJam conversational but dry rarely works
18:41 Tene Conversational has its place, but if it's the *only* thing present, I'm going to hate using your docs.  Even if it were nice the first time through, it would still be a pain for later reference use.
18:42 Tene I don't want to read a story to look up language semantics.
18:42 isBEKaml Tene++ # Exactly!
18:42 Tene Some people do, though.
18:43 bynari Yep
18:44 PerlJam I don't think anyone wants to read a story to lookup language semantics.  That's how they want to be introduced to the language or to learn new features, but once they've gotten there, they want a nicely indexed reference where they could lookup "methods" or "objects" and find the right bit of knowledge they are looking for
18:45 Tene PerlJam: I know a few people I've talked about this at length with who claim they do prefer conversational discussions for reference material, and claim they have trouble with structured reference style.
18:45 not_gerd there's no one-size fits all solution
18:45 not_gerd personally, I'm most comfortable with 3 types of docs: basic tutorials/code examples, big picture language overview, specification-style reference docs
18:46 PerlJam Tene: I can only imagine that working when it's a story they are quite familiar with.  "Objects?  Ah, that's on page 35 right after the example using farm animals"
18:48 PerlJam Are there any publications that regularly feature perl-related content?
18:48 PerlJam like the Perl Journal used to do
18:49 PerlJam or merlyn's column in Web Techniques
18:49 TimToady well, not very regular, but http://theperlreview.com/
18:50 not_gerd is there a best-practice workaround for the lack of <commit> in rakudo grammars?
18:50 TimToady looks like it may have gotten tired last year
18:50 TimToady throw an exception?
18:50 PerlJam It seems to me part of Perl's image problem is that all of the regular writers have gotten burnt out or moved on to other things.
18:51 PerlJam 37signals and RoR got popular mainly because DHH and Jason Fried went to every conf. they could and talked about themselves and what they were doing.
18:52 PerlJam There's not enough of us "talking about perl" to a wider-than-the-echo-chamber audience
18:52 fglock joined #perl6
18:52 TimToady at the moment the Perl 5 community is outside the Perl 6 echo chamber, so we're marketing Perl 6 at Perl 5 conferences :)
18:53 bynari The wider perl5 guys are also part of that general programming group
18:53 TimToady I think a killer app would be a refactoring PHP-to-Perl6 translator
18:53 bynari It's a lot of the perl5 guys that went to ruby/python
18:53 ggoebel joined #perl6
18:54 bynari as well as ruby/python picking up php programmers and new-comers
18:54 bynari I was trying to advice a friend of mine to learn Perl, but he INSISTED that Python was the way forward and he'd been advised Python by his friend. This was an MIT post-grad nuclear physicist too
18:54 bynari And his friend who advised him was a harvard grad physicist
18:54 isBEKaml I think this has already been talked about - RoR was mostly the reason for Ruby's popularity. There's some "loud noise" coming from haskell circles mainly due to Yesod
18:54 PerlJam TimToady: I think a killer app would be using Perl for something outside of the programming community  :-)  (bioperl maybe?)
18:55 TimToady and Perl 6 has picked some folks back up from all those communities too; they'll end up evangelizing their original communities
18:55 PerlJam if we can make the implementations useful enough
18:55 bynari Most people don't even know Perl 6 exists
18:56 not_gerd nom: "foo" ~~ / \d+ || { die } /; CATCH { $_.perl.say }
18:56 p6eval rakudo 182b2f: OUTPUT«X::AdHoc.new(payload => "")␤Method 'match' not found for invocant of class 'Any'␤»
18:56 not_gerd I'd like to get more information than that...
18:56 * sorear leaes.
18:58 TimToady not_gerd: then consider supplying more information
18:59 isBEKaml n: die $!.say
18:59 p6eval niecza v15-4-g1f35f89: OUTPUT«Any()␤Unhandled exception: True␤  at /home/p6eval/niecza/lib/CORE.setting line 1362 (die @ 3) ␤  at /tmp/6o8pAreCBJ line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3838 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3839 (m…
18:59 isBEKaml b: die $!.say;
18:59 p6eval b 1b7dd1: OUTPUT«Any()␤Bool::True␤  in main program body at line 22:/tmp/iEChAoVMpa␤»
18:59 TimToady why are you trying to die with a boolean?
19:00 ggoebel bynari: imho the goal of marketing for perl6 shouldn't be about bringing in companies and code monkeys... but about attracting talent and cross-polination between lessons learned from different languages and implementations
19:01 bynari The 2 aren't mutually exclusive
19:01 bynari You can't bring in talent without the capitalist machine
19:01 [Coke] +# 03/07/2012 - rakudo++ ; niecza (96.02%); pugs (34.64%)
19:01 [Coke] +"niecza",     20306,     1,   757,  1540, 22604, 23759
19:01 [Coke] +"pugs"  ,      7325,     0,  2854,   868, 11047, 23568
19:01 [Coke] +"rakudo",     21146,    31,   626,  1888, 23691, 24026
19:01 ggoebel perl6's selling points are the fertile ground, the pleasant community, and relative absence of ax grinding
19:01 bynari A lot of talent goes for Python because of Google
19:01 PerlJam ggoebel: I think we've got far too much "lessons learned" from other languages.  That's not our weakness :)
19:02 ggoebel and the slow steady march of progress
19:02 bynari Python has a pleasant community. YOu can't take the USP of another brand
19:02 PerlJam ggoebel: slow and steady isn't sexy though.
19:03 ggoebel slow and steady is sexy to corporate types in the long run...
19:03 bynari Definitely not, ggoebel
19:03 bynari Corporations are very much quarter-to-quarter
19:03 [Coke] n: say 8000/21146
19:03 ggoebel backward compatibility without vendor lock-in is sexy
19:03 p6eval niecza v15-4-g1f35f89: OUTPUT«0.37832214130331976␤»
19:03 isBEKaml bynari: tell that to Java shops.
19:04 [Coke] usp?
19:04 bynari Companies use Java because of the abudance of Java programmers
19:04 isBEKaml Unique Selling Point.
19:04 bynari That's also a quarter to quarter tactic
19:04 bynari Rather than picking the best language and training up staff for the long-game, they'll take what they can now for quick results
19:04 ggoebel success breeds success and perception is reality
19:04 PerlJam "friendly community" is hardly unique to python.
19:05 bynari People perceive Python to be friendly, which means they have the monopoly on that one
19:05 TimToady non sequitur
19:06 bynari The same way people perceive microsoft to be user friendly. If another software companies comes along and tries to say they're just as user friendly people won't buy it. When it comes to user friendliness they'll go with MS
19:06 ggoebel bynari: what in your opinion is the potential big draw for perl6?
19:06 bynari If another company wanted to topple MS in an area they'd need something fresh to get into prospect's minds
19:06 timotimo i thought macs are "user friendly"?
19:06 ggoebel timotimo: ditto
19:06 timotimo or are macs just "easy"?
19:06 TimToady it's really easy to oversimplify
19:06 bynari ggoebel: Off the top of my head I would focus on creative expression and ease of use
19:07 bynari something that allows any programmer of any skill level the creative expression to create what they imagine
19:07 * PerlJam jots down a few more ideas for Perl 6 articles
19:07 bynari It's a fresh angle that python/ruby haven't gone after
19:08 bynari The other things are secondaries. Like when you pick up something and it says "Contains strawberries", and you think cool.. I love strawberries. Then it also says "No added sugar" and you think "ooh lovely! sold"
19:08 bynari You don't advertise the "no added sugar", you advertise the "contains strawberries", but the other bits seal the deal once the prospect picks up the box as it were
19:08 ggoebel bynari: how to do you sell that idea in a way that plays to the low, middle, and hi brow programmers and corporate pointy haired bosses without coming off as a pompous jerk to one group or jargon bingo idiots to the others?
19:09 TimToady ggoebel: you have different channels
19:09 bynari Well. You don't try to sell to everyone at the same time. You can't really do that
19:09 bynari The market isn't the pointy haired bosses. Once enough people start using Perl 6 and creating cool stuff, more jobs become available, more people learn the language, more money is pumped into it
19:10 bynari The goal isn't to have every company use it. We don't want to compete with Java
19:10 bynari We want to compete with Python and Ruby
19:10 TimToady I want to compete with Java and PHP and Haskell
19:10 bynari Toppling java is a whole other strategy
19:10 ggoebel TimToady: I was waiting for someone to say that...
19:11 bynari Java is top of the commercial world. There's way more Java jobs than Python, but Python is huge because of Google
19:11 * tadzik hopes Go gets huge because of Google
19:11 TimToady but most of that doesn't leak out of the Googleplex
19:11 tadzik I quite like Go, and I was never quite fond of Python
19:11 araujo write an application that takes advantage of perl6 features , fast, easy to deploy, and extend ....
19:11 ggoebel bynari: what is the LHF for marketing perl6? something that can be done successfully, recognized as success, and built upon?
19:11 araujo that would be a start
19:12 NamelessTee joined #perl6
19:12 bynari A couple of sites aimed at the mainstream needs to be created
19:12 ggoebel araujo: is there a perl6 implementation that iyho is ready for that?
19:13 araujo ggoebel, rakudo seems nice already ....
19:13 bynari Sites that start to become well known and become talked about
19:13 PerlJam ggoebel: I think Rakudo and Niecza both could fit that bill if you're willing to be a little lax on "easy to deploy"
19:13 bynari No perl6 dev talk on them, or news about the compilers, or language features etc. Just fun stuff you can do with Perl 6
19:13 araujo ggoebel, for a start, and small production code ... it seems good
19:14 bynari And on that site you'd have a list of companies who are using Perl 6 for production
19:14 araujo also note that, at this stage, developing a perl6 application, would also take you into perl6 development ... which can be a good thing :)
19:14 * [Coke] ponders a yapc::na talk : "fun stuff you can do with Perl 6"
19:14 bynari That's something that has to be built up. No one will do it because no one else is doing it
19:14 flussence TimToady: if you want to appeal to PHP users, you have to learn to think like one. That way lies madness... :)
19:14 bynari Someone has to take the jump
19:14 PerlJam [Coke]: you know, I just jotted that down as an idea to expand upon myself  :)
19:14 ggoebel a new site often becomes and old unmaintained one... which is a problem for perl
19:15 bynari And as I've said before, the name 'perl' has to be released for real success
19:15 tadzik [Coke]: I had an idea for a talk like Real World Perl 6
19:15 bynari I don't think you guys understand quite how important that is or the effect it would have
19:15 ggoebel the advent calendars have served that role... fun cool perl6 stuff
19:15 tadzik as in Actually Building Useful Stuff
19:15 bynari If you hit the market with a fresh new name, no ties to the current perl perception
19:15 tadzik I met a few people here on GPW who were like "as soon as Perl 6 is capable of XXX I can use it"
19:16 bynari People perceive Perl 5 as being sloppy, old, write-only and even Perl 6 has a reputation now for not living up to promises
19:16 tadzik where XXX was things like "A web framework with database access"
19:16 tadzik which should be quite achievable right now
19:16 bynari A name is just a name. What matters is the SOUL of the project
19:16 [Coke] PerlJam: you going to yapc::na?
19:16 PerlJam [Coke]: probably not.
19:16 PerlJam :-(
19:17 skids bynari: that is indeed one of the things I like the most about Perl (5 and 6).  There's a learning curve there if you want it, and the hill goes very high (all the way to meta programming now) but you can also have a lot of fun just cruising around at the same altitude.
19:17 bynari skids: Yep
19:17 bynari It's definitely easier to be more productive in Perl as a newbie than python or ruby
19:17 bynari But no one knows this
19:17 bynari They just have this perception that Perl is messy and hard
19:18 TimToady so a web 2.0 site for six-year-old programmer wannabes
19:18 bynari I think you should rename the project Zerl
19:18 PerlJam [Coke]: since my dad died, I'm probably going to spend the next 6 months to a year helping my mom straighten out his things (there's just *so* much stuff that people leave behind)
19:18 ggoebel I've got some 9-10 year old programmer wannabes
19:18 bynari Z = Very cool
19:18 ggoebel make it a web 2.0 game that you can extend in perl6 and you'll hook the next gen
19:18 PerlJam bynari: Z as a meta-op is very very cool
19:19 * bynari nods
19:19 [Coke] hugme: hugh PerlJam
19:19 hugme [Coke]:
19:19 [Coke] hugme: hug PerlJam
19:19 * hugme hugs PerlJam
19:19 [Coke] #hugh jackman?
19:19 TimToady six-year-olds won't care what the PHBs think of Perl currently; they'll think it's cool
19:19 PerlJam my @foo = @a Z+ @b;  # that makes me a little giddy every time I see it  :)
19:19 TimToady and six-year-olds will remember that pearls are cool
19:20 araujo Well, you can write messy hard-to-read code in any language, I think this is more a matter of programming practice and "programming aesthetic"
19:20 ggoebel TimToady teach them to play with perl6?
19:20 bynari araujo: You're preaching to the choire :)
19:20 ggoebel sounds similar to something a wise man once said about fishing
19:21 PerlJam teach a man to fish and he'll sit in your boat and drink all of your beer?
19:22 ggoebel There's alice, squeak, etc. that mix art, programming, and play
19:22 TimToady and haven't taken over the world either
19:22 araujo bynari, I do think about that ... and I think programming is going that way too .... look at today's languages ... we have declarative programming taking more strength through different projects, and many languages are focusing as much in aesthetic as in any other aspects that probably were the main focus before, like optimization, speed, and so on
19:23 araujo For example, Go ... many of its decisions design are based on "aesthetic"
19:23 TimToady indeed, and "blech" :)
19:24 araujo :)
19:24 TimToady I think many of Go's design decisions are based on "anaesthetic"  :P
19:24 bynari The mind solves problems through beauty
19:24 TimToady "I no longer feel how much it hurts to pretend to be a computer"
19:25 bynari When something, like a problem can be perceived in a more beautiful way we can often see solutions that we wouldn't otherwise have seen
19:25 araujo The code is usually very readable .. at least I think so .... and not hard to get into system programming with it
19:25 ggoebel People tend to have fond memories of their first programming languages no matter how disfunctional they were...
19:25 [Coke] moritz: wow, autounfudge is so much nicer on pugs. ;)
19:25 ggoebel perl6 for 6 year olds sounds like a very nice goal
19:25 TimToady gee, maybe we should come up with a mascot that 6-year-olds will like...
19:26 ggoebel :-)
19:26 [Coke] I wonder if it will continue to be fast as it catches up feature wise.
19:26 ggoebel got to go pick up my 5-year-old
19:26 TimToady well, this is where the spiral approach to design will help us understand how the design prevents good optimization
19:27 TimToady where we have to force the programmer to think like a computer to get good performance, and where we don't
19:28 TimToady there is a set of problems for which Perl 6 is already "good enough", but every time we make it twice as fast, the applicability goes up by the square of that, or some such
19:29 TimToady I've already written an editor in Perl 6, but it runs a lot smoother on niecza simply because it's faster
19:30 mj41 joined #perl6
19:30 birdwindupbird joined #perl6
19:40 felher regarding S04-control.pod:1057: `If [something] or [otherthing] ([explanation for otherthing]).` <-- are we missing a "then foo happens" here? Otherwise it seems that i just don't get that sentence.
19:42 not_gerd left #perl6
19:43 PerlJam felher: no, that seems to be an incomplete sentence.
19:48 felher PerlJam: k :)
19:49 [Coke] pugs: say 3.Rat
19:49 p6eval pugs b927740: OUTPUT«*** No such method in class Int: "&Rat"␤    at /tmp/4nIf6f470W line 1, column 5 - line 2, column 1␤»
19:49 [Coke] moritz: can you get pugs to rebuild?
19:50 moritz [Coke]: I'll try
19:56 felher Another thing 'bout exceptions (S04-control.pod:1050): why do we set @! of the outer caller to all handled exceptions, if there weren't any unhandled exceptions?
19:58 preflex_ joined #perl6
20:01 krakan joined #perl6
20:05 moritz [Coke]: yes, pugs rebuild worked
20:31 TimToady great, we all get to revalidate our ssh keys on github...
20:32 cotto joined #perl6
20:45 birdwindupbird joined #perl6
20:49 [Coke] pugs: say 3.Rat
20:49 p6eval pugs b927740: OUTPUT«*** No such method in class Int: "&Rat"␤    at /tmp/hxg3hX_zza line 1, column 5 - line 2, column 1␤»
20:49 [Coke] moritz: I meant p7eval pugs.
20:49 [Coke] er, p6eval pugs.
21:09 skids Hrm, interesting appeal from DuQu dissectors just posted to /. to try to identify what compiled the main body of the virus.
21:10 skids erm, malware, whatever
21:12 pernatiy joined #perl6
21:13 colomon moritz: this seems to be where my 64-bit Windows build is failing: building parrot in --gen-parrot, I guess: https://gist.github.com/1996282
21:13 colomon does that mean anything to anybody here, or do I need to wander over to #parrot?
21:15 sporous joined #perl6
21:15 att joined #perl6
21:16 moritz colomon: no idea
21:17 tadzik phenny: ask jnthn how hard would it be to make S14-roles/attributes.t run on rakudo?
21:17 phenny tadzik: I'll pass that on when jnthn is around.
21:19 pmurias_ joined #perl6
21:20 pmurias sorear: hi
21:22 pmurias sorear: do you think p5/niecza interop would make a good gsoc project?
21:39 Trashlord joined #perl6
22:07 felher moritz: fwiw: i think i found a typo in an old blogpost (http://perlgeek.de/en/article/mutable-grammar-for-perl-6): "we're ambitious and what to allow". That "what" may have wanted to be a "want". :)
22:07 felher moritz: nice post btw :)
22:08 Trashlord joined #perl6
22:10 benabik joined #perl6
22:32 mj41 TimToady: @homakov ... postereous, speakerdeck, scribd, github - and I only have started testing. ... https://github.com/rails/rails/issues/5228#issuecomment-4286254
22:34 havenn joined #perl6
22:36 felher after getting lost in moritz++ blog posts, /me decides to go to bed. good night, folks.
22:37 tadzik 'night
22:58 envi_ joined #perl6
22:58 thou joined #perl6
23:14 mattp_ joined #perl6
23:30 skids joined #perl6
23:57 tokuhirom joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo