Camelia, the Perl 6 bug

IRC log for #perl6, 2013-02-06

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs

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

All times shown according to UTC.

Time Nick Message
00:00 jnthn timotimo: it's sometimes like that too :D
00:00 jnthn OK, I guess I should rest. Even though getting up in time to get to $client today was pointless 'cus the subway had epic delays...
00:02 * moritz would love to go to bed, but $daughter keeps him awake
00:21 fgomez joined #perl6
00:22 japhb I would sing Ronja a lullaby, but I doubt she'd hear it.  :-)
00:23 moritz if it were that easy... :-)
00:23 swarley Am I the only one that wants to make a perl6 parser that isn't in perl6 just to be insane? ;)
00:24 japhb I found Dire Straights remarkably effective with my eldest daughter.  Somehow Mark Knopfler can just chill a kid right out.
00:24 viewview joined #perl6
00:25 moritz heh, Dire Straits work fine for me :-)
00:25 japhb Wow, I saw something wrong with my spelling, but my brain was in such a different space, I couldn't figure out what it was.
00:25 moritz but the problem right now is that Ronja slept for a few hours this afternoon, and now can't sleep at night. No amount of music can change that
00:26 japhb Oh, that one sucks.
00:26 moritz and she's recovering from a bronchitis, so we were reluctant to wake her
00:27 moritz tried twice without success, and then gave up
00:27 moritz turns out to be a mistake, as I kinda expected
00:27 moritz by the way, I've seen Mark Knopfler live in concert. Really awesome!
00:28 japhb OK, I'm officially jealous.
00:28 moritz it was an open air concert, but with a sound quality comparable to studio CDs
00:30 swarley So, how can p6 extend its grammar?
00:31 japhb I thought we covered this ...?
00:31 swarley No I know that it is possible now, but not by what means
00:32 swarley A reference to the standard that covers it would be sufficient
00:32 moritz by defining types, constants, custom operators and macros
00:32 moritz S02 and S06
00:33 swarley k
00:33 thundergnat left #perl6
00:34 swarley If I'm going to be crazy, I may as well do it properly
00:35 japhb swarley: Start by spending a few hours in a Dali exhibit.  Then once your brain is in the right shape ...
00:36 swarley \\\\\o//////
00:47 PZt joined #perl6
00:54 arlinius joined #perl6
01:07 hypolin joined #perl6
01:09 * timotimo digs around in old tickets
01:13 TimToady timotimo: moreinput was always just kind of a placeholder for a feature
01:13 TimToady I would be astounded if it actually worked without a bit of redesign
01:22 timotimo i'd like to try to implement tr///, but i can't find the implementation of s/// to compare in the grammar
01:26 TimToady those are tribble and sibble in STD
01:26 TimToady there's a bit different because tr doesn't have the s[foo] = 'bar' form
01:26 TimToady *they're
01:28 timotimo tribble and sibble? >_<
01:29 timotimo that's crazy talk!
01:30 timotimo and nibble has nothing to do wih sibble and tribble?
01:32 TimToady tribble has to nibble twice, once for each side
01:32 * mst reads scrollback and wibbles
01:32 timotimo why does STD babble?
01:33 timotimo or rather: what does babble do?
01:33 diakopter b/c it's a brooken
01:33 mst because cupid's disease causes brain damage eventually
01:33 timotimo >_<
01:34 TimToady babble parsed any adverbs and looks for the delimiters
01:34 timotimo babble does some kind of matching terminator finding?
01:35 TimToady *parses
01:36 TimToady it doesn't actually look for the terminator, it only determines what the terminator is supposed to be
01:36 TimToady in between you have to parse some other language, with that terminator mixed in
01:36 colomon joined #perl6
01:37 timotimo oh, ok
01:37 TimToady quibble is used by normal choose-your-own-quote constructs like rx// and m//
01:37 timotimo that's why tribble quibbles with "$lang2"
01:37 TimToady and qq// and q//
01:38 timotimo and if the delimiters are the same, like in //, it apparently uses $lang2.unbalanced($stop), that's the part where it mixes in that terminator, yes?
01:38 TimToady nodnod
01:38 TimToady balanced would be q[] and such
01:38 timotimo interestingly in rakudo the grammar part of the implementation of s/// is much much shorter
01:39 timotimo probably most of i's implemented in the quote proto
01:39 timotimo oh, actually there's a huge sibble method above it that i just now saw
01:42 timotimo hm, i haven't seen this before, why does it say ">>" in this line? https://github.com/rakudo/rakudo/b​lob/nom/src/Perl6/Grammar.pm#L2751
01:43 timotimo ah, i's just a word boundary
01:47 timotimo here's me, again biting off more than i can chew. eventually my jaw will be super flexible
01:49 timotimo maybe i should have looked into the specs for tr/ firs to see if it even allows any regular kind of regex
01:52 timotimo std: "FooBar" ~~ tr/A..Z/a..z/;
01:52 p6eval std 7551b8f: OUTPUT«ok 00:00 42m␤»
01:52 timotimo std: "FooBar" ~~ tr/.*/a..z/;
01:52 p6eval std 7551b8f: OUTPUT«ok 00:00 42m␤»
02:01 TimToady that would translate . to a and * to b
02:01 TimToady so yes, the tr language has nothing to do with regex
02:02 TimToady it's closer to character classes
02:04 Vlavv joined #perl6
02:04 diakopter std: tr///
02:04 p6eval std 7551b8f: OUTPUT«ok 00:00 41m␤»
02:06 flussence joined #perl6
02:06 TimToady std: s///
02:06 p6eval std 7551b8f: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Null pattern not allowed at /tmp/X_aaXPcvUY line 1:â�¤------> [32ms/[33mâ��[31m//[0mâ�¤    expecting any of:â�¤  statement endâ�¤  statement listâ�¤Parse failedâ�¤FAILED 00:00 41mâ�¤Â»
02:06 TimToady that shows the difference right there
02:07 timotimo now to try to understand how that comes to be in STD
02:14 flussence joined #perl6
02:16 sqirrel_ joined #perl6
02:31 anuby joined #perl6
02:34 hugme joined #perl6
02:34 diakopter std: say "foo" ~~ tr//tr//tr//tr//tr//tr//tr//tr/
02:34 p6eval std 7551b8f: OUTPUT«ok 00:00 43m␤»
02:35 timotimo haha, what? :
02:35 timotimo :)
02:41 timotimo i think rather than grabbing at things randomly i should ask some of the experts what they consider managable tasks
02:42 diakopter what kind of tasks
02:42 diakopter to contribute to what?
02:43 timotimo i would like to contribute to rakudo
02:46 diakopter how good are you with optimizers?
02:46 diakopter expert? eager to learn?
02:56 diakopter Pho &
02:57 timotimo diakopter: i've recently done some baby steps with QAST, but other than that i'm very inexperienced
03:05 jdv79 joined #perl6
03:06 anuby_ joined #perl6
03:09 dayangkun joined #perl6
03:42 hulu joined #perl6
03:42 hulu helo
03:42 hulu masak: helo
03:43 hulu au: helo
03:43 colomon \o
03:45 hulu sub accum ($n is copy) { sub { $n += $^x } }
04:04 preflex_ joined #perl6
05:02 preflex_ joined #perl6
05:09 Targen joined #perl6
05:10 baest joined #perl6
05:15 SamuraiJack joined #perl6
05:17 xinming_ joined #perl6
06:06 dayangkun joined #perl6
06:10 robinsmidsrod joined #perl6
06:29 kaleem joined #perl6
06:46 diakopter r: $()
06:46 p6eval rakudo 0dda4c: OUTPUT«No such method 'ast' for invocant of type 'Any'␤  in block  at /tmp/TdbB9mgQOP:1␤␤»
06:47 arnsholt 'lo
06:47 phenny arnsholt: 05 Feb 23:20Z <jnthn> tell arnsholt I'll look at it once I'm home tomorrow, or maybe on Thursday when I don't have to care about anything other than Perl 6 stuff :0
06:47 diakopter masak: istr you submitting this one ^^ but I'm not certain
07:00 * jnthn yawns
07:01 jnthn Last day of $assignment here...tomorrow will be free for Perl 6 things. :)
07:10 diakopter hi
07:13 jnthn o/
07:13 * jnthn packs stuff
07:13 jnthn OK, time to go play with the subway... :) &
07:46 jasonmay joined #perl6
07:55 FROGGS joined #perl6
07:56 FROGGS morning
07:57 sorear o/
08:02 FROGGS nr: my $x = "abcdef"; say "abc" ~~ / $( $x.substr( 0, 3) ) /
08:02 p6eval rakudo 0dda4c: OUTPUT«「abc」␤␤»
08:02 p6eval ..niecza v24-18-gaf64300: OUTPUT«#<match from(0) to(3) text(abc) pos([].list) named({}.hash)>␤»
08:02 am0c joined #perl6
08:02 FROGGS nr: my $x = "abcdef"; say "abc" ~~ / $( $x.substr( 1, 3) ) /
08:02 p6eval niecza v24-18-gaf64300: OUTPUT«Match()␤»
08:02 p6eval ..rakudo 0dda4c: OUTPUT«#<failed match>␤»
08:02 FROGGS nr: my $x = "abcdef"; say "abc" ~~ / $( $x.substr( 1, 2) ) /
08:02 p6eval niecza v24-18-gaf64300: OUTPUT«#<match from(1) to(3) text(bc) pos([].list) named({}.hash)>␤»
08:02 p6eval ..rakudo 0dda4c: OUTPUT«「bc」␤␤»
08:05 FROGGS \o/
08:13 fgomez joined #perl6
08:14 FROGGS sorear: are there plans to output matches in niecza like rakudo does it?
08:14 FROGGS so that the match object stringifies to 「bc」
08:16 sorear FROGGS: I'm not personally going to do it, but I wouldn't object to a patch.  do you have a commit bit yet?
08:17 FROGGS sorear: not yet
08:17 sorear would you use one?  if so what's your github id
08:17 FROGGS will supply the patch in exchange for the bit :o)
08:17 FROGGS FROGGS
08:18 sorear done
08:27 FROGGS thanks
08:29 domidumont joined #perl6
08:30 domidumont joined #perl6
08:32 brrt joined #perl6
08:33 fgomez joined #perl6
08:40 jtpalmer_ joined #perl6
08:40 am0c joined #perl6
08:51 daxim joined #perl6
09:03 fhelmberger joined #perl6
09:16 GlitchMr- https://twitter.com/GlitchMr
09:16 GlitchMr- Just testing
09:19 GlitchMr- Perhaps if I would make it half transparent...
09:20 GlitchMr- Doesn't look good
09:32 dakkar joined #perl6
09:34 kivutar joined #perl6
09:40 SamuraiJack_ joined #perl6
09:44 SamuraiJack__ joined #perl6
09:46 masak good forenoon, #perl6
09:48 moritz \o masak
09:48 Psyche^ joined #perl6
09:58 masak I got a teeny tiny bit of the way yesterday with p6cc2012/t1. will continue this evening.
09:58 moritz \o/
10:03 hulu how to install rakudo on ubuntu 12.04
10:04 brrt sudo apt-get install rakudo-star afaik hulu :-)
10:04 brrt or: git clone git://github.com/perl6/rakudo.git; cd rakudo; ./configure —gen-nqp —gen-parrot; make; sudo make install
10:05 hulu brrt: apt-get will install out of date,and git will error
10:05 brrt how serious is the out-of-dateness for you?
10:06 brrt and what is the error with git
10:06 hoelzro I should really get moving on that rakudo star packaging thing
10:07 hoelzro what's stopping me at the moment is that Arch has a rakudo package (which is up to date), and I'd rather not install another Rakudo just to install the star modules
10:07 hoelzro or maybe I should just make the packages conflict?
10:08 SamuraiJack joined #perl6
10:09 moritz https://gist.github.com/ano​nymous/db9465c84b37e631ddd3 # required attributes
10:09 moritz masak: you might like that ^^
10:17 masak oooooooooh
10:17 masak now give me one good argument for not making that part of the spec and the implementations.
10:19 masak r: multi trait_mod:<is>(Attribute:D $attr, :$required!) { $attr.set_build: sub ($invocant, $) { die "Attribute { $attr.name } required while constructing object of class {$invocant.^name}!" } }; class A { has $.x is requires }; A.new
10:19 p6eval rakudo 0dda4c: OUTPUT«[31m===[0mSORRY![31m===[0m�Cannot call 'trait_mod:<is>'; none of these signatures match:�:(Mu:U $child, Mu:U $parent)�:(Attribute:D $attr, :rw(:$rw)!)�:(Attribute:D $attr, :readonly(:$readonly)!)�:(Attribute:D $attr, :box_target(:$box_target)!)�:(Routine:D $r, …
10:19 masak :/
10:19 masak uh.
10:19 masak r: multi trait_mod:<is>(Attribute:D $attr, :$required!) { $attr.set_build: sub ($invocant, $) { die "Attribute { $attr.name } required while constructing object of class {$invocant.^name}!" } }; class A { has $.x is required }; A.new
10:19 p6eval rakudo 0dda4c: OUTPUT«Attribute $!x required while constructing object of class A!␤  in sub  at /tmp/s8_iS7TJ3O:1␤  in block  at src/gen/CORE.setting:797␤  in method BUILDALL at src/gen/CORE.setting:752␤  in method bless at src/gen/CORE.setting:742␤  in method new at src/gen/CORE.settin…
10:19 SamuraiJack_ joined #perl6
10:19 masak r: multi trait_mod:<is>(Attribute:D $attr, :$required!) { $attr.set_build: sub ($invocant, $) { die "Attribute { $attr.name } required while constructing object of class {$invocant.^name}!" } }; class A { has $.x is required }; class B is A {}; B.new
10:19 p6eval rakudo 0dda4c: OUTPUT«Attribute $!x required while constructing object of class B!␤  in sub  at /tmp/dWVyg8Qodw:1␤  in block  at src/gen/CORE.setting:797␤  in method BUILDALL at src/gen/CORE.setting:752␤  in method bless at src/gen/CORE.setting:742␤  in method new at src/gen/CORE.settin…
10:20 masak moritz: not sure whether the "object of class B" there is a feature or a bug... :)
10:20 masak the attribute is still required becuase of class A.
10:20 moritz yes, but you're creating an object of class B :-)
10:21 Himanshu_ joined #perl6
10:21 moritz I wonder if an attribute contains a reference back to the class it's attached to
10:21 moritz ah, .type
10:22 moritz no, that's the type constraint of the attribute
10:22 masak Suggestion: "Attribute $!x (of class A) required while constructing object of class B" :)
10:23 masak with the parentheses only showing if A !== B
10:23 hulu r: my $line = "1 2 3";my @words = $line.split(' ');for 0 .. ^ @words -> $a { say $a;} what does '0 .. ^ @words' mean?
10:23 p6eval rakudo 0dda4c: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Two terms in a rowâ�¤at /tmp/K0vfcxFuUJ:1â�¤------> [32m' ');for 0 .. ^ @words -> $a { say $a;} [33mâ��[31mwhat does '0 .. ^ @words' mean?[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix or meta-infixâ�¤        infix stopperâ�¤      â€¦
10:23 hulu r: my $line = "1 2 3";my @words = $line.split(' ');for 0 .. ^ @words -> $a { say $a;}
10:23 p6eval rakudo 0dda4c: OUTPUT«0␤1␤2␤3␤»
10:23 hulu what does '0 .. ^ @words' mean?
10:23 masak hulu: you should write it as ..^ , not .. ^
10:24 masak it's one single operator: ..^
10:24 moritz ..^ is a range that excludes its endpoint
10:24 masak right, so 1..^4 is 1, 2, 3
10:24 moritz though I prefer to write  0 ..^ @words  as @words.keys
10:24 masak that's clearer, yes.
10:24 masak I think I tend to write it as ^@words often as not.
10:25 masak but I agree @works.keys conveys it better.
10:25 hulu masak: .. ^  can run
10:25 masak hulu: yes, but it doesn't mean anything sensible.
10:25 masak hulu: we try to dissuade people from writing code that is obviously wrong, even if it runs.
10:26 moritz well, that's interpreted as  0 ... (^@words)
10:26 moritz and ^@words numifies its argument
10:26 moritz so it becomes 0 .. ( 0 ..^ @words.elems )
10:27 moritz and the outer range numifies its endpoint again
10:27 moritz so we have 0 .. @words.elems in the end
10:27 moritz which you could have written as   0 .. @words  if you really meant it, but you probably didn't
10:28 masak right.
10:29 hulu thx
10:29 masak it's as if someone came in and asked "what does 'if $a == 1 { fn(1) } elsif $a == 2 { fn(2) } elsif $a == 3 { fn(3) } elsif $a == 4 { fn(4) } elsif $a == 5 { fn(5) }' mean?" :)
10:30 masak it'd be almost criminal of us not to suggest that they just write it as 'fn($a)'
10:30 masak at the very least, we could be considered accomplices to the crime...
10:35 rindolf joined #perl6
10:35 rindolf Hi all.
10:35 masak greetings rindolf.
10:35 hulu masak: 0 .. ^ @words 中 ^ @words 为什么被数字化
10:36 rindolf masak: hi.
10:36 rindolf masak: what's up?
10:36 hulu masak: 是自动的么?
10:36 masak rindolf: I... I don't know. :/
10:37 masak hulu: it tends to numify things, yes.
10:37 rindolf masak: OK, then what are you doing now?
10:37 rindolf masak: did you watch the Superbowl?
10:37 masak rindolf: heh. :)
10:37 masak rindolf: no, that's a thing on TV, right?
10:37 rindolf I don't even know who was against who and who won.
10:37 rindolf masak: yes, a big American celebration.
10:37 masak hulu: so @words will be treated as +@words
10:38 masak rindolf: from what I gather of it, it's a celebration of quality advertisement.
10:38 rindolf masak: the final football match of their American football league.
10:38 diakopter the Raven Baltimores defeated the 49ers San Franciscos
10:38 masak rindolf: that's good. we need more quality advertisement.
10:38 rindolf masak: yes, that's what I understood too.
10:38 rindolf masak: heh, yes.
10:38 masak hulu: you can also do 'a'..'c' -- then things don't numify.
10:38 masak hulu: but if the left side is a number, the right side will tend to want to numify.
10:38 masak rn: .say for 'a' .. 5
10:38 p6eval rakudo 0dda4c, niecza v24-18-gaf64300:  ( no output )
10:39 masak rn: .say for 5 .. 'a'
10:39 p6eval niecza v24-18-gaf64300: OUTPUT«Unhandled exception: Cannot parse number: a␤  at /home/p6eval/niecza/lib/CORE.setting line 1435 (die @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3539 (ANON @ 10) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3541 (NumSyntax.str2num @ 5) ␤  at /h…
10:39 p6eval ..rakudo 0dda4c: OUTPUT«Cannot call 'Real'; none of these signatures match:␤:(Mu:U \v: Mu *%_)␤␤  in method Real at src/gen/CORE.setting:872␤  in method Real at src/gen/CORE.setting:2391␤  in method new at src/gen/CORE.setting:5255␤  in sub infix:<..> at src/gen/CORE.setting:5436␤  in blo…
10:39 rindolf masak: I enjoyed the IBM commercial about (GNU/)Linux as a child who gets taught.
10:39 hulu masak : + @words 相当与  @words.elems
10:39 rindolf masak: that was a while back.
10:40 masak hulu: 对
10:41 xinming joined #perl6
10:46 dalek roast: 82f5bc3 | moritz++ | S05-metasyntax/litvar.t:
10:46 dalek roast: unfudge some now-passing tests for rakudo
10:46 dalek roast: review: https://github.com/perl6/roast/commit/82f5bc305d
10:46 hulu r: sub infix:<lf> ($a,$b) { next unless try $a.substr(*-1,1) eq $b.substr(0,1); "$a $b"; } multi dethunk(Callable $x) { try take $x() } multi dethunk(     Any $x) {     take $x   } sub amb (*@c) { gather @c».&dethunk } say first *, do amb(<the that a>, { die 'oops'}) Xlf amb('frog',{'elephant'},'thing') Xlf amb(<walked treaded grows>)      Xlf amb { die 'poison dart' }, {'slowly'}, {'quickly'}, { die 'fire' };
10:46 p6eval rakudo 0dda4c: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Two terms in a rowâ�¤at /tmp/tdztv3tpKL:1â�¤------> [32mtr(*-1,1) eq $b.substr(0,1); "$a $b"; } [33mâ��[31mmulti dethunk(Callable $x) { try take $x[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix or meta-infixâ�¤        infix stopp…
10:47 moritz hulu: when you remove a newline after a }, you need to add a ; instead
10:48 hulu moritz: thx
10:48 hulu r: sub infix:<lf> ($a,$b) { next unless try $a.substr(*-1,1) eq $b.substr(0,1); "$a $b"; } multi dethunk(Callable $x) { try take $x() }; multi dethunk(     Any $x) {     take $x   }; sub amb (*@c) { gather @c».&dethunk }; say first *, do amb(<the that a>, { die 'oops'}) Xlf amb('frog',{'elephant'},'thing') Xlf amb(<walked treaded grows>)      Xlf amb { die 'poison dart' }, {'slowly'}, {'quickly'}, { die 'fire' };
10:48 p6eval rakudo 0dda4c: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Two terms in a rowâ�¤at /tmp/UG7D3jOfng:1â�¤------> [32mtr(*-1,1) eq $b.substr(0,1); "$a $b"; } [33mâ��[31mmulti dethunk(Callable $x) { try take $x[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix or meta-infixâ�¤        infix stopp…
10:48 hulu moritz: still wrong
10:49 moritz hulu: and it even tells you where it's still wrong
10:50 moritz where the error message inserts a ⏏, that's where the semicolon is missing
10:52 hulu r: sub infix:<lf> ($a,$b) {     next unless try $a.substr(*-1,1) eq $b.substr(0,1);     "$a $b"; };   multi dethunk(Callable $x) { try take $x() } multi dethunk(     Any $x) {     take $x   }   sub amb (*@c) { gather @c».&dethunk }   say first *, do     amb(<the that a>, { die 'oops'}) Xlf     amb('frog',{'elephant'},'thing') Xlf     amb(<walked treaded grows>)      Xlf     amb { die 'poison dart' },         {'slowly'},         {'quic
10:52 p6eval rakudo 0dda4c: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Two terms in a rowâ�¤at /tmp/OYt1956sqx:1â�¤------> [32m dethunk(Callable $x) { try take $x() } [33mâ��[31mmulti dethunk(     Any $x) {     take $x[0mâ�¤    expecting any of:â�¤        postfixâ�¤        argument listâ�¤        infix or meta-inf…
10:53 hulu r: sub infix:<lf> ($a,$b) {     next unless try $a.substr(*-1,1) eq $b.substr(0,1);     "$a $b"; };   multi dethunk(Callable $x) { try take $x() }; multi dethunk(     Any $x) {     take $x   };   sub amb (*@c) { gather @c».&dethunk }   say first *, do     amb(<the that a>, { die 'oops'}) Xlf     amb('frog',{'elephant'},'thing') Xlf     amb(<walked treaded grows>)      Xlf     amb { die 'poison dart' },         {'slowly'},         {'qu
10:53 p6eval rakudo 0dda4c: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Two terms in a rowâ�¤at /tmp/eHFzrM8J7g:1â�¤------> [32msub amb (*@c) { gather @c».&dethunk }   [33mâ��[31msay first *, do     amb(<the that a>, { [0mâ�¤    expecting any of:â�¤        method argumentsâ�¤        postfixâ�¤        infix or meta-…
10:54 hulu r: sub infix:<lf> ($a,$b) { next unless try $a.substr(*-1,1) eq $b.substr(0,1); "$a $b"; }; multi dethunk(Callable $x) { try take $x() }; multi dethunk(     Any $x) {     take $x   }; sub amb (*@c) { gather @c».&dethunk }; say first *, do amb(<the that a>, { die 'oops'}) Xlf amb('frog',{'elephant'},'thing') Xlf amb(<walked treaded grows>)      Xlf amb { die 'poison dart' }, {'slowly'}, {'quickly'}, { die 'fire' };
10:54 p6eval rakudo 0dda4c: OUTPUT«that thing grows slowly␤»
10:56 SmokeMachine joined #perl6
10:58 hulu r: sub infix:<lf> ($a,$b) { next unless try $a.substr(*-1,1) eq $b.substr(0,1); "$a $b"; }; say 'kkk' lf 'ttt';
10:58 p6eval rakudo 0dda4c: OUTPUT«next without loop construct␤  in block  at src/gen/CORE.setting:451␤  in block  at src/gen/CORE.setting:515␤  in sub infix:<lf> at /tmp/tJs4pZ9qLf:1␤  in block  at /tmp/tJs4pZ9qLf:1␤␤»
10:59 hulu r: sub infix:<lf> ($a,$b) { next unless try $a.substr(*-1,1) eq $b.substr(0,1); "$a $b"; }; say lf 'kkk' 'ttt';
10:59 p6eval rakudo 0dda4c: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Two terms in a rowâ�¤at /tmp/QSXSe6ENQI:1â�¤------> [32mb.substr(0,1); "$a $b"; }; say lf 'kkk' [33mâ��[31m'ttt';[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix or meta-infixâ�¤        infix stopperâ�¤        statement endâ�¤        s…
10:59 hulu r: sub infix:<lf> ($a,$b) { next unless try $a.substr(*-1,1) eq $b.substr(0,1); "$a $b"; }; say lf 'kkk','ttt';
10:59 p6eval rakudo 0dda4c: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Undeclared routine:â�¤    lf used at line 1. Did you mean '&lc'?â�¤â�¤Â»
10:59 hulu moritz: say  'kkk' lf 'ttt; why not run?
11:01 moritz hulu: you've declared lf as an infix, so you must use it as an infix, not as a normal subroutine
11:01 moritz oh, and the other one: it told you in the error message what was wrong
11:02 hulu r: sub infix:<lf> ($a,$b) { next unless try $a.substr(*-1,1) eq $b.substr(0,1); "$a $b"; }; 'kkk' lf 'ttt';
11:02 p6eval rakudo 0dda4c: OUTPUT«next without loop construct␤  in block  at src/gen/CORE.setting:451␤  in block  at src/gen/CORE.setting:515␤  in sub infix:<lf> at /tmp/tUzHZxcy7n:1␤  in block  at /tmp/tUzHZxcy7n:1␤␤»
11:02 moritz hulu: did you read the error message?
11:03 hulu moritz: my english is poor
11:03 hulu r: sub infix:<lf> ($a,$b) { "$a $b"; }; 'kkk' lf 'ttt';
11:03 p6eval rakudo 0dda4c:  ( no output )
11:03 hulu r: sub infix:<lf> ($a,$b) { "$a $b"; }; say 'kkk' lf 'ttt';
11:03 p6eval rakudo 0dda4c: OUTPUT«kkk ttt␤»
11:03 moritz hulu: yes, I known. But did you read the error message?
11:04 hulu moritz: read a little
11:05 b1rkh0ff joined #perl6
11:06 masak hulu: 'next without loop construct'. 'next' can only occur inside a loop.
11:06 masak hulu: maybe you meant 'return'?
11:06 hulu r: my $a = 'hello'; $a.substr(*-1,1);
11:06 p6eval rakudo 0dda4c:  ( no output )
11:06 hulu r: my $a = 'hello';say  $a.substr(*-1,1);
11:06 p6eval rakudo 0dda4c: OUTPUT«o␤»
11:07 masak \o/
11:07 hulu r: my $a = 'hello';say  $a.substr(0,1);
11:07 p6eval rakudo 0dda4c: OUTPUT«h␤»
11:07 hulu r: my $a = 'hello';say  $a.substr(*-2,1);
11:07 p6eval rakudo 0dda4c: OUTPUT«l␤»
11:08 hulu r: my $a = 'hello';say  $a.substr(0,1);
11:08 p6eval rakudo 0dda4c: OUTPUT«h␤»
11:08 hulu r: my $a = 'hello';say  $a.substr(*-2,1);
11:08 p6eval rakudo 0dda4c: OUTPUT«l␤»
11:10 arnsholt Where are good places to start to see how Rakudo's high water mark stuff works?
11:12 hulu r: version
11:12 p6eval rakudo 0dda4c: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Undeclared routine:â�¤    version used at line 1â�¤â�¤Â»
11:12 moritz arnsholt: in the code? or in generated errors?
11:12 moritz hulu: the 0dda4c in 'rakudo 0dda4c: OUTPUT' is the version string from git
11:12 moritz hulu: it is rebuilt once per hour or so, to be always the latest development version
11:13 moritz arnsholt: if code, git log -p 40681316098717e5ca59295d38f814604b28dd45
11:13 hulu moritz: how to install development version on ubuntu 12.04
11:14 moritz hulu: that's documented here: http://rakudo.org/how-to-get-rakudo/ under the section "Building the compiler from source"
11:15 masak r: say $*PERL<compiler><ver>
11:15 p6eval rakudo 0dda4c: OUTPUT«2013.01-100-g0dda4c8␤»
11:15 masak ugh, premature optimization there with 'ver' :(
11:15 moritz aye
11:15 masak that's not even a common abbreviation of 'version'.
11:16 masak is it spec?
11:16 masak S28 mentions $*PERL, but not its structure AFAICS.
11:18 FROGGS S11 Versioning tells about :ver<1.2.3> when "use"-ing modules
11:18 Liz_ joined #perl6
11:20 masak yeah, I guess...
11:21 masak and we do abbreviate :auth, too, for ambiguous goodness.
11:21 * masak drops the case
11:24 [particle]1 joined #perl6
11:26 arnsholt moritz: Cheers! I was looking for the code, yeah
11:26 arnsholt (Want it for one of my own grammars)
11:27 moritz oooh
11:27 * moritz wonders if JSON::Tiny will grow into JSON::Small
11:29 masak clearly, it's already bloated, since it outputs things as '{ "foo": 42 }', not '{"foo":42}'
11:29 masak :P
11:29 moritz hey, it's not called JSON::Compact :-)
11:31 * masak wonders how little code he could get away with, writing a mixin to turn JSON::Tiny into JSON::Compact...
11:31 hulu moritz: compile rakudo on ubuntu 12.04 wrong with 'error:imcc:No such file or directory 'interpinfo.pasm' in file 'runtime/parrot/library/parrotlib.pir' line 194 make: *** [runtime/parrot/include/parrotlib.pbc] 错误 1 Command failed (status 512): make install-dev'
11:32 moritz hulu: which command did you run to get that output?
11:32 hulu moritz: perl Configure.pl --gen-parrot --gen-nqp
11:34 moritz hulu: and was that the first error message you got?
11:34 hulu moritz: yes
11:35 SamuraiJack__ joined #perl6
11:36 moritz hulu: can you please paste the complete output to a nopaste site, and give us the link to it?
11:37 masak hulu: https://gist.github.com/ is a fine choice if you're unsure.
11:38 hulu moritz: https://gist.github.com/anonymous/4722076
11:38 hulu masak: thx
11:38 moritz hulu: that's not the complete output
11:39 moritz lunch&
11:42 masak hanzi in the path... inneresting.
11:44 hulu moritz: https://gist.github.com/anonymous/4722099
11:45 masak hanzi in the path, and the error message is "No such file or directory"... :)
11:45 masak not implying anything, but mayhaps suggesting that's where to start looking.
11:46 masak hulu: do you think you could try this in a path that isn't /home/Data/Host/下载/rakudo.build/parrot/blib/lib and that doesn't have characters like 下载 in it?
11:47 hulu masak: let me try
12:01 kresike joined #perl6
12:01 kresike hello all you happy perl6 people
12:06 mtymula joined #perl6
12:07 mtymula Hi one quck ( I guess) question. Which module is better and more reliable to use DBIish or MiniDBI to hook up mysql to my web app
12:07 mtymula ??
12:08 mtymula anyone??
12:10 moritz DBIish is maintained
12:10 moritz MiniDBI not
12:13 bruges joined #perl6
12:19 nebuchadnezzar joined #perl6
12:22 masak mtymula: I'd go with DBIish.
12:22 masak (I'd also avoid mysql, but that's another matter) ;)
12:24 JimmyZ_ joined #perl6
12:24 JimmyZ_ 晚上好
12:24 * kresike .oO( are there a lot of people here who try to avoid mysql ? )
12:26 masak 晚上好, JimmyZ_! \o/
12:27 jerome joined #perl6
12:28 JimmyZ_ 麦高 下午好
12:29 masak ;)
12:29 * masak .oO( 你的晚上好是我的下午好 )
12:29 moritz mtymula: the postgres driver for DBIish works better than the mysql driver :-)
12:31 masak s/driver (\w+ \w+)?//g # :P
12:31 hulu joined #perl6
12:34 cognominal joined #perl6
12:43 grondilu Is there a free hosting service that would provide Perl6 CGI?
12:43 moritz feather
12:46 JimmyZ__ joined #perl6
12:49 masak today for lunch I've been reading http://javascript.crockford.com/tdop/tdop.html with interest.
12:49 * moritz had pizza for lunch
12:50 masak it feels like the parsing analogue of the Lisp metacircular evaluator.
12:50 masak this one isn't half a page, but it's still pretty impressive, and very readable.
12:51 masak the paragraph that caught my eye, though, was the one that starts "We need a policy for reserved words."
12:51 masak it outlines an idea I've never encountered before for reserved words and forward-compatibility.
12:51 shinobicl left #perl6
12:52 masak I'm simultaneously thinking "ooh, that's pretty neat" and "there's *got* to be a catch here somewhere, making the future horrible in some way for a language that does this"
12:53 masak thought I'd query this channel for whether my pessimism is justified. :)
12:55 moritz " For example, we can say that in any function, any name may be used as a structure word or as a variable, but not as both. We will reserve words locally only after they are used as reserved words."
12:56 moritz that's what you're referring to, right?
12:56 masak that's what I'm referring to, right.
12:56 masak so, in essence, future keywords will stay out of functions where there are lexicals with that name.
12:56 moritz which would mean that  function myf() { var if = 42; if ( # syntax error
12:56 masak yes, it would.
12:57 masak you cannot both declare the variable and use the keyword.
12:57 moritz it has a certain appeal
12:57 masak exactly :)
12:57 moritz though it makes it harder to refactor by cut'n'paste
12:57 masak troo
12:57 moritz but I don't think that's too valid an argument
12:58 SmokeMac_ joined #perl6
12:58 masak the design decisions has somewhat the same "structure" as "let's make semicolons optional so that people shouldn't have to care".
12:58 moritz I mean, if you cut'n'paste-refator perl code, you also have to take care that the right imports are in the paste scope
12:58 masak decision*
13:00 moritz in some sense it violates the principle of lexical overridability
13:00 moritz you can declare a lexical of the same name in an inner scope
13:00 moritz but you cannot use it as a keyword in an inner scope
13:00 masak hm, doesn't it simply imply that the keywords come from a "setting", as it were?
13:01 masak I mean, you cannot un-override lexicals from the setting, either.
13:01 moritz again, not sure how much of a practical problem it is, but it feels like it taints the beauty of the concept
13:01 moritz don't we have 'hides' and such stuff?
13:01 masak have it where?
13:02 moritz in Perl 6
13:02 moritz r: constant uc = 'FOO'; say uc 'bar';
13:02 p6eval rakudo 0dda4c: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Two terms in a rowâ�¤at /tmp/g2veDL428H:1â�¤------> [32mconstant uc = 'FOO'; say uc [33mâ��[31m'bar';[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix or meta-infixâ�¤        infix stopperâ�¤        statement endâ�¤        statement mod…
13:02 moritz a lexical constant (which is like a mini-keyword) can still override an outer lexical sub of the same name
13:03 moritz your language would need a similar syntax for re-enabling the keyword usage of a symbol in an inner scope to do the same
13:12 shinobicl joined #perl6
13:12 cognominal joined #perl6
13:15 masak I don't see why.
13:16 masak once you declare a lexical variable, you forfeit all claims in that scope to the underlying keyword.
13:16 masak to me, it doesn't violate lexical overridability, it just makes keywords adhere to the same rule.
13:17 masak it's like the 'if' keyword says, "an 'if' variable? well, then you clearly don't need me in this scope! hmpf!"
13:17 masak what is that if not lexical overridability?
13:18 masak if you consider the use of if-the-keyword as a kind of declaration, too, then... oh. I see your counterargument now. :)
13:19 masak yes. that's the bad part.
13:24 moritz well, you could allow 'keyword if;' in analogy to 'var if;'
13:25 masak yes, but that still doesn't make scopes/routines easily movable across the source.
13:25 masak the bad case happens when you move a block that uses the keyword into a block that declares the variable.
13:27 cognominal joined #perl6
13:29 moritz well, then you'd need 'keyword if;' at the start of the block
13:30 masak right. and you didn't before the refactor.
13:31 masak so in short, the reserved words policy makes it harder to do such refactors of code.
13:31 moritz well yes. Just like you might have an outer variable declared that you need to move/copy along with the code
13:31 cognominal__ joined #perl6
13:33 cognominal joined #perl6
13:33 dayangkun joined #perl6
13:43 masak I guess.
13:43 masak I also guess a refactoring tool could DTRT and insert the 'keyword if;' statement for you.
13:43 masak in conclusion, idea not dead yet! :)
13:44 shinobicl left #perl6
13:44 moritz no, not dead at all
13:44 moritz but it's not flawless
13:47 masak right.
13:47 masak errand &
13:49 shinobicl joined #perl6
13:52 FROGGS nr: print "a" ~~ /./
13:52 p6eval niecza v24-18-gaf64300:  ( no output )
13:52 p6eval ..rakudo 0dda4c: OUTPUT«a»
13:54 FROGGS sorear: thats my patch, it is a 1:1 copy&pasto from rakudo: https://gist.github.com/FR​OGGS/0a6f8e2d4053fb0ba5d0
13:55 FROGGS running the spectest right now, but I'm not sure if gist's signature is right for niecza, since I dont see anything similar
13:59 [particle] joined #perl6
14:00 rindolf joined #perl6
14:05 dayangkun joined #perl6
14:10 moritz http://lwn.net/SubscriberLi​nk/534758/bcb45583bc25268d/ # whoa, hardware support for transactional memory, and a patch for gnu libc to use it
14:11 diakopter cool
14:11 diakopter I wonder whose subscriber link that is ;)
14:12 PacoAir joined #perl6
14:12 moritz dunno, was posted on hackernews
14:12 rindolf Hi all.
14:12 rindolf TimToady: here?
14:12 moritz but lwn is explicitly fine with sharing such links
14:13 diakopter rindolf: it's 6:15 a.m. in California
14:13 cosimo joined #perl6
14:13 rindolf diakopter: ah, I see.
14:13 rindolf diakopter: well, I shall wait.
14:13 diakopter you have a question?
14:14 rindolf diakopter: I may be able to meet some friends for some food and drink and chat in downtown Tel Aviv in 18:00.
14:14 diakopter _._.
14:15 * diakopter laughs a little and wonders what that means
14:15 rindolf diakopter: it's about philology, so I want Mr. Wall who has studied it.
14:16 * diakopter decides to presume you meant "chat" as "chat with TimToady online"
14:17 rindolf Other people here may be able to help too, but it's off-topic here.
14:17 rindolf And pretty insane.
14:17 rindolf diakopter: well, chat with some friends in real life.
14:17 rindolf diakopter: but orthogonally I want to chat with TimToady
14:18 rindolf diakopter: the people on #linguistics are a nasty lot.
14:18 diakopter interesting
14:18 pmurias joined #perl6
14:19 diakopter maybe they're not people
14:20 atrodo joined #perl6
14:21 pmurias swarley: re loading of yarv bytecode, I skimmed through the ruby code which loads the instructions, and I should be able to create a C extension for ruby which creates it from a more compact format (bytecode of some sort)
14:21 rindolf diakopter: they are not bots.
14:21 rindolf diakopter: but they are obscene.
14:22 rindolf diakopter: and they kicked me out of it.
14:22 pmurias swarley: but I don't think it's worth doing that till you can compile a lot of QAST into yarv bytecode, as I doubt it will be the bottleneck
14:22 cognominal joined #perl6
14:22 rindolf diakopter: they think they are superior to me.
14:22 moritz rindolf: but I'm sure they didn't kick you out just because they were obscene
14:23 moritz sometimes when I don't get along well with people, it's not because they are nasty, but because we have an impedance mismatch
14:24 PerlJam There's *always* an impedance mismatch ... you just have to diddle with the magnitude until you get a local minimum.
14:24 masak also, in many cases when someone comes in saying "I couldn't get what I wanted on channel Y, could someone here on channel X help me", the topic is definitely off-topic and better handled in privmsg :)
14:24 moritz PerlJam: sure, I should have said "because the impedance mismatch is too large"
14:25 moritz happend with jaffa4 and me for a few times, for example
14:26 PerlJam masak: you know that #perl often gets "you guys are the smartest people I know, help me with <X>"  where <X> is often regex, but also other things not-perl.
14:26 kaare_ joined #perl6
14:26 PerlJam ergo #perl is permanently off-topic ;)
14:27 masak oh, that kind of request somehow feels more OK.
14:27 masak because then there isn't necessarily another channel where the discussion should've been held.
14:28 Juerd Interesting: http://blogs.perl.org/user​s/ovid/2013/02/perl-7.html
14:28 PerlJam Juerd: crazy :)
14:29 colomon joined #perl6
14:31 dayangkun joined #perl6
14:31 arnsholt rindolf: What kind of philology? (I'm not a real philologer, but I pretend to be one at times)
14:32 masak ah, Juerd++ beat me to it. :)
14:32 nwc10 I haven't yet worked out what (if any) substantive differences there are between what people *say* they want, and Perl 6. In as much as, a shipping Perl 6 would seem to satisfy all the desired things, unless the desire is that "It's not called 'Perl 6'"
14:32 nwc10 desired feature list is usually pretty close to what Rakudo already mostly does.
14:32 arnsholt I think a desideratum is "lacks the painful backstory of Perl 6"
14:33 nwc10 yes
14:33 arnsholt Or whatever word you think is better than painful
14:33 nwc10 but the problem is if you start from here
14:33 nwc10 pretty much any approach you take has massive parallels to how Perl 6 started
14:33 nwc10 and it's not clear how it's going to turn out differently.
14:33 masak I almost replied to https://twitter.com/OvidPer​l/status/299146841407242243 asking "The problem of there only being a finite number of positive integers for the minor version?", but decided that was too sarcastic to be posted on Twitter.
14:34 nwc10 including (*key*) not taking a long time
14:35 nwc10 if you're starting from "no implementation" *and* "no design" you've got a large amount of work ahead of you.
14:35 arnsholt masak: That'd be a pretty amusing reply, actually =)
14:35 * PerlJam notes that none of the comments thus far actually address Ovid's question
14:36 nwc10 possibly the absence of comments can be used to infer an answer
14:36 masak arnsholt: nah, better not :)
14:37 diakopter v20 makes it sound old, like Chrome
14:38 masak whereas 7 is young? :P
14:38 nwc10 none of this actually makes the language any better, or the internals any easier to curate.
14:38 nwc10 unlike Perl 6
14:38 diakopter Microsoft (R) C/C++ Optimizing Compiler Version 16.00.40219.01 for x64
14:39 benabik joined #perl6
14:39 stopbit joined #perl6
14:41 arnsholt masak: Yeah, it might start a massive flamewar ;)
14:42 perigrin Perl5 *is* old though.
14:42 arnsholt That it is
14:42 perigrin Older than Chrome (which is on v24 currently)
14:43 diakopter .....
14:43 bluescreen10 joined #perl6
14:44 diakopter in many circles, newer is better.  In other many circles, older is better.
14:45 diakopter (not always of course, just generally not knowing anything else)
14:46 arnsholt There's a sweet spot (different for different applications) I think
14:47 diakopter of course, once you actually learn about the product instead of just knowing its version number or age
14:50 rindolf arnsholt: hi.
14:50 rindolf arnsholt: sorry for the late response - well, it's a general question.
14:51 rindolf arnsholt: <rindolf>       I have a question about philology: is it a commo
14:51 rindolf nly accepted theory that various artworks (such as the Bible, the Greek Mytholog
14:51 rindolf y, Vampire stories, comic books, etc.) were used as conduits for passing message
14:51 rindolf s between the intellectual elite of the world? (Like: Semites -> Jews -> Vampire
14:51 rindolf s -> Filmmakers -> Hackers -> Geeks)
14:52 gfldex joined #perl6
14:52 arnsholt I think classing mythology like the Bible and the Greco-Roman pantheon as elite phenomena is incorrect
14:52 rindolf arnsholt: OK, but in general?
14:52 diakopter omg
14:52 arnsholt Not sure, really
14:53 rindolf arnsholt: ah.
14:53 arnsholt Depends a bit on what you mean with the passing of messages between elites
14:53 rindolf arnsholt: I heard something like that about http://en.wikipedia.org/wiki/The​_Protocols_of_the_Elders_of_Zion
14:53 rindolf arnsholt: well, maybe see http://www.shlomifish.org/humou​r/Star-Trek/We-the-Living-Dead/ .
14:53 clkao w/win 31
14:53 rindolf clkao: hi, what's new?
14:53 diakopter when were Semites, Jews, Vampires, Filmmakers, Hackers, or Geeks the intellectual elite?
14:54 rindolf clkao: long itme.
14:54 clkao apparently, my keyboard!
14:54 clkao is now
14:54 clkao is new
14:54 arnsholt Heh. clkao has lots of windows open =)
14:54 rindolf diakopter: well, they disobeyed the rules and challenged them. Compromised on quality of delivery, while making the quality of the content better.
14:54 diakopter Wat.
14:56 rindolf diakopter: I mean like using E-mail or Usenet instead of, say, typesetting. Or even the print instead of hand-written books.
14:56 rindolf diakopter: now the Roman Catholic pope has a twitter account. :-D
14:57 rindolf diakopter: Gutenberg's print invention ended up producing lesser quality than hand-written sheets.
14:57 rindolf diakopter: and was met with contempt.
14:57 rindolf diakopter: but it enabled the protestant revolution.
14:57 diakopter rindolf: was this your question in #linguistics?
14:58 rindolf diakopter: I flooded it.
14:58 rindolf diakopter: yes, that was my question.
14:58 aindilis joined #perl6
14:58 masak and they kicked you? outrageous.
14:58 rindolf diakopter: Ayn Rand held Mickey Mouse and Walt Disney in contempt in The Fountainhead.
14:58 rindolf masak: well, after asking me obscene questions.
14:58 diakopter your question is obscene
14:59 rindolf diakopter: because it was easier to create animations than it was to produce live actor films.
14:59 masak I don't know what the question is. it just looks very confused.
14:59 diakopter "is it a commonly held theory...?"
14:59 rindolf masak: OK, maybe read http://www.shlomifish.org/humou​r/Star-Trek/We-the-Living-Dead/ .
14:59 diakopter in other words, "I'm proponing this"
15:00 masak proposing*
15:00 arnsholt rindolf: To say that "the terran alphabet" (Latin script, I assume) was invented for Hebrew isn't very right =)
15:00 diakopter proponing?
15:00 rindolf arnsholt: well, back then Hebrew was the same as Phoenician.
15:00 masak diakopter: "proponent", "proposing", "proposition".
15:00 brrt rindolf, also, it is not really a commonly held theory
15:00 rindolf arnsholt: I call it collectively the Hebrew language.
15:00 rindolf brrt: ah.
15:01 arnsholt Still, Latin script is very far removed from both Hebrew and Phoenician
15:01 rindolf brrt: more like a grand unified conspiracy theory that people think is silly?
15:02 masak rindolf: I'm not being obscene to you because of your question. neither is anyone else here. that doesn't mean I am capable of -- or interested in -- taking the question seriously.
15:02 brrt well, yes, and one that is popular in the more extremist circles for that
15:03 rindolf brrt: OK, thanks.
15:03 rindolf masak: they were obscene from different reasons.
15:03 rindolf brrt: OK, thanks.
15:03 rindolf brrt: well, perhaps it was an advancement of memes.
15:04 [Coke] This all seems very offtopic to me.
15:04 arnsholt But no, I don't think anyone seriously believes that expressions of culture/art are conciously used to pass ideas between culturally distinct groups
15:04 masak huh. http://dictionary.reference.com/browse/propone exists. diakopter++
15:04 masak apparently it's Scottish.
15:04 arnsholt But this is more properly a question of sociology or social anthropology I think, rather than philology
15:04 PerlJam [Coke]: Ever hear the expression "herding cats"?  :-)
15:05 arnsholt [Coke]: That would be because it's off topic =)
15:05 brrt well, if you want to discuss perl6, better finish that compiler then, me boys ;-)
15:05 diakopter arnsholt: it's more properly a question of psychiatry
15:05 rindolf Like “The Gods help them that help themselves” -> “Trust in God, but tie your camel” -> “Reality to be conquered must be obeyed” -> “If you mountain does not come to Muhammad…” -> “God helps them that help God help them.”
15:05 masak [Coke]: I agree. but more importantly, it's a silly/boring topic.
15:05 rindolf People building on each other's work.
15:05 rindolf Like open source. :-)
15:05 [Coke] left #perl6
15:06 rindolf Well, such hacktivity existed in the Jewish Midrash (= "study") too.
15:06 * diakopter requests a respite from the [OT]
15:06 masak +1
15:06 rindolf OK,
15:06 rindolf No more offtopic.
15:06 * masak didn't want to be the first to propone it :)
15:06 rindolf So Perl 6?
15:06 rindolf masak: :-)
15:06 brrt this language, yeah
15:07 rindolf What is it?
15:07 masak yes ktxplz
15:07 PerlJam Perl 6 is awesome!
15:07 rindolf Is it dead?
15:07 cognominal joined #perl6
15:07 brrt perl6 is not dead
15:07 masak rindolf: what are you, a troll?
15:07 brrt it is an idea
15:07 brrt it cannot die
15:07 rindolf Perl 6 makes the sun shine and the birds sing.
15:07 rindolf masak: sorry, I'll shut up.
15:07 diakopter masak: some trolls don't know they're trolls
15:07 rindolf masak: it was a reference to "Perl is Dead".
15:07 masak rindolf: until you have something nice to say :)
15:07 rindolf masak: sure.
15:08 brrt or not nice, but it had better be a bug report then
15:08 diakopter masak: I can say that, having been one unknowingly myself at least several times
15:08 nwc10 Oooh, FROGGS has a pretty github avatar: https://github.com/rakudo/rakudo/commits/nom
15:08 masak diakopter: oh man, what was the name of that guy a couple years ago? :)
15:08 masak diakopter: yes, you're completely right.
15:08 PerlJam Did you guys see Ovid's comment on his own post?  ``I just got back from FOSDEM and heard, again, for the umpteenth time, that since Perl had 4 "major" releases (1,2,3,4) in its first few years and hasn't had a major release since Perl 5 about 20 years ago, it's clearly "dead".''
15:08 diakopter trying to remember
15:08 PerlJam That's actually the first time I've heard quite that spin on it.
15:09 masak diakopter: k23z__
15:09 diakopter that's, like, the by far predominant viewpoint in industry, afaict
15:09 masak diakopter: http://irclog.perlgeek.de/​perl6/2010-03-06#i_2071605
15:09 brrt as in, the version of perl is asymptotically approaching six
15:09 diakopter no, it's just viewed as in maintenance mode only
15:10 PerlJam because the major version number isn't changing?
15:10 diakopter definitely
15:10 PerlJam that's bizarre.
15:10 diakopter not bizarre at all
15:10 masak PerlJam: to me it just shows that you can spin anything any which way.
15:10 masak "we do releases" -- "yeahbut I mean *real* Scotsman releases!"
15:11 masak "Perl 5 keeps evolving" -- "yeahbut I mean major versions!"
15:11 nwc10 Ruby is dead too?
15:11 brrt nwc10 beat me to it
15:11 diakopter ruby is still the new hotness
15:11 brrt python as well, since nobody uses 3
15:11 brrt ruby was so the new hotness 5 years ago
15:11 brrt nobody cares today
15:11 brrt (or maybe i'm just bored easily)
15:11 nwc10 they're going to care again pretty soon if their Rails app gets pwned.
15:11 brrt if anything, i'd say scala was the new hotness
15:12 nwc10 Scala is taking the crown from Node.js?
15:12 brrt node.js is a dangerous tool
15:12 diakopter node is also the new hotness
15:12 brrt a fantastically fun powerful tool
15:12 brrt but not a really good tool for most developers
15:12 nwc10 an event loop - is it single threaded?
15:13 diakopter yes.
15:13 brrt scala has all the java enterprise aura arround it
15:13 nwc10 cool. So you have to do co-operative multi tasking. Or you block. Ace.
15:13 brrt nwc10, and what is more, where is your catch block?
15:13 diakopter nwc10: yup.
15:13 nwc10 Wasn't pre-emptive one of the selling points of Win95 over Win 3.1?
15:14 diakopter well you don't block, you spin in your event loop waiting for IO or whatever
15:14 [Coke] joined #perl6
15:14 brrt now, multiprocessing node.js, that could be made to work
15:14 brrt (and it is , in fact)
15:14 diakopter not with shared memory
15:14 brrt true
15:14 diakopter which is the crucial bit
15:14 nwc10 I remember Win95 when it was new. This is troubling :-)
15:15 nwc10 although it would be more troubling if I couldn't remember it :-)
15:15 brrt diakopter, how is it the crucial bit? php doesn't share memory and it is pretty popular
15:15 diakopter I don't recall reading about anyone doing big data or web *servers* in php
15:16 PerlJam or biophp
15:16 diakopter but of course Java excels at those
15:16 brrt PerlJam…. you have ruined my dreams
15:17 pmurias diakopter: there's bioperl and the perl 4 threading model isn't something to be particularly proud of
15:17 pmurias * perl 6
15:17 PerlJam brrt: dream about NumPHP (similar to NumPy) instead.
15:17 pmurias sorry
15:17 pmurias * perl 5
15:17 brrt fortunately it still seems pretty small
15:17 diakopter pmurias: I'm pretty sure I was talking about php
15:18 brrt anyway, threading is not important
15:18 PerlJam brrt: except that everyone wants it (or thinks they do)
15:18 diakopter they want it.
15:19 timotimo i want to think i do!
15:19 diakopter just because it's not best for every application it will be used for doesn't mean it shouldn't be massively robust
15:20 brrt anyway, when people have burned their hands on node.js, they will move onto the next hot thing
15:20 brrt my guess is that next hot thing is going to be scala
15:21 timotimo depend on wether or not rakudo runs on the jvm by that time :P
15:22 brrt i'm not optimistic that the typical perl6 will gain a enterprise aura anytime soon :-)
15:22 brrt which is ok
15:23 timotimo ;)
15:25 masak I don't much care. I'll be a happy to be massively useful and expressive, and serving a slowly growing community of happy enthusiasts.
15:25 nwc10 if one has the Perl 6 version of B::Deparse::Scala, does it matter?
15:25 nwc10 just decompile the Perl 6 code into whatever is politically acceptable, and ship that
15:27 GlitchMr- For me, Perl 6 is innovative, just like Smalltalk.
15:27 PerlJam that was Parrots "killer-app"  ... the promise of multiple languages interacting smoothly.
15:27 GlitchMr- Junctions are awesome, and I really would like to see them in other programming languages.
15:28 brrt PerlJam, we can still make that work :-)
15:29 PerlJam brrt: indeed, I hope so.
15:30 brrt my personal hope would be to consolidate the openbio communities
15:31 GlitchMr- > my $ab = /ab/ & /a.?b/
15:31 GlitchMr- all(, )
15:31 GlitchMr- Close enough
15:33 GlitchMr- rn: my $ab = /ab/ & /abc/; ('abc' ~~ /($ab)/).perl.say; $/.gist.say;
15:33 p6eval rakudo 0dda4c: OUTPUT«Can not get attribute '$!pos' declared in class 'Cursor' with this object␤  in regex  at /tmp/2WuHVVopPN:1␤  in regex  at /tmp/2WuHVVopPN:1␤  in method ACCEPTS at src/gen/CORE.setting:10743␤  in block  at /tmp/2WuHVVopPN:1␤␤»
15:33 p6eval ..niecza v24-18-gaf64300: OUTPUT«Match␤Match()␤»
15:33 GlitchMr- rn: my $ab = /ab/ & /ab/; ('abc' ~~ /($ab)/).perl.say; $/.gist.say;
15:33 p6eval rakudo 0dda4c: OUTPUT«Can not get attribute '$!pos' declared in class 'Cursor' with this object␤  in regex  at /tmp/QYqcsyT1rW:1␤  in regex  at /tmp/QYqcsyT1rW:1␤  in method ACCEPTS at src/gen/CORE.setting:10743␤  in block  at /tmp/QYqcsyT1rW:1␤␤»
15:33 p6eval ..niecza v24-18-gaf64300: OUTPUT«Match␤Match()␤»
15:33 GlitchMr- How should this work?
15:38 diakopter masak: that nuclear blackmail day is interesting to backlog
15:38 masak diakopter: yes.
15:38 masak diakopter: I was in a hotel room with jnthn and pmichaud.
15:38 masak I remember the scene vividly.
15:42 b1rkh0ff joined #perl6
15:55 jeffreykegler joined #perl6
15:59 kaleem joined #perl6
15:59 masak 'We are the Perl 6 community. We have a collective neurosis about "production ready" and the exact relation to Perl 5. if you can navigate that, you'll find we're a nice bunch.' :)
16:01 nwc10 well, how much infrastructure is actually running on Perl 6 yet?
16:01 diakopter out of what set of infrastructure?
16:02 masak Rakudo is running on mostly Perl 6 and nqp.
16:02 masak there are some custom parts written in C, IIRC.
16:02 nwc10 well, I mean thinks like the logger on this channel isn't Perl 6
16:02 nwc10 things.
16:02 nwc10 and yes, I keep commenting on that as an exaple
16:02 nwc10 I still can't type, can I?
16:02 masak that is a good example.
16:03 nwc10 the evalbot itself is Perl 5?
16:03 diakopter yes
16:03 masak I didn't say we're production ready -- I said we have a neurosis about "production ready" :)
16:03 masak but as far as I can see, it's getting increasingly possible/realistic to replace various bits of Perl 5 infrastructure with Perl 6.
16:04 diakopter github.com isn't using Perl 6
16:04 masak it'd do us good, too, because it'd catch more ecosystem regressions early.
16:04 diakopter freenode isn't using Perl 6
16:04 masak diakopter: neither are they using Perl 5, AFAIK.
16:04 masak I don't think I see your point.
16:06 diakopter well, I was exploring the bounds of the set of infrastructure, while also pointing out that those will never run Perl 6
16:06 nwc10 agree
16:06 masak and that's fine, of course.
16:06 nwc10 but the useful niche that Perl 6 certainly seeks to fill is that currently occupied by Perl 5
16:07 diakopter I'm not sure I agree
16:07 nwc10 so at least the local infrastructure currently written in Perl 5 really ought to be switched to dogfood
16:07 nwc10 OK, the niche that Perl 5 competes in?
16:08 diakopter no, I've begun to suspect their current/prospective niches don't overlap very much
16:09 diakopter note: the evalbot ran on pugs for a long time
16:09 masak it certainly wouldn't hurt to have evalbot/irc logs in Perl 6.
16:10 masak there's still the small matter of porting them, of course :)
16:10 masak perhaps a good topic for a hackathon?
16:10 nwc10 why wait that long?
16:10 diakopter none of the implementations can support it without extensive C hacking, due to the signal catching/sending
16:11 nwc10 aha, interesting. thanks
16:11 diakopter pugs' evalbot didn't have a timeout killer, I seem to recall
16:11 diakopter which is definitely necessary nowadays
16:12 diakopter things run forever.. forever
16:13 fgomez joined #perl6
16:13 diakopter perl 5 supports signals, and magical wonderful abilities to interact with child processes
16:14 diakopter nwc10: (I'm not attempting to inform, there ;)
16:14 nwc10 no, but that's interesting. In that, if you start trying to use Rakudo for something other than "building Rakudo", you discover holes.
16:16 PerlJam nwc10: that's why we need more people using Rakudo to do ... stuff.
16:17 masak nwc10: I agree.
16:18 diakopter there are plenty of holes; I believe the constraints and uncertainties of parrot have been making it uncomfortable to contribute to fill those holes
16:20 diakopter also, extreme dearth of human resources
16:21 diakopter and the -Ofun prioritization of actually implementing all of Perl 6 syntax and semantics before its native library/functions
16:22 diakopter (in general)
16:25 masak well, the first step to fixing that is to put a collective focus on it.
16:25 masak signals -- I hadn't thought of that before. of course we need those.
16:29 brrt masak, the problem with that, again is the 'collective' part
16:30 skids joined #perl6
16:31 masak yes and no. surely we can collectively set goals.
16:31 masak the best example of which, I believe, is Rakudo Star.
16:32 * diakopter reads the docs on signals/io on parrot.org and snippets of Perl 6 and Parrot Essentials, and find massive contradiction with the current codebase
16:33 diakopter (importantly, the parrot.org docs)
16:33 brrt that doesn't surprise me in the least
16:34 brrt organising people arround a goal that is vague now is hard
16:34 brrt especially as the parrot codebase is painful at times
16:34 diakopter Perl 6 and Parrot Essentials says all IO is async in parrot. The docs say there is both synchr and async IO apis. The codebase reflects only the synchronous
16:35 SunilJoshi joined #perl6
16:36 kresike bye folks
16:37 masak diakopter: dan was a big proponent of async IO, and pushed Parrot in that direction in the early days: http://www.sidhe.org/~dan/​blog/archives/000441.html
16:37 masak diakopter: the only thing async IO in Parrot ever gave me were output and error messages being out of order in the early days of Rakudo :/
16:38 masak in her FOSDEM talk, lizmat said "at this point, I think it's safe to call Parrot an 'Edsel'"
16:43 diakopter there's not even a way to invoke a child process without waiting for it to end
16:47 brrt masak, what is an edsel?
16:48 masak brrt: Wikipedia has a good article.
16:48 diakopter http://lmgtfy.com/?q=Edsel  :)
16:52 SamuraiJack__ joined #perl6
16:56 * brrt had assumed it was some kind of word and had fed into translate :-)
16:57 geekosaur no, just a reference to a bit of US-based marketing infamy
16:59 colomon http://docs.topazruby.com/en/​latest/blog/announcing-topaz/
16:59 PerlJam wow.
16:59 brrt interesting
17:01 colomon that makes it sound like RPython might already be close to what Parrot was/is trying to achieve?
17:05 diakopter "By separating concerns in this way, we intend for our implementation of Python - and other dynamic languages - to become robust against almost all implementation decisions, including target platform, memory and threading models, optimizations applied, up to to the point of being able to automatically generate Just-in-Time compilers for dynamic languages.
17:05 diakopter "
17:05 pmurias diakopter: ping
17:06 diakopter pong in pm
17:08 atrodo joined #perl6
17:13 am0c joined #perl6
17:16 zby_home joined #perl6
17:17 [Coke] (perl6 and parrot essentials) that book is super old. I wouldn't trust it.
17:18 diakopter I wasn't attempting to trust it, just to point out how the goals have changed
17:27 SunilJoshi joined #perl6
17:39 benabik joined #perl6
17:40 masak Topaz! \o/
17:42 arnsholt Wasn't that the name of a Perl reboot effort as well?
17:42 Chillance joined #perl6
17:44 masak yes.
17:44 masak chip's.
17:44 masak http://www.perl.com/pub/1999/09/topaz.html
17:44 masak I guess the name is semi-obvious :)
17:49 diakopter the ruby topaz was originally named rupypy
17:51 SunilJoshi joined #perl6
17:52 geekosaur shoulda been rucoco
17:53 diakopter I don't see how topaz can support threads (on its TODO feature list) when rpython doesn't support OS threads
17:53 TimToady .oO(rakuku)
17:56 TimToady 楽区 I guess "pleasure district"  :)
17:59 TimToady regarding keyword policy, p6 has several stories to tell
17:59 TimToady first of all, if you cut a passage from one language and insert in a passage of a different language, you ought to get what you deserve
17:59 TimToady it's like inserting some Swahili into a passage of German...
17:59 masak *nod*
17:59 TimToady second, we have sigils
17:59 TimToady on our nouns, which helps
18:00 TimToady third, our statement-level keywords tend to require whitespace after them
18:00 TimToady fourth, we give special meaning to if()
18:01 TimToady the main place I see this cut-and-paste difficulty, actually, is when people change a multi-line to a single line for IRC, and always forget the semicolons
18:01 pmurias diakopter: https://us.pycon.org/2013/​schedule/presentation/37/
18:02 diakopter not OS threads
18:02 TimToady we really need threads that don't block each other on IO, such as Go provides
18:02 diakopter it uses STM emulation on top of OS threads
18:04 diakopter also, elsewhere it says *that* version of pypy is several times slower at everything than normal pypy
18:04 TimToady but for copy-paste, it would be nice if there were a way to annotate a snippet with the pedigree of the language it is using, and diff it with the pedigree of where you're pasting
18:04 TimToady or, failing that, run it through a translator, like when you paste the Swahili into the German it automatically translates it for you
18:05 TimToady diakopter: does rpython still use a GIL?
18:06 diakopter there is a version that doesn't, the much slower one that implements STM
18:06 timotimo TimToady: the GIL that's used for pypy-python is written in rpython, not forced by the rpyhon architecture itself
18:07 timotimo it is, in fact, a variable in he pypy-python source code that says "python-gil.wait()" and such.
18:07 TimToady so that is one of the things they've "parameterized"...  that seems goodish
18:08 timotimo i agree. i'm a big fan of the pypy project
18:08 TimToady I'm sure porting NQP to it would discover some ways they've failed to parameterize it :)
18:09 kivutar joined #perl6
18:09 timotimo feel free to try. did you read what fijal had to say when he came over?
18:09 TimToady er, that's not my job :)
18:09 TimToady and yes, I did
18:11 TimToady I'm actually keeping up with the current backlog currently, and even starting to catch up with my old backlogging from December these days
18:11 timotimo the thought of having to implement 6model, qregex, grammars, ... kind of keeps me from trying.
18:11 diakopter you don't need to implement grammars
18:11 diakopter but 6model and a regex compiler, yes
18:13 diakopter I'm really confused as to how fijal can claim that implementing nqp in rpython would be easier and run faster than on the JVM
18:14 timotimo i can see how it could maybe run faster, because you can make the semantics match 100% if you write your own VM, but still ...
18:15 diakopter can rpython declare new classes with compact storage at runtime? 6model (p6opaque) needs that
18:15 diakopter JVM can do it
18:15 pmurias it's optional
18:15 diakopter what's optional?
18:16 pmurias you can implement 6model without compact storage
18:17 timotimo i see no reason why it shouldn't be able to. pypy-pythons classes are implemented in rpython, too. as is the foreign function interface. rpython just compiles down to C, i believe you can store stuff compactly without too much trouble.
18:17 diakopter it compiles down to C at runtime?
18:17 pmurias it's jited
18:17 timotimo no, it's not
18:18 timotimo you may misunderstand or be confused by the different layers
18:18 pmurias sorry
18:18 timotimo so, you write your interpreter, compiler, virtual machine all in rpython
18:18 diakopter (that was a rhetorical question)
18:19 timotimo then that gets translated to C code, a GC and JIT compiler will be plugged in for you made specifically for the stuff you wrote in rpython
18:19 timotimo at that point, all you have is a program that's GC'd and jitted for you. you may as well write a compiler that translates stuff into C, but that's not the point
18:19 timotimo the point is that the jit is created with the full knowledge of your rpython source, so it can trace the whole program for you, given a few hints
18:20 timotimo i hope that made some sense?
18:21 uvtc joined #perl6
18:21 pupoque joined #perl6
18:21 diakopter NQP needs control exceptions; can rpython provide that? (obviously CLR, JVM, JS can)
18:22 timotimo it would not be a thing for rpython to provide, you would implement that concept using rpython
18:22 timotimo it does allow throwing exceptions around, though, like regular python
18:22 diakopter ok
18:23 timotimo i think the way it's supposed to be is to implement "something like the JVM" in rpython and have that supply things like control exceptions and compact storage classes
18:23 TimToady but does it allow separation of stack unwind from the throw?
18:23 TimToady in p6 we can throw and then decide not to
18:23 TimToady not to unwind
18:24 TimToady depending on what the handlers say
18:24 diakopter well, that's implemented on top of the VMs since contexts and frames are heaped
18:25 timotimo you have reached the end of my knowledge, i'm afraid. i think fijal would be happy to answer a few more questions, though
18:25 timotimo i must admit that the amount of layers and the interactions between them throws me off quite often
18:27 pmurias TimToady: the way I seperate the stack unwind from the throw in nqp-js is that I keep my own exception handler stack in a function argument and use the javascript exceptions just for unwinding
18:27 TimToady makes sense
18:28 timotimo i would *think* that the app-level stack would be something that's an object that's manually managed by the interpreter-level code (the code written in rpython), so it should be able to do stack unwinding easily
18:29 timotimo as an additional data point, pypy has a stackless transformation, which does trampolining and moving parts of the stack onto the heap and doing re-transplantations and i don't really understand most of it
18:29 timotimo it used to be able to produce a "stackless python" compatbile python interpreter. it now does so by default
18:30 TimToady stackless is good for interop
18:33 uvtc masak: saw your "where's my flying car" slides from a link posted here (in the logs). Glad to find it, thanks. Nice examples in there.
18:34 masak thanks.
18:34 masak I'm thinking of uploading it on Slideshare.
18:38 Targen joined #perl6
18:38 uvtc masak: Ah, was trying to remember where stevan_ put his recent presentation. It was speakerdeck.
18:41 stevan_ uvtc: https://speakerdeck.com/stevan_littl​e/perl-is-not-dead-it-is-a-dead-end
18:42 stevan_ speakerdeck gt slideshare # imo anyway
18:42 uvtc stevan_: right, that's the one. I like that the speakerdeck site is pretty uncluttered. I'm guessing both sd and slideshare allow you to upload your slides as a pdf.
18:42 stevan_ yup
18:42 stevan_ it seems to them break it up into some kind of html5 thing
18:42 stevan_ each page is an individual image
18:43 benabik joined #perl6
18:44 PerlJam stevan_: planning any moe hackathons?
18:45 stevan_ PerlJam: not at this point, no
18:46 uvtc Oh, what's the name for when a new version is announced (but not yet released) and it causes folks to stop using the current (available) version...
18:46 uvtc gah
18:46 PerlJam uvtc: stupidity? :)
18:47 diakopter not actually needing the software?
18:48 TimToady what's the word for when new versions are released continuously but everyone keeps saying it's "not released yet"
18:48 PerlJam uvtc: whatever that is, if it has a name, is isomorphic with designing (and implementing) features that you think you might need in the future.
18:48 diakopter TimToady: different definitions of released
18:48 uvtc Agh, sorry, don't mean to use this channel as my personal spoken language reference. I was thinking in terms of: "Was going to try Rakudo, but now will wait for it to come out on the JVM!"
18:49 TimToady why not get a head start? :)
18:49 tadzik it's like waiting for Steam on Linux :P
18:49 tadzik except that you can help :)
18:49 masak ok, trying speakerdeck.
18:50 uvtc Has there been any movement on a current official Perl 6 tutorial?
18:50 masak stevan_: oh, was gonna ask you.
18:50 PerlJam TimToady: I think you can "help" the "not released" problem.   Just make a public announcement that you bless Rakudo, Niecza, etc. as Perl 6 and therefore Perl 6 is hereby "released"   :)
18:50 masak stevan_: if Moe is the Pugs of Perl 5... where's the IRC channel? and how come we're not all on it?
18:51 stevan_ masak: #moe over on irc.perl.org, and everyone is welcome :)
18:51 masak \o/
18:51 PerlJam uvtc: There's an official tutorial?
18:51 stevan_ already is a few 6ixers in there
18:51 diakopter "not released yet" means running-stable and API-stable not released yet. imho, things users who are selecting software for real uses worry about
18:51 raiph__ uvtc: imo jonathan seems pretty hopeful that rakudo on jvm will be mostly working by yapcna (june 3)
18:51 uvtc PerlJam: I'm asking if there's been any movement on writing one.
18:51 stevan_ lambdacamels, Defenders of the Mu, or whatever you crazy kids call yourself these days
18:52 masak diakopter: see also my recent gist.
18:53 diakopter yes.
18:53 masak stevan_: lambdacamels has a real 2005 ring to it now. :)
18:53 masak stevan_: I think "sixers" has semi-established itself.
18:54 tadzik uvtc: I'd be interested in knowing this too :)
18:54 tadzik maybe we should start one
18:54 tadzik who's with me?
18:54 * uvtc is sorta looking in TimToady's direction, trying not to *look* like he's looking in that direction.
18:54 diakopter lots of folks have talked about tutorials over the years
18:54 PerlJam some of us have written some things too.
18:55 diakopter the best sources are in all the blog posts
18:55 * TimToady is hoping to have a camel book equivalent out this year
18:55 diakopter now, if there were a big list of all of those...
18:55 TimToady but that's not exactly a tutorial
18:55 PerlJam The problem is one of critical mass I think.   We don't have enough people pulling in the same direction at the same time to get it finished.
18:55 uvtc !!
18:55 raiph__ .oO ( If the Perl 5 community went with a rename to not be 5 but some other number (eg Perl 2013), Perl 6 would best have a suitable spot to land if Perl 6 is to retain a suitable relationship to the Perl brand. Perl Labs anyone? )
18:55 masak TimToady: whoa.
18:55 uvtc !o!
18:55 tadzik \o/
18:55 masak TimToady: that's... endorsement ;)
18:56 masak now we're talking.
18:56 arnsholt A six-camel would indeed be awesome
18:56 diakopter raiph__: at that point Perl 6 would just start itself Perl
18:56 diakopter *calling
18:56 diakopter (still keeping the v6 version)
18:56 PerlJam TimToady: a "Learning Perl 6" would go a long way towards helping adoption too.  But last time I asked merlyn about it, he said he didn't see a business model that would work (or something like that)
18:56 masak TimToady: will you put http://alma.ch/blogs/bahut/images/p6_cover.gif on the cover? :D :D :D
18:57 raiph__ diakopter: right. that would work.
18:57 TimToady masak: I've been tempted
18:57 masak *lol*
18:57 masak people would go "I knew it! wait, he did WHAT?"
18:57 diakopter 33rd should be bumped a bit
18:57 masak :P
18:58 masak we should add all the version numbers of the syposes.
18:58 diakopter multiply
18:58 masak that's why we keep updating them, right? :P
18:58 TimToady we presumably had one new version for each of the RFCs
18:58 TimToady so maybe we're up to 400 or so by now
18:59 * masak .oO( and they're proposing to name Perl 5 "Perl 2013". sheesh. ) :P
19:00 uvtc Request: regarding the Rosetta Code Perl 6 examples: try to offer at least 2 for each task/item: a pedagogical/tutorial example of how to do it in Perl 6, and then the one you wrote because it was elegant or shows off neat Perl 6 features.
19:00 alec__ joined #perl6
19:00 masak +1
19:00 uvtc The RC examples seem to be the most up-to-date available.
19:01 masak I still think the R/ in http://rosettacode.org/wiki​/Average_loop_length#Perl_6 hurts readability more than it helps it :/
19:01 TimToady many of the example do provide those two, though perhaps with not enough verbiage around the "standard" solution
19:02 masak http://rosettacode.org/wiki/La​st_Friday_of_Each_Month#Perl_6 has one procedural and one FP variant. I like that, too.
19:03 masak (and I really like .classify)
19:03 TimToady R/ is pronounced "goes into"  :)
19:04 TimToady 3 goes into 12 a total of 4 times
19:04 PerlJam besides, a reduce on the LHS of / looks awkward.
19:05 [Coke] I thought %% was goes into!
19:06 TimToady no, that's 'is divisible by'
19:07 uvtc Having commented "baby-Perl" versions of RC examples would help mitigate the impression of Perl 6 being too "from the future" / "space age" / tricksy whatever.
19:07 TimToady 'goesinto' has always been reversed division, at least on the west coast of the U.S.
19:07 TimToady and I suspect most of the rest of the country too
19:08 PerlJam uvtc: But ... but ... Perl 6 *is* from the future  :)
19:08 nwc10 even Texas? :-)
19:09 TimToady Texas is not from the future...
19:09 TimToady it's more of a parallel universe
19:10 uvtc PerlJam: Right. But having a baby-Perl6 example first puts folks at ease. "Oh, I see. This seems a lot like Perl 5 but nicer.". After that you hit them with "Pretty cool. But not cool enough. Here's another solution using ...".
19:10 geekosaur gazinna gazotta
19:11 TimToady we are in violent agreement, please feel free to bifurcate some of the as-yet unbifurcated entries
19:11 arnsholt It's been too long since I worked with grammars. Will Grammar.parse implicitly anchor to the beginning of the string?
19:12 TimToady but let's not do what the python folks do and try to show off the repl, which is really ugly and offputting
19:12 moritz r: grammar A { method TOP { a } }; say A.parse('back')
19:12 p6eval rakudo 0dda4c: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Undeclared routine:â�¤    a used at line 1â�¤â�¤Â»
19:12 moritz r: grammar A { token TOP { a } }; say A.parse('back')
19:12 p6eval rakudo 0dda4c: OUTPUT«#<failed match>␤»
19:12 uvtc (Heh. Just realized I stole that "Pretty cool, but not cool enough" quote from Learning Perl p. 96 :) )
19:13 uvtc TimToady: Agreed about the repl. Replified examples are more difficult to read, and more difficult to copy/paste.
19:14 uvtc Also, I now own the trademark and all residuals on the term "replified" in perpetuity, ad infinitum, quid demonstatum. Gesundheit.
19:15 TimToady one could put a tutorial wrapper page around RC and supply a visitation order, plus extra handholding that might be inappropriate for RC itself
19:15 TimToady you left out 'ad godwinum'
19:16 uvtc tee hehehe.
19:16 TimToady actually, I think I heard it originally as 'ad hitlerum'
19:16 arnsholt moritz: Durr. I could've done that, true.
19:21 diakopter bye feather
19:22 sivoais joined #perl6
19:22 Pleiades` joined #perl6
19:22 Timbus joined #perl6
19:22 autumn joined #perl6
19:23 masak joined #perl6
19:23 masak omg I just shutdown feather, accidentally :/
19:23 felher oO?
19:23 diakopter oops
19:23 PerlJam joined #perl6
19:23 masak Juerd: halp
19:23 moritz erm, what?
19:23 diakopter you booted Juerd :)
19:23 mtk joined #perl6
19:23 moritz I have a shell open on feather
19:24 moritz what's your problem?
19:24 masak oh phew
19:24 moritz moritz@feather:~$ uptime 20:24:04 up 2 min,  3 users,  load average: 1.19, 1.07, 0.44
19:24 masak "up 2 min".
19:24 masak does that mean it just rebooted?
19:25 moritz yes
19:25 masak :/
19:25 tadzik joined #perl6
19:25 masak sorry.
19:25 moritz so you rebooted, not shut down
19:25 masak well, that's something, I guess.
19:25 PerlJam So  .... it's all masak's fault?
19:25 TimToady isn't it usually?
19:25 uvtc Perl 5, rebooted.
19:25 moritz everything. Including the crisis in Mali.
19:25 masak I was one ssh too deep, wondering why I had to do /usr/bin/shutdown all of a sudden, not just shutdown... not stopping to think.
19:26 masak yeah. that was me, too.
19:27 uvtc masak, come back! Now see what you've done?
19:28 masak joined #perl6
19:28 TimToady back from Mali already?
19:28 masak back in screen, as opposed to panic-webchat.
19:28 TimToady or was it Texas this time?
19:30 sivoais joined #perl6
19:33 alester joined #perl6
19:33 TimToady masak: I think about signals every time I read http://rosettacode.org/wiki/Report​s:Tasks_not_implemented_in_Perl_6 and see "Handle a signal" as one of the tasks
19:33 TimToady in fact, that page is a gold mine for things you can't do in Perl 6 yet
19:34 * diakopter falls into the mine
19:34 TimToady note, there's also a lot of rocks in there around the gold
19:35 moritz that's the case with all gold mines :-)
19:35 TimToady just wanted to be clear about how accurate the analogy was :)
19:39 sivoais joined #perl6
19:40 jeffreykegler joined #perl6
19:42 masak orz
19:42 masak gomen
19:43 moritz masak: a friend of mine used to shut down his computer with 'halt', and after accidentally powering down a remote server installed an alias halt="You don't want to do that remotely'
19:44 moritz (and he could still shutdown -h if he really wanted to, or with fully qualified paths)
19:44 masak heh.
19:45 masak I promise I won't shut down feather again tonight.
19:45 arnsholt Smart, smart =)
19:46 [Coke] joined #perl6
19:48 [Coke] masak--
19:48 masak :(
19:48 swarley hello
19:48 [Coke] # doesn't matter since aloha is gone.
19:49 sivoais joined #perl6
19:49 Juerd joined #perl6
19:49 * [Coke] concentrates his aggression on require.js
19:50 swarley I read a paper on how to make classes and objects work with llvm :)
19:50 swarley yay for college papers
19:52 uvtc What is the Perlish term for making the commonly-used things easier to reach? That's some variation of huffman-coding, correct?
19:52 Juerd What happened with feather?
19:52 TimToady huffman coding, or Easy things should be easy, hard things should be possible.
19:53 uvtc TimToady: thanks
19:53 TimToady it's our interpretation of huffman coding, not the industry meaning of it
19:53 uvtc Right.
19:54 TimToady Juerd: masak got confused about his ssh depth
19:54 uvtc Juerd: someone forced masak out of his chair, rebooted feather, then ran off.
19:54 brrt joined #perl6
19:54 TimToady it was getting shoved out of the chair that confused him about his depth
19:55 TimToady as for the admissions in the backlog, I think masak++ is trying to cover for whoever really did it
19:56 masak Juerd: I accidentally feather. :/
19:56 TimToady and is still covering for him or her... :)
19:56 Juerd Oh, okay. So nothing that still needs fixing. That's good.
19:57 Juerd This is exactly why feather originally had a coloured prompt!
19:57 Juerd I should restore that :P
19:57 PerlJam blinking red?
19:57 fgomez joined #perl6
19:57 Juerd No, not red. I have that on other boxes already :P
19:57 Juerd (Core routers!)
19:57 sivoais joined #perl6
19:57 Juerd Feather had white on blue I believe
19:58 uvtc The trouble with colored prompts/backgrounds is that they eventually end up totally convincing me of what machine I'm on regardless of reality.
19:58 Juerd uvtc: As long as you don't have root, that's okay with me :P
19:58 PerlJam if feather always had a unicode-y camelia prepended to the prompt, that would be distinctive  :)
19:58 Juerd . /etc/bash_prompt
19:58 Juerd It's still there :)
19:59 Juerd Now to reinstate it in /etc/bash.bashrc
19:59 Juerd Done!
19:59 swarley export PS1="$PS1»ö« "
19:59 swarley \o/
20:00 masak ;)
20:00 swarley I should make a zsh plugin for that in perl6 like repos..
20:04 uvtc All the recent talk about language implementations (Moe (Perl 5 on JVM), Topaz (Ruby on PyPy), nqp-jvm), I'm waiting to hear of someone writing a Perl 6 implementation in Rust. (note: I am not that someone.)
20:04 TimToady ŏ̯̯̆:
20:05 TimToady .u ŏ̯̯̆:
20:06 phenny TimToady: U+006F U+032F U+032F U+0306 U+0306 U+003A
20:06 diakopter 🐛
20:07 uvtc Er, not *waiting* per se, just sorta half-expecting.
20:08 nwc10 I'll believe it when it's good enough to run its own install target
20:08 Util joined #perl6
20:08 nwc10 (Perl 5's installer script is written in Perl 5)
20:08 uvtc nwc10: are you referring to Rust's installer script?
20:09 nwc10 I don't know about Rust's installer script.
20:09 nwc10 But I do know about Parrot, Rakudo, Moe and NQP-JVM
20:09 uvtc nwc10: ok. Didn't understand your "install target" comment.
20:09 nwc10 dogfood
20:10 nwc10 Parrot is 10 years old, yet its installer script is still written in Perl 5. Doesn't run on the Parrot that was just built
20:10 uvtc I only mention Rust because I've heard good things about it, and it looks somewhat similar to C, Perl (and a little Ruby), and b/c it seems like it would be at about the right level of abstraction.
20:12 sivoais joined #perl6
20:17 uvtc And because discussions of "perl 6 on llvm" have come up in the past, and Rust is built on llvm. And because it's free software. Anyhow.
20:18 swarley i'm actually working on 6model on llvm right now
20:21 uvtc I saw some comments regarding that in the backlog. In the backwash. In the jet-wash of this channel. :) I'm way out of my ssh depth discussing language implementation details.
20:22 uvtc I can see why Moe chose Scala though, since stevan_ was explicit about wanting stable mature tech to build upon.
20:23 diakopter Rust's memory model is .. complex
20:23 diakopter (as I've just learned)
20:24 uvtc Hm. I think I noticed in the tut that it offers a wide variety of pointer types to choose from.
20:25 uvtc Maybe comes with the territory of having the sort of low-level control Rust offers. Dunno.
20:26 diakopter no shared-memory threads, notably
20:26 nwc10 shared-memory threads have to Go
20:26 uvtc diakopter: Ah, right. Saw a recent link about its "intimidation factor": https://mail.mozilla.org/pipermail​/rust-dev/2013-January/002917.html
20:27 uvtc Argh. And so must I. o/
20:28 uvtc left #perl6
20:28 diakopter nwc10: I disagree. they're necessarily practical for implementing implicit parallelism or other concurrency models on top of OS threads
20:28 pmurias swarley: is the slow loading of yarv bytecode the only reason you switched to llvm?
20:28 nwc10 it was a Go pun
20:28 nwc10 and yes, I can see why they are useful
20:29 nwc10 it's one reason ithreads isn't useful
20:29 benabik joined #perl6
20:29 nwc10 you can't divide a task by spinning up a few threads, each of which gets sole ownership of some partition of the objects involved
20:30 nwc10 as in "ithreads prevents this"
20:30 diakopter right, if each of them needs access to a shared queue, e.g.
20:31 nwc10 http://static.rust-lang.org/doc/tutorial.html -- To build from source you will also need the following prerequisite packages: ... python 2.6 or later (but not 3.x)
20:31 nwc10 (Sorry Guido)
20:33 skids parallelism without shared mem is about as useful as FP without monads.
20:34 Ulti possibly of interest to peeps in here http://page.mi.fu-berlin.de/p​rechelt/Biblio/jccpprtTR.pdf
20:35 swarley pmurias; partially, but also because llvm is JIT compiled, and allows for a lower level or representation
20:36 am0c joined #perl6
20:47 pmurias swarley: JIT? isn't it compiled ahead of time?
20:48 pmurias swarley: you should be aware that you are basically writing your own custom VM when targeting llvm
20:48 swarley No, LLVM uses a JIT compiler
20:48 diakopter no
20:48 diakopter it contains a compiler you can use to JIT
20:48 swarley Oh, I thought JIT was default
20:49 diakopter default for what?
20:49 diakopter not any of the textual inputs to the compiler, commandline
20:49 swarley When compiling llvm, that it uses JIT
20:49 diakopter no
20:50 diakopter swarley: pmurias is correct, you would need to create a VM, including garbage collector and object system
20:50 moritz LLVM is, as the name says, low-level
20:50 swarley I know that.
20:51 swarley The garbage collection is what I'm worried about
20:51 pmurias it's very similiar to targeting C
20:52 pmurias the most significant difference is that you avoid spending time compiling C code
20:53 swarley nqp: say(nqp::join(", ", < making sure this is an array in nqp >))
20:53 p6eval nqp: OUTPUT«making, sure, this, is, an, array, in, nqp␤»
20:56 skids llvm is essentially an abstraction over assembly language instruction sets, plus some useful... eh... proteins.  All very basic building blocks.
20:56 masak everything the body needs.
20:57 am0c joined #perl6
20:59 bbkr__ if I write "class A{ }" which classes does it inherits from? Only Mu and Any ?
20:59 masak rn: class A {}; .say for A.^mro
20:59 p6eval niecza v24-18-gaf64300: OUTPUT«Unhandled exception: Unable to resolve method mro in type ClassHOW␤  at /tmp/7Tug434Z8z line 1 (mainline @ 6) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4218 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4219 (module-CORE @ 580) ␤  at /ho…
20:59 p6eval ..rakudo 0dda4c: OUTPUT«A()␤Any()␤Mu()␤»
21:00 masak bbkr__: yes.
21:00 bbkr__ masak++ # I didn't know ^mro trick
21:00 bbkr__ thanks
21:00 masak it stands for "method resolution order".
21:00 benabik rn: class A is Mu {}; .say for A.^mro
21:00 p6eval niecza v24-18-gaf64300: OUTPUT«Unhandled exception: Unable to resolve method mro in type ClassHOW␤  at /tmp/OYf7QN7__j line 1 (mainline @ 6) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4218 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4219 (module-CORE @ 580) ␤  at /ho…
21:00 p6eval ..rakudo 0dda4c: OUTPUT«A()␤Mu()␤»
21:00 masak so if you're doing MI, it tells you in which order methods are looked for, too.
21:01 masak how do I declare a class that doesn't inherit from Mu?
21:01 timotimo what does that even mean?
21:02 moritz masak: you don't
21:03 moritz "how do I create a type that cannot be expressed in terms of the type system?"
21:04 skids You wait until the class is sleeping and then sneak up beside it and tip it over.
21:04 swarley magic
21:04 masak yes, I guess the MOP could help me with that...
21:04 masak moritz: the question is not as silly as it may sound. we already know that "foreign objects" might not inherit from Mu.
21:05 swarley masak; https://dl.dropbox.com/u/36785145/4398156​%2B_1d5703846260e1b19090a1dd101f70fb.gif
21:05 masak or is that superseded information? is that solved entirely with reprs these days?
21:05 masak swarley: ok...
21:05 moritz masak: foreign objects behave as though they conform to Mu
21:06 swarley Sorry, I've been waiting for an excuse to show that picture to anyone at all for days
21:06 diakopter masak: well, if the VM exposes instructions/opcodes to bypass the HLL and do that kind of stuff, then yeah you can do it
21:07 diakopter r: macro marco(AST $foo) { say $foo.evaluate_unquotes([]).dump }; marco(&marco)
21:07 p6eval rakudo 0dda4c: OUTPUT«- QAST::Op(call)␤  - QAST::WVal(Code)␤␤===SORRY!===␤too few positional arguments: 2 passed, 3 (or more) expected␤»
21:08 masak o.O
21:08 masak my, that's *evil*. :)
21:09 diakopter r: macro marco(AST $foo) { say $foo.evaluate_unquotes([$foo]).dump }; marco(&marco)
21:09 p6eval rakudo 0dda4c: OUTPUT«- QAST::Op(call)␤  - QAST::WVal(Code)␤␤===SORRY!===␤too few positional arguments: 2 passed, 3 (or more) expected␤»
21:09 masak and for the love of borsht, stop calling your macros 'marco'!
21:09 fgomez joined #perl6
21:09 diakopter I'll WVal you
21:09 benabik .oO( Macro Polo? )
21:09 dalek rakudo/nom: cc7e3d3 | moritz++ | src/core/Range.pm:
21:09 dalek rakudo/nom: constant-fold some range operators
21:09 dalek rakudo/nom:
21:09 dalek rakudo/nom: the others cause the setting compilation to fail when constant-folded. Not sure yet why.
21:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/cc7e3d3b4f
21:10 skids It's like golfing, but with macros.
21:10 skids and horses.
21:13 diakopter swarley: the big problem with using llvm for Perl 6 is that it really wants a stackless design, and that's the kind of stuff that totally obviates most of the optimizations llvm can do...
21:14 nwc10 "it" - Perl 6 wants a stackless design?
21:14 swarley Well, llvm is working on a new project, I don't know if it would be any help in this situation
21:15 diakopter yeah
21:15 brrt whats the deal with stackless anyway
21:15 swarley http://polly.llvm.org/
21:15 diakopter TimToady mentioned earlier today it's better for ffi
21:15 brrt why?
21:16 brrt and ehm.. are we talking c-stackless? or stackless-at-all
21:16 diakopter stackless for the language's invocations
21:16 brrt hmm, maybe i'm to tired to understand this now
21:16 diakopter the runtime library into which it calls will still use the C stack
21:17 diakopter also, because it enables control exceptions with delayed call-chain unrolling
21:17 diakopter *unwinding
21:17 nwc10 and, I believe, continuations
21:18 swarley So, what is the bare minimum that a 6model object does.
21:19 brrt swarley, check out the nqp repo :-)
21:19 swarley I'm reading it now
21:19 swarley I'm guessing PMC is a parrot specific struct
21:19 brrt basically, constructing objects (representations), types, and 'classes' / roles
21:19 diakopter a representation can implement any of the predefined operations
21:20 brrt yes, it stands for polymorphic container / parrot magic cookie
21:20 swarley Polymorphic container?
21:21 diakopter it's similar to 6model
21:21 swarley I'm just going to assume it's an object base4
21:21 swarley -4
21:21 brrt its basically what parrot understands to be an object
21:21 brrt PMC is a bit of a simplistic object system
21:21 pmurias diakopter: re better for ffi - it's better for interop with other runtimes as you avoid having runloops recurse into each other
21:22 brrt and of pmcs, there are still two more types, namely raw (native) pmcs, writteen in C, and object pmcs which are written in pir / winxed
21:23 brrt they are not really different, but still different enough to consider them differently
21:23 brrt a pmc may be a hash table, or a resizable array or a fixed array
21:23 brrt recently parrot added the very useful and long awaited fixedfloatarray
21:24 masak I don't get it. Aldebaran Robotics were at FOSDEM. they say they're Open Source. but I don't see anything downloadable on their site.
21:24 masak shouldn't there be, like, a link at http://www.aldebaran-robotics.com/en/Dis​cover-NAO/Key-Features/open-source.html ?
21:24 masak "we're open source... and here's the source!"
21:25 swarley Suggestions on where I should start with 6model? I'm assuming that I should start by trying to get all of the functionality of sixmodelobject.c
21:25 arnsholt I think sixmodelobject.h is a good place to start
21:25 arnsholt That's where the all the interesting typedefs are
21:25 swarley Yeah, I'm reading it now
21:26 arnsholt masak: One of my colleagues works with a Nao. I can ask him how OSS they are tomorrow =)
21:26 pmurias swarley: have you read nqp/docs/6model/overview.markdown?
21:26 masak arnsholt: would be nice.
21:27 FROGGS joined #perl6
21:27 FROGGS olá!
21:27 arnsholt Hmm. Cargoculting Rakudo's highwater stuff turns out to be harder than expected
21:28 masak FROGGS! \o/
21:28 swarley Ah, no I have not. I'll take a gander
21:28 masak arnsholt: well, the thing about cargoculting is that it doesn't make more airplanes come.
21:29 arnsholt Indeed
21:29 arnsholt For some reason you have to actually figure out what's going on =)
21:30 * masak .oO( actually figuring out what's going on is hard, let's go cargocult )
21:31 arnsholt Quite
21:31 * masak .oO( exact quotations are hard, let's go paraphrasing )
21:31 * masak .oO( autopuns are hard, let's go snowcloning )
21:35 [Coke] ovid commented on the 7 suggestion on FB. Followed by a storm of comments. I threw in a small note about 5 vs. 7 vs. 6;
21:36 nwc10 the code's at git://perl5.git.perl.org/perl.git if he wants to fork it.
21:36 nwc10 no-one ever seems to take up this offer.
21:37 timotimo [Coke]: is that facebook discussion publically visible?
21:40 [Coke] timotimo: are you friends with ovid?
21:40 diakopter nwc10: how long ago did kephra fork
21:40 timotimo i'm not no facebook
21:40 [Coke] timotimo: Then I don't feel comfortable duplicating it outside of FB.
21:40 timotimo blergh, i need to do something, anything to this keyboard, it's driving me mad :|
21:41 timotimo that's no problem
21:41 benabik timotimo: Hammer?
21:41 [Coke] nwc10: if ovid wants to fork it?
21:41 [Coke] This isn't a code issue, though, it's a marketing issue.
21:41 timotimo benabik: i was thinking more along the lines of "vacuum cleaner", but i'm already missing one key (my tab key, RIP) and one gets loose every time i use the trackpoint mouse ...
21:41 swarley Okay, so is there any reason why I shouldn't do this 6model in C++ or Objective C?
21:42 brrt swarley, not really, but objective-c requires a full runtime and should not be superportable
21:42 swarley I wouldn't actually use objective c
21:42 swarley Im not sure why I threw it in
21:42 brrt :-)
21:43 brrt you're free to experiment as much as you like
21:43 brrt if you know c++ well, go for it
21:43 swarley And it requires a full run time even without using special libraries?
21:43 brrt always
21:43 swarley I know that if you use *Step it does.. but i didnt know it did without them
21:43 brrt objective-c is uses a lot of introspection thingies
21:44 swarley Or maybe pascal;)
21:46 brrt whatever floats your boat
21:47 brrt the full runtime is on the scale of things a small library,  of course, but that doesn't make it less true
21:47 brrt (of objective-c)
21:50 spider-mario joined #perl6
21:53 benabik joined #perl6
21:58 donaldh joined #perl6
22:21 FROGGS phenny: tell sorear that I updated the patch: https://gist.github.com/FR​OGGS/0a6f8e2d4053fb0ba5d0
22:21 phenny FROGGS: I'll pass that on when sorear is around.
22:22 FROGGS phenny: tell sorear ... but rerunning the spectest always gives different failing tests, is that normal? nothing related to my patch though
22:22 phenny FROGGS: I'll pass that on when sorear is around.
22:23 swarley so what is happening with the .NET 6model?
22:23 diakopter swarley: wait until tomorrow morning to ask jnthn
22:23 brrt swarley, mostly nothing
22:24 swarley alright
22:24 brrt the original 6model repo was a testing ground
22:24 brrt i believe a recent blog post had jnthn explicitly stating that the CLR wasn't suitable
22:24 diakopter heh, no
22:25 diakopter he said he would do the implementation differently now
22:25 diakopter the CLR is just as suitable as the JVM
22:26 brrt well, it seems i misread
22:26 diakopter I'll verify
22:27 diakopter yes
22:27 brrt what is explicitly stated that what is done now fits better into jvm than what was done to the clr
22:27 brrt i understood that to mean 'somehow the clr wasn't suitable'
22:30 jnthn Good evening.
22:30 jnthn brrt: diakopter has read it the way I intended.
22:31 diakopter jnthn: you know those days when the backlog is, like, less than a screen?
22:31 diakopter good luck finishing today's before going to bed...
22:32 brrt jnthn, good evening :-)
22:32 jnthn diakopter: Oh, I was following it from the irclog on the train wifi.
22:34 diakopter oh ha
22:34 brrt jnthn, why choose jvm rather than clr, then? completely arbitrary?
22:34 diakopter more people would adopt it at first :)
22:35 jnthn brrt: There's already a Perl 6 implementation on the CLR for one. :)
22:35 brrt good point
22:35 brrt how is niecza going
22:36 diakopter sorear has gotten busy it seems
22:36 jnthn It's crazy commit rate has sure slowed
22:36 jnthn (as in, crazily productive)
22:37 masak jnthn! \o/
22:38 jnthn o/ masak
22:38 jnthn Glad to see you're still here...thought you mighta decided to shutdown for the night...
22:38 jnthn </tease> :)
22:39 masak *sigh* I shut down one little server, and see what happens... :P
22:39 diakopter a few people lose their open irc windows
22:39 diakopter and miss out on logs
22:39 jnthn Could happen to anybody. :)
22:42 screencast joined #perl6
22:45 screencast can you help me to got a man's facebook
22:45 brrt jnthn, whats stable
22:45 brrt and screencast, not me
22:45 brrt i mean s-table
22:45 screencast not me????
22:46 brrt i cannot help you :-)
22:46 screencast why
22:46 diakopter screencast: this is a chat channel for a programming language
22:46 [Coke] screencast: is this a trick question? go to www.facebook.com - search for the person.
22:47 screencast no
22:47 screencast get the password only
22:48 screencast was kicked by diakopter: screencast
22:48 brrt diakopter++
22:49 jnthn brrt: Does the document in nqp/docs/6model somewhere not say that...
22:49 diakopter lamers. they happen.
22:49 jnthn Or read sixmodelobject.h
22:50 diakopter brrt: s is short for shredd
22:50 diakopter um. shared
22:51 brrt i'm reading them as we speak
22:51 jnthn :)
22:51 * jnthn shoulda called it don't-read-this-if-you-wan​t-to-understand-6model.md :)
22:52 jnthn (And yes, I always read IGNOREME files, then get disappoint when they don't contain something funny...)
22:58 brrt does lolsql actually work?
22:59 masak tias
22:59 jnthn I kinda doubt it. I wrote it as a quick hack for laughs years ago.
22:59 jnthn We probably fixed something it relies on :)
23:00 brrt it is pretty funny though
23:01 jnthn yes, I wanted an example thing to write a grammar for to show off grammars and it seemed a decent mix of amusing but actually somewhat interesting to parse.
23:01 lue hello o/
23:01 * jnthn did more recently have a partial Perl 6 grammar that parsed a subset of real SQL for a past $dayjob task
23:01 brrt hi lue
23:02 jnthn hellue
23:02 masak lue! \o/
23:02 masak 'night, #perl6
23:02 lue ♞ masak o/
23:06 brrt yes, night too
23:07 brrt left #perl6
23:08 jeffreykegler joined #perl6
23:20 cognominal joined #perl6
23:24 lue huh. Any idea why the PIR code in Panda::Ecosystem suddenly won't work? The specific error I get is "connect failed: Connection refused"
23:29 donaldh how do I get the length of an array in nap ?
23:29 donaldh nqp even
23:29 jnthn nqp::elems(@array)
23:29 jnthn lue: Maybe the thing it's trying to connect to really is down...
23:29 donaldh jnthn: thx
23:29 p5eval joined #perl6
23:32 lue Ah, it's trying to load a file from feather (and skimming the backlog, it seems some things happened there today)
23:32 diakopter oh, httpd2 might need started
23:33 lue (specifically, it's trying http://feather.perl6.nl:3000/projects.json)
23:33 diakopter oh, that's not apache I think
23:33 skids joined #perl6
23:33 diakopter I think that's something tadzik runs
23:34 pmurias swarley: how would using c++ help you?
23:37 xilo_ joined #perl6
23:38 donaldh jnthn: The nqp-jvm ROADMAP says 'remaining string ops' in the QAST to JAST compiler section
23:38 b1rkh0ff joined #perl6
23:38 donaldh jnthn: is that just nqp ops ?
23:39 donaldh jnthn: or is there more to it?
23:39 jnthn donaldh: yeah, but...I think it may be largely done
23:39 swarley pmurias; I'm not really sure. I guess just using a basic class where structs are used in some cases
23:40 donaldh jnthn: split was missing so I have done that so far.
23:40 jnthn donaldh: Thing that's not done that will be needed at some point is checking char class membership
23:40 jnthn nqp::iscclass and friends, iirc
23:41 swarley Also, std:: container classes
23:41 jnthn Will need those for the regex engine at some point in the hopefully near future. :)
23:42 donaldh Okay, hopefully I have learned how to do this with nqp::split
23:42 donaldh I have a diff.
23:42 swarley I know it's not feasible to make the llvm port, but i still want to, just to show that I can. But I really don't want to rewrite parts of parrot >.< I suppose I'll have to read through the code and get it's intended meaning
23:43 jnthn fwiw, the JVM version of the 6model code is maybe cleaner in so far as it's not tied up with Parrot. OTOH, it is tied up with the JVM.
23:44 jnthn donaldh: That, or pull request...
23:44 * jnthn is gonna sleep, will backlog in the morning
23:44 donaldh Well I've never created a pull request before, but I need to learn sometime :-)
23:44 jnthn Or a pull request leads to an email so I surely won't lose it that way ;)
23:45 jnthn OK, 'night
23:45 TimToady o/
23:45 donaldh 'night jnthn
23:46 pmurias swarley: it's hard to write a efficient llvm port as it's basically rewriting parts of parrot
23:54 lue pmurias: do you mean Parrot code specifically or general VM functionality?

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

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs