»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: , or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by wolfe.freenode.net on 30 October 2009.
zaslon lolperl6adventhazblogged! perl6advent++ 'Day 23: Lazy fruits from the gather of Eden': perl6advent.wordpress.com/2009/12/2...r-of-eden/ 00:03
00:03 mubot left
zaslon lolperl6adventhazblogged! perl6advent++ 'Day 22: Operator Overloading': perl6advent.wordpress.com/2009/12/2...erloading/ 00:06
lolperl6adventhazblogged! perl6advent++ 'Day 23: Lazy fruits from the gather of Eden': perl6advent.wordpress.com/2009/12/2...r-of-eden/ 00:09
diakopter zaslon: thanks 00:12
zaslon Sorry, I don't understand that command
diakopter zaslon: i see 00:13
zaslon Sorry, I don't understand that command
dduncan question, are there multiple NaN values or just one? the synopsis talk as if there is just one but I thought I read otherwise somewhere, such as a different NaN for each general reason we don't have a number 00:20
in the latter case, NaN sounds like a specialized unthrown exception 00:21
00:35 Chillance left 00:42 payload left 00:44 nihiliad left 00:52 meppl joined 01:00 pmurias left 01:06 colomon left 01:20 lest_away is now known as lestrrat 01:24 colomon_ joined
colomon_ dduncan: I think the spec is still vague on that. 01:28
01:42 Baggio_ joined
diakopter cacm.acm.org/magazines/2010/1/55760...y/fulltext 01:48
01:50 katz left
ash__ diakopter: thats why my degree says 'Software Engineer' not computer science, well hopefully when i get it next semester 01:59
diakopter schneide.wordpress.com/2009/12/21/t...ight-tool/
ash__: oh :) 02:00
oh look, the essay isn't copyrighted yet until 2010 02:01
heh
ash__ i like to think i can program, or am better at the programming side of 'computer science' but that may be a biased opinion
dang, they are a month ahead of everyone else 02:02
eternaleye diakopter: That is an awesome post
02:02 zaslon left, pointme left
ash__ i'd hate to be in one of his classes, if he's that far ahead i'd never catch up 02:02
02:02 pointme joined, mubot joined, zaslon joined
ash__ speaking of ACM, i gave a presentation on perl6 and rakudo at my school, and am probably going to give it again next semester 02:03
diakopter eternaleye: which one? the Stroustrup essay or the Softwareschneiderei GmbH post 02:05
eternaleye Stroustrup
diakopter ash__: re your degree-to-be, he writes 'Preferring the labels "software engineering" or "IT" over "CS" may indicate differences in perspective, but problems have a nasty way of reemerging in slightly different guises after a move to a new setting.' 02:08
imho, students should be awarded distinct measurements of achievement in their demonstrated ability in the areas of Problem/Goal Analysis/Identification and Measurement/Experiment Design/Implementation 02:12
the first category is Analyzing a Problem (and in the absence of having a Problem to Analyze), Identifying a measurable Goal for improvement 02:17
the second category is Designing and Implementing Measurements and Experiments, obviously :) Computers, their softwares, and the states of those softwares are the subjects/universe for compsci students, and the rest falls out from there. </hand_wave> 02:20
otoh, "Computer Scientists" Science is an very different discipline. 02:24
sjohnson hi 02:26
diakopter sjohnson: hola 02:27
sjohnson hows it goin! 02:28
diakopter Blackberry data services down globally for 4 hours
eternaleye ouch 02:31
ash__ diakopter: my schools main distinction between CS and Software engineering is software engineers have more project based classes and have to take a few extra classes like software process vs cs that have to take more theoretical classes on programming and a few more EE-ish related classes 02:32
eternaleye ash__: What school? 02:34
ash__ auburn 02:37
university in auburn al
02:44 jaldhar joined 02:47 JimmyZ joined 02:57 _jaldhar joined, jaldhar left 02:59 Baggio_ left, Baggio_ joined
colomon_ ng: (1...11).grep(*%3)>>.say 03:34
p6eval ng 9d5018: too few positional arguments: 3 passed, 4 (or more) expected␤current instr.: 'perl6;Code;new' pc 11669 (src/builtins/Positional.pir:125)␤
03:34 matsuzine joined
colomon_ ng: (1...11).grep({$_ % 3})>>.say 03:35
p6eval ng 9d5018: Method 'grep' not found for invocant of class 'Array'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤
03:44 ihrd1 joined 03:45 freakazoid_42 joined
freakazoid_42 hello 03:45
03:46 ihrd1 left, gfx joined 03:57 TiMBuS|Away joined 03:59 TiMBuS left 04:07 meppl left, meppel joined 04:08 meppel is now known as meppl, patspam left 04:14 szabgabx joined 04:22 matsuzine_ joined 04:23 matsuzine left 04:24 cdarroch left 04:29 xinming_ left 04:32 am0c joined 04:51 freakazoid_42 is now known as sice_boy 05:01 xinming joined 05:09 matsuzine_ left 05:13 xomas left 05:23 FalseVinylShrub joined 05:24 Baggio_ left 05:26 Baggio_ joined 05:31 FalseVinylShrub left 05:39 restrictedinfini joined
restrictedinfini m new to this community 05:40
can someone guide me how to get started
05:40 Baggio_ left
mberends yes, tell me a bit about your interests 05:41
05:50 restrictedinfini left, xenoterracide_ is now known as xenoterracide
dduncan that didn't last long 05:51
mberends probably didn't get the right kind of help :-/ 05:52
05:53 justatheory left 06:02 Baggio_ joined
mberends that Bjarne Stroustrup article cacm.acm.org/magazines/2010/1/55760...y/fulltext is close to my heart in sentiments but disappointing for lack of practical solutions 06:04
"teachers should program more", "students should write bigger programs", "only qualified programmers should be allowed to supply certain software". That last one whiffs of closed shop trade unionism. 06:08
I'd expected better from Bjarne 06:09
actively participating in #perl6 has done more to improve my programmer skills than over 10 years in the classroom (they were not idle years either, just commercially oriented). :) 06:13
06:21 gfx left
spinclad can somebody haz edit privs on wordpress for the latest advent? i presume "sort { $^a[1] $^b[1] }," has a hidden spaceship in it, cloaked by the html encoding. 06:31
and "The second property of gather is that {s//while /}the take calls ..."
and "sub hamming-sequence() # 2**a * 3**b * 5**c, where { all(a,b,c) <= 0 }": s/ <= / >= /
mberends thanks, will do 06:32
spinclad mberends++ 06:33
06:33 pdcawley joined
mberends spinclad: spaceship or cmp ? 06:37
ok, date, <=> is correct 06:38
that missing 'while' had me puzzled a few hours ago as well 06:41
06:44 sice_boy left 06:45 agentzh joined, rgrau left
mberends fixed. spinclad++ 06:48
06:49 constant left 07:13 Su-Shee joined
Su-Shee good morning 07:13
mberends good morning 07:14
07:20 Baggio_ left
moritz_ good moroning 07:29
diakopter moritz_: GO DMONRNGIO 07:31
I mean..
:)
moritz_ :-)
diakopter ok, I got my little grammar compiler up to 9m compiled RE invocations/second. 07:32
07:32 constant joined
diakopter I'd say that's a good place to arrest the premature optimization for now 07:32
moritz_ 9M or 9m? :-) 07:34
diakopter oh; lol
1e6
I mean
9e6
but yeah, 100 seconds/invocation would be, ... slow 07:35
07:35 kaare joined
mberends 9 millicompiles is worse than GGE 07:36
07:36 kaare is now known as Guest73154
diakopter invocations, not compiles 07:36
mberends heh, after a wrong tar option: tar: Cowardly refusing to create an empty archive 07:47
cowards! 07:48
moritz_ likes that
that always happens when I accidentally use c instead of x
mberends indeed :) 07:49
07:54 nbrown left 07:59 bryan[c1] joined
diakopter bryan[c1]: wb 08:01
bryan[c1] ?
diakopter you were here a day or two ago, iirc 08:02
lisppaste3 bryan[c1] pasted "untitled" at paste.lisp.org/display/92520
bryan[c1] indeed i was
cant understand why that doesnt work
must be retarded or something
diakopter Perl 6 doesn't have a 'use strict;'
bryan[c1] im banned from #perl
so its 5.x
sorry 08:03
mberends bryan[c1]: would you still be banned if you dropped the [c1] from your nick? 08:04
xinming mberends: what's wrong with c1?
bryan[c1] not sure if that would really make a difference
mberends actually, you could assume another nick such as ReallyGrovellingNewbie ;) 08:05
bryan[c1] :(
how the hell is it not working
mberends but those #perl types are sometimes like the vultures in Lion King
diakopter bryan[c1]: it needs a semicolon after the first print 08:06
bryan[c1] oh LOL
now you made me feel dumb
bryan[c1] cries
08:06 diakopter sets mode: +o bryan[c1]
bryan[c1] LOL 08:07
diakopter hugme: hug bryan[c1]
hugme hugs bryan[c1]
08:07 ChanServ sets mode: -o bryan[c1]
mberends xinming: suffixes for uniqueness are fine, but they are quite noisy when not required 08:07
08:11 mariuz joined 08:13 flip214 joined
flip214 fröhliche weihnachten 08:13
rakudo: my $a="a:a:a"; $a.=subst( rx{ \: $ }, "."); say $a; 08:16
p6eval rakudo 8dc189: a:a:a␤
flip214 rakudo: my $a="a:a:a:"; $a.=subst( rx{ \: $ }, "."); say $a;
p6eval rakudo 8dc189: a:a:a.␤
flip214 rakudo: my $a="a:a:a:"; $a.=subst( rx{ \: $ }, "X"); say $a;
p6eval rakudo 8dc189: a:a:aX␤
flip214 rakudo: my $a="a:a:a:"; $a.=subst( rx{ ':' $ }, "X"); say $a;
p6eval rakudo 8dc189: a:a:aX␤
flip214 rakudo: my $a="a:a:a:"; $a.=subst( rx{ ":" $ }, "X"); say $a; 08:17
p6eval rakudo 8dc189: Confused at line 2, near "( rx{ \":\" "␤in Main (file <unknown>, line <unknown>)␤
flip214 Is this wrong? Shouldn't that work, too, like with single quotes?
08:18 Chillance joined 08:19 iblechbot joined
moritz_ just NYI 08:29
diakopter o/ ciao4nowUpals
08:35 TiMBuS|Away left 08:37 TiMBuS|Away joined
mathw o/ 08:44
lisppaste3 bryan[c1] pasted "n00b" at paste.lisp.org/display/92522
bryan[c1] dont click that 08:45
well you can but its stupid
dduncan so you basically posted a button that says "don't click me" 08:50
bryan[c1] actually i forgot it posted into the channel
im used to using copypastas that dont do that sort of thing 08:51
dduncan okay
bryan[c1] plus its a stupid 10 line beginner program
sorry if it was such a bother 08:52
08:56 dduncan left 09:04 meneldor joined
moritz_ no problem 09:09
meneldor hello all
mathw Hello meneldor 09:13
meneldor do anyone use p6 for web now? 09:14
is there something like the old CGI.pm
moritz_ I think there is, in the November repo 09:15
mathw Web.pm 09:17
09:17 colomon_ left
mathw which I believe November's been converted to use, but it's a separate project 09:18
mberends mathw: the conversion is very partial so far
mathw mberends: I didn't know how much had been done 09:19
mberends November has only just kept ahead of bitrot in the last few months, because of more important other projects 09:20
November the CGI.pm is probably usable though 09:21
*the November 09:22
09:24 tempire left
mberends afk & # shower 09:24
moritz_ hugme: list projects 09:26
hugme moritz_: I know about book, gge, hugme, ilbot, json, november, nqp-rx, nqpbook, perl6-examples, proto, svg-matchdumper, svg-plot, temporal-flux-perl6syn, tufte, web
moritz_ hugme: add moritz to november 09:27
hugme hugs moritz. Welcome to november!
09:31 bacek joined
bacek o hai 09:33
moritz_ are new November features still generally prototyped in p5w?
hi bacek
bacek std: my @tentura; say ?all(<id>.defined << @tentura)
p6eval std 29388: ===SORRY!===␤Unsupported use of << to do left shift; in Perl 6 please use +< or ~< at /tmp/tILw2Wwz7D line 1:␤------> my @tentura; say ?all(<id>.defined << ⏏@tentura)␤FAILED 00:01 109m␤
09:33 baest joined
dalek vember: a194133 | moritz++ | (2 files):
start to get rid of the undef term
09:33
bacek std: my @tentura; say ?all(defined << @tentura)
p6eval std 29388: ===SORRY!===␤(Possible runaway string from line 1)␤Unsupported use of << to do left shift; in Perl 6 please use +< or ~< at /tmp/Z65coUomna line 1 (EOF):␤------> @tentura; say ?all(defined << @tentura)⏏<EOL>␤FAILED 00:02 108m␤
bacek moritz_, how hyper-operators should work on methods? (And should they?) 09:34
moritz_ rakudo: say <a b c>>>.uc
p6eval rakudo 8dc189: ABC␤
bacek rakudo: my @a=(a, undef, b); say ?all(@a>>defined) 09:35
p6eval rakudo 8dc189: Confused at line 2, near "(@a>>defin"␤in Main (file <unknown>, line <unknown>)␤
bacek erm...
rakudo: my @a=(a, undef, b); say all(@a>>defined)
p6eval rakudo 8dc189: Confused at line 2, near "(@a>>defin"␤in Main (file <unknown>, line <unknown>)␤
moritz_ rakudo: my @a=(a, undef, b); say all(@a>>.defined) 09:36
p6eval rakudo 8dc189: Could not find non-existent sub a␤in Main (file src/gen_setting.pm, line 324)␤
moritz_ you still need a dot
rakudo: my @a=('a', undef, 'b'); say all(@a>>.defined)
bacek rakudo: my @a=('a', undef, 'b'); say all(@a>>.defined)
p6eval rakudo 8dc189: all(Bool::True, Bool::False, Bool::True)␤
moritz_ rakudo: my @a=('a', undef, 'b'); say ?all(@a>>.defined)
09:36 TiMBuS|Away left
p6eval rakudo 8dc189: 0␤ 09:36
bacek heh :)
moritz_ the junction only collapses in boolean context 09:37
09:37 agentzh left
bacek rakudo: my @a = ( { id => 'a' }, { id => undef }, ( id => 'b' }); say ?all(@a>>.<id>.defined) 09:37
p6eval rakudo 8dc189: Confused at line 2, near "( id => 'b"␤in Main (file <unknown>, line <unknown>)␤
bacek rakudo: my @a = ( { id => 'a' }, { id => undef }, { id => 'b' }); say ?all(@a>>.<id>.defined)
09:38 TiMBuS|Away joined
p6eval rakudo 8dc189: ( no output ) 09:38
moritz_ you probably want @a».<id>».defined
std: my @a; @a».<id>».defined
p6eval std 29388: ok 00:01 106m␤
bacek rakudo: my @a = ( { id => 'a' }, { id => undef }, { id => 'b' }); say ?all(@a>>.<id>>>.defined)
p6eval rakudo 8dc189: ( no output ) 09:39
bacek looks like rakudo timing-out...
rakudo: my @a = ( { id => 'a' }, { id => undef }, { id => 'b' }); say ?all(@a>>.<id>)
p6eval rakudo 8dc189: ( no output )
bacek sigh... Did I broke it? 09:40
rakudo: my @a = ( { id => 'a' }, { id => undef }, { id => 'b' }); say ~@a;
p6eval rakudo 8dc189: ( no output )
bacek std: my @a = ( { id => 'a' }, { id => undef }, { id => 'b' }); say ?all(@a>>.<id>>>.defined)
p6eval std 29388: ===SORRY!===␤Unsupported use of undef as a value; in Perl 6 please use something more specific:␤ Mu (the "most undefined" type object),␤ an undefined type object such as Int,␤ Nil as an empty list,␤ *.notdef as a matcher or method,␤ Any:U as a type
..constraint␤ or fail() …
bacek std: my @a = ( { id => 'a' }, { id => Mu }, { id => 'b' }); say ?all(@a>>.<id>>>.defined) 09:41
p6eval std 29388: ok 00:01 108m␤
bacek ookey
afk # dinner
09:45 rgrau joined
mathw mmm dinner 09:45
that would be nice
Tene Okay, I'm now halfway to having my scheme macros not suck. 09:47
Got the pattern matching half working properly.
09:48 Chillance left
mathw yay 09:48
09:49 Chillance joined 09:54 synth left
dalek vember: d598e32 | moritz++ | lib/ (2 files):
remove the undef term from November
10:09
10:09 colomon_ joined 10:19 meneldor left
bacek rakudo: my @a = { id => 'a' }, { id => undef }, { id => 'b' }; say ~@a 10:23
p6eval rakudo 8dc189: ( no output ) 10:24
bacek interesting.
rakudo: my @a = { id => 'a' }, { id => undef }, { id => 'b' }; say @a.WHAT
p6eval rakudo 8dc189: ( no output )
JimmyZ rakudo: my %a = { id => 'a' }, { id => undef }, { id => 'b' }; say %a.WHAT 10:25
bacek std: my @a = { id => 'a' }, { id => undef }, { id => 'b' }; say @a.WHAT
p6eval rakudo 8dc189: ( no output )
std 29388: ===SORRY!===␤Unsupported use of undef as a value; in Perl 6 please use something more specific:␤ Mu (the "most undefined" type object),␤ an undefined type object such as Int,␤ Nil as an empty list,␤ *.notdef as a matcher or method,␤ Any:U as a type
..constraint␤ or fail() …
bacek JimmyZ, I need list of hashes
std: my @a = { id => 'a' }, { id => Mu }, { id => 'b' }; say @a.WHAT
p6eval std 29388: ok 00:01 107m␤
JimmyZ rakudo: my @a = { id => 'a' }, { id => Mu }, { id => 'b' }; say @a.WHAT 10:26
bacek rakudo: my @a = ({ id => 'a' }); say @a.WHAT
p6eval rakudo 8dc189: ( no output )
hejki rakudo: my @a = { id => "a" }, { id => undef }, { id => "b" }; say ~@a
p6eval rakudo 8dc189: ( no output ) 10:27
hejki rakudo: my @a = { id => "a" }, { id => undef }, { id => "b" }; ~@a.say
JimmyZ rakudo: my %a = ({ id => 'a' }); say %a.WHAT
10:27 agentzh joined
JimmyZ rakudo: my %a = ({ id => 'a' }); say @(%a).WHAT 10:27
Tene bacek: what you've been doing works fine for me locally.
p6eval rakudo 8dc189: ( no output )
Tene it just takes too long for p6eval.
bacek Tene, ah, thanks. 10:28
p6eval rakudo 8dc189: ( no output )
flip214 happy xmas, and a nice new year everyone.
10:30 TiMBuS|Away left, TiMBuS|Away joined, flip214 left
bacek std: my @a = ( { id => 'a' }, { id => Mu }, { id => 'b' }); say ?all(@a >> .<id> >> .defined) 10:32
p6eval std 29388: ===SORRY!===␤Unsupported use of >> to do right shift; in Perl 6 please use +> or ~> at /tmp/6KNP33WdIy line 1:␤------> => Mu }, { id => 'b' }); say ?all(@a >> ⏏.<id> >> .defined)␤FAILED 00:01 108m␤
bacek std: my @a = ( { id => 'a' }, { id => Mu }, { id => 'b' }); say ?all(@a » .<id> » .defined) 10:37
p6eval std 29388: ===SORRY!===␤Unable to parse argument list; couldn't find final ')' at /tmp/uVS2r1UsxO line 1:␤------> d => Mu }, { id => 'b' }); say ?all(@a »⏏ .<id> » .defined)␤ expecting any of:␤ infix or meta-infix␤ infix stopper␤ standard stopper␤
..terminator␤F…
bacek std: my @a = ( { id => 'a' }, { id => Mu }, { id => 'b' }); say ?all(@a».<id>».defined)
p6eval std 29388: ok 00:01 108m␤
10:38 bryan[c1] left 10:45 meneldor joined 10:47 plainhao left 10:52 TiMBuS|Away left 10:54 JimmyZ left 11:00 bpetering joined 11:06 c9s left, c9s joined 11:12 bacek_ joined
bacek_ rakudo: my $a; say $a.defined; say all($a).defined; 11:13
p6eval rakudo 8dc189: 0␤1␤
bacek_ interesting. Is it expected behaviour?
11:18 agentzh left, pdcawley left, pdcawley joined 11:23 bacek left 11:30 Chillance_ joined 11:35 Chillance left 11:36 colomon_ left, bacek_ left 11:52 bacek_ joined 12:00 Lorn left 12:01 |Jedai| joined 12:10 rodi joined 12:18 bluescreen joined 12:22 snearch joined 12:32 iblechbot left 12:50 snearch left 13:04 FalseVinylShrub joined 13:05 payload joined 13:07 pmurias joined
mberends hi pmurias 13:07
13:08 plainhao joined, bacek_ left 13:13 Baggio_ joined 13:17 SmokeMachine joined 13:18 Guest73154 left 13:21 FalseVinylShrub left, xomas_ joined
pmurias mberends: hi 13:21
mberends just reading smop/lowdoc/01_base.pod 13:22
13:22 parduncia left, ssm left, constant left, cognominal left, zibri left, sjohnson left 13:24 sjohnson joined, zibri joined, ssm joined, cognominal joined, parduncia joined, constant joined 13:28 Lorn joined 13:35 colomon joined 13:38 FalseVinylShrub joined 13:42 Baggio__ joined 13:43 iblechbot joined, nbrown joined 13:44 zaslon left, mubot left, pointme left, pointme joined, mubot joined, zaslon joined 13:46 Baggio_ left 13:52 orafu left 13:53 orafu joined, pmurias left 13:55 Wolfman2000 left 14:10 iblechbot_ joined, iblechbot left 14:13 patspam joined 14:17 iblechbot joined 14:18 iblechbot_ left 14:24 synth joined 14:41 cls_bsd joined, iblechbot left 14:43 JimmyZ joined 14:44 rodi left 14:45 szabgab joined 14:57 bpetering left 14:59 KyleHa joined 15:05 Psyche^ joined 15:08 pmurias joined 15:11 Baggio__ left
rjbs also: thanks for those questions; reminded me that I needed to update my linode to use Pobox SASL again 15:11
15:12 Baggio_ joined
rjbs mischan 15:12
15:22 Patterner left, Psyche^ is now known as Patterner 15:34 JimmyZ left 15:42 Baggio_ left 15:43 Baggio_ joined 15:44 crythias joined 15:47 cdarroch joined 15:48 SmokeMachine left, SmokeMachine joined 15:49 justatheory joined 15:50 Baggio_ left 15:53 ash__ left 15:55 crythias left 16:00 nihiliad joined
pmurias mberends: anything needs fixing in lowdoc/01_base.pod 16:01
?
mberends pmurias: nothing urgent, I think I can correct a few minor things. It is a fairly good explanation, helped me quite a bit, thanks :) 16:03
pmurias: Q: is it best to assume that the re-mildew and re-smop directories can be ignored, because you are moving the content gradually into mildew and smop? 16:05
pmurias re-mildew and re-smop were renamed to mildew and smop
mberends: are you sure you have an up to date checkout? 16:06
mberends oh, then I'll delete the fossils left over locally. maybe even svn rm them. 16:07
pmurias: my pugs tree might be quite old, but it is current
pmurias mberends: it seems to be a git-svn thing that it left empty directories 16:08
mberends pmurias: removing, thanks
16:11 zloyrusskiy joined
pmurias mberends: you svn rm them? 16:15
mberends pmurias: busy with that, yes. not complete yet. 16:16
(must manually weed out generated (non svn) files first) 16:17
16:18 iblechbot joined
pmurias mberends: just rm -fr re-smop, svn checkout re-smop and svn rm re-smop 16:19
* svn update
mberends pmurias: ah, thanks! ( /me svn n00b )
pugs_svn r29389 | mberends++ | [v6] remove re-smop and re-mildew, please now use smop and mildew 16:23
pmurias perl6 doesn't have reserved identifiers?
pmichaud good morning, #perl6
moritz_ \o/
mberends good morning pmichaud
pmichaud can only stay for a moment -- I'm about to write my advent post; if anyone has any huge ideas for things they really want to see there then please let me know :) 16:24
otherwise, I'll start writing in about an hour or so
I have two possible themes in mind: (1) "The Path to Rakudo Star", and (2) "Yes, Virginia, there is a Perl 6" 16:26
(www.newseum.org/yesvirginia/ for those who want the reference to #2 :-)
moritz_ unresolved cultural reference at line (2)
mberends pmichaud: irclog.perlgeek.de/perl6/2009-12-20#i_1857710
[particle] wonders if there's a virginia.pm...
16:27 colomon left
mberends pmichaud: and 17:53 16:27
16:29 masak joined
masak \o/ 16:29
mberends \o/ masak
pmichaud masak: (from backscroll)
16:24 <pmichaud> can only stay for a moment -- I'm about to write my advent post; if anyone has any huge ideas for things they really want to see there then please let me know :) 16:30
masak moritz_: earlier today, you said that "" quotes were a feature of Perl 6 regexes, just NYI in Rakudo. on what do you base that?
pmichaud 16:24 <pmichaud> otherwise, I'll start writing in about an hour or so
16:25 <pmichaud> I have two possible themes in mind: (1) "The Path to Rakudo Star", and (2) "Yes, Virginia, there is a Perl 6"
16:26 <pmichaud> (www.newseum.org/yesvirginia/ for those who want the reference to #2 :-)
masak pmichaud: hm. hm hm hm.
pmichaud "" quotes are a feature of Perl 6 regexes, yes.
moritz_ masak: S05/Simplified lexical parsing of patterns/
masak moritz_, pmichaud: thanks! 16:31
moritz_ (Double quotes are also allowed, with the same interpolative semantics as the current language in which the regex is lexically embedded.)
pmichaud nqp-rx even implements them. :)
masak \o/
pmichaud (with full interpolation semantics)
okay, I have to run some errands. If anyone has ideas or suggestions, please highlight my nick 16:32
(or votes on those two themes)
mberends downvotes the Virginia meme, denial being associated with deniers
moritz_ masak: I recommend to read S05 some day, it's well worth it :-)
masak pmichaud: I'd like the 24th post of Perl 6 to blow people's minds away, so that they are left staring at the screen, drooling in Mac-fanboi-like awe.
pmichaud (for #2, the post would make sense even without knowing the cultural reference :-)
masak: well, I don't have a "blow people away" subject off the top of my head -- unless there's one hiding in topic-suggestions
masak pmichaud: I'm of two minds: maybe a vision post is the right thing to do, maybe it isn't. it all depends on how it's written, I guess. 16:33
16:34 FalseVinylShrub left
pmichaud I had been aiming more at a "strong finish that lets people know we're still making progress and that April is in sight" 16:34
masak yes, something like that.
pmichaud mberends: downvote noted, thanks!
masak only with fireworks, subwoofers, and strong winds.
16:35 snearch joined
pmichaud mberends: (I had similar reservations... not sure I want to push back against negatives. I can do the "yes virginia" post as a normal non-advent post if I still feel like it :-) 16:35
16:36 meneldor left
moritz_ lastofthecarelessmen.blogspot.com/2...-dead.html something along these lines might also work (much humour) 16:36
mberends +1 to "The Path to Rakudo Star" because it would be inspiring to have some glimpses into the mind of an awesome compiler design(er).
16:37 mariuz left
pmichaud yes, I was just thinking that perhaps the 24th advent post (blow people's minds away) would be a description of how the compiler works in the ng branch, showing off the regexes, action methods, etc. 16:37
moritz_ that would be awesome 16:39
+1 from me
masak pmichaud: yes; perhaps with relatively little focus on internals and much focus on the delivered functionality.
here's my highly subjective list of the posts poeple liked the most: .fmt, looping, .pick, given/when, roles, grammars/actions
(based on a combination of number of comments and my subjective tastes)
pmichaud okay, gotta run. Please add comments and suggestions... I'd be happy if the 24th post was a community post instead of just me :) 16:40
(wish I had thought of that a week ago, though)
masak most posts are community posts. :) 16:41
community++ # you guys are great!
(and gals, and butterflies)
cotto_w0rk I really liked the Whatever post. 16:59
moritz_ thanks 17:02
cotto_w0rk (plus it's great that Whatever is now a technical term) 17:11
pmichaud and "phasers" too :-) 17:16
17:29 KyleHa left 17:34 _jaldhar left
pmurias mberends: did you manage to get mildew to run? 17:42
17:46 frew_ is now known as frew
masak yes, I liked the Whatever post too. 17:49
18:07 payload left 18:08 colomon_ joined 18:12 rgrau` joined 18:15 niella joined 18:20 pmurias left 18:22 patspam1 joined 18:29 SmokeMachine left 18:36 Calimbeul joined 18:43 japhb left, patspam left 19:02 ShaneC joined 19:12 japhb joined
Tene pmichaud: any chance you're around today? 19:13
19:22 SmokeMachine joined 19:24 colomon_ left 19:25 pmurias joined 19:27 pdcawley left 19:32 tempire joined 19:57 Trey left
pmichaud Tene: here, but working on my advent post. 19:59
20:00 kaare_ joined
Tene pmichaud: Just want a little sanity check on some macro stuff I'm working on, implementing it in my scheme compiler first. 20:01
20:03 patspam1 left
pugs_svn r29390 | pmurias++ | [mildew] fix smop backend 20:03
r29391 | pmurias++ | [mildew] refactor AST.pm to use MooseX::Declare
Tene My current implementation strategy is to cache the text of the macro body on definition, and then each time the macro is evaluated, set some context vars corresponding to what was matched, and call back into the compiler to ask for an AST of the cached macro body, with action methods that will check for the $*MACRO or whatever for the arguments to the macro. 20:04
20:05 kaare_ left, kaare_ joined
pmichaud Well, "cache the text of the macro body" triggers my "that doesn't smell right" sense.... but it may be correct in this particular application 20:06
rjbs macros aren't textual, are they?
pmichaud rjbs: we're talking in scheme, here.
rjbs had assumed they were some sort of parameterizable syntax tree mumblehandwave.
Tene Yes, also raises a warning for me.
mberends pmurias: sorry, I've not managed to get mildew to run (yet). If there are any instructions I'd like to know about them, otherwise I shall document while learning what to do. 20:07
Tene Um, I guess I *could* make something like that.
rjbs Even in Scheme, I'd think that. I'm just peanut-gallerying, though. Don't mind me.
pmichaud I'm not familiar enough with scheme macros to be able to say
rjbs should not be distracting anyone from "works and can be improved later"
Tene build an object that has an AST and also holds references to nodes in the tree.
pmichaud Tene: yeah, we may want a parameterizable AST or something like that 20:08
rjbs pmichaud: They must be syntactically valid, afaik, although they need not be semantically sensible outside the context of the macro. 20:09
Doh, I just tried to install mzscheme on this workstation and it failed. Instead, I will go shower and shave. &
20:11 Chillance_ left
Tene rjbs: I wouldn't be doing textual substitution, I'd be re-evaluating the same text each time in a different context. 20:11
So, effectively a parameterized AST, just with a shady implementation. :)
pmichaud Tene: anyway, I don't have much further comments about it at the moment. Perhaps the best first-cut is to go ahead with a text-based macro, just to explore it further and see what works or doesn't work. 20:12
Tene pmichaud: would you be comfortable with an implementation like that for rakudo, or would you much prefer to see some kind of parameterizable AST first?
pmichaud but also know that we're likely to throw it away
Tene Or do you withold judgement until you see an impl? :)
pmichaud well, for rakudo I'm wanting to avoid macros at the moment, unless the implementation is almost trivially simple 20:13
iirc, macros aren't on the critical path for rakudo star, and I'm a bit concerned that the specification is still immature
moritz_ it won't get mature unless somebody implements it 20:14
pmichaud moritz_: correct, but right now my focus is on getting the ng branch landed
I'm afraid that macros might end up being a huge distraction and/or pose difficulties for the other pieces that we *do* need to implement for Rakudo * 20:15
thus I'm in favor if the implementation is trivially simple
it could also be done in a branch
Tene pmichaud: If protoregexes get implemented as it sounded like the spec will flal out after talking with TT, I expect a macro implementation to be almost trivially simple. 20:16
pmichaud Tene: right -- so I'd need to review the spec changes
Tene pmichaud: what do you see as the current priority for work on ng?
20:16 Su-Shee left
pmichaud but one of the lessons of the past couple of years is that if advanced features go into the implementation too soon, it makes it really hard to refactor some of the core features later on 20:17
Tene :) yes.
pmichaud right now the priority has to be getting roles and classes back to where they were, list/array handling, and list assignment 20:18
20:18 Su-Shee joined
pmichaud I know I'm way behind on the list stuff 20:18
Tene Ah, yes, I was still waiting on that. I remember now. 20:19
pmichaud i just need a day's effort to finish it, but it also has to be a day with the right energy levels on my end
Anyway, I need to get back to my advent post or I won't be done in time.
Tene Yes, I'm done harassing you for now. :)
rjbs Tene: Right, I figured -- the difference being that you could crash earlier with an AST. Anyway, I think pmichaud is right to suggest "jfdi first and see how it goes" 20:22
20:22 KyleHa joined 20:26 bluescreen left
Tene rjbs: fwiw, it looks like S06 not only suggests textual macros, but also that an implementation should support macros of things that wouldn't be valid code on their own... unbalanced brackets, etc. 20:27
kinda like: macro start_debug { "if $debug {" }; macro end_debug { "}" }; 20:28
20:32 pdcawley joined
rjbs Tene: Weird. I will defer my worrying until later. 20:33
Tene fwiw, *I* don't plan to implement those any time soon. :) 20:34
rjbs :-) 20:35
phew, I got a better-than-z-machine scheme installed.
20:37 bluescreen joined
Tene You could install my scheme: github.com/tene/steme/ ;) 20:38
rjbs I'll see if I Can have a look later. Company calling, soon. 20:39
Tene rjbs: I'm just trolling. :) 20:40
rjbs wouldn't mind looking, really.
just so pressed for time lately :|
at least I can stop worrying about advent calendar code for 11 months, soon. 20:41
(I guess I could've stopped worrying like 3wk ago)
20:42 plainhao left 20:44 patspam joined 20:49 jjore left 20:57 ashizawa left 21:01 y3llow_ left 21:10 KyleHa left 21:14 jjore joined 21:16 Trey joined 21:20 SmokeMachine left 21:21 Wolfman2000 joined
pmichaud advent post draft now available 21:22
comments welcomed
Wolfman2000 Good thing I came in now. Hang on.
pmichaud++ for the post 21:25
21:26 ejs joined
pmichaud in some ways I see the Perl 6 grammar (and the new regex design) as being another of TimToady's many gifts the world... and time will tell the tale of how valuable it truly ends up being. :) 21:27
*gifts to the world 21:28
anyway, I'm taking a break for a bit. Comments welcomed. Editors are free to improve the draft however they see fit. It's currently set to publish at 00:01 UTC. 21:32
(about 2.5 hours from now)
mberends Wolfman2000: could you apply your superior styling to the source code bits? 21:35
Wolfman2000 mberends: My "styling" isn't exactly superiour.
pmurias mberends: www.perlfoundation.org/perl6/index....pendencies might help with installing smop
Wolfman2000 superior*
But where exactly do you want me to work my magic anyway? 21:36
mberends rule statement { ... etc
Wolfman2000 I think I know what you mean. Hang on
...I would, but pmichaud is currently editing the post 21:37
pmichaud looking 21:39
21:39 nihiliad left
pmichaud it looks right on my screne 21:39
*screen
okay, I'm no longer editing on my browser. 21:40
21:41 Yaquishael joined
Wolfman2000 Even on refresh, it claims you are 21:41
pmichaud okay, just a sec 21:42
I have to edit something anyway
mberends imho the source code styling in perl6advent.wordpress.com/2009/12/1...your-game/ or perl6advent.wordpress.com/2009/12/1...g-snowmen/ look nicer 21:44
Wolfman2000 mberends: I figured you meant that
mberends :)
pmichaud okay, I'm not editing now (I think) 21:46
anyone have content comments? does it work okay as a final post?
Wolfman2000 You think wrong. Content is okay
pmichaud how do I tell wordpress that I'm no longer editing the post? ;-)
oh, I suppose I could log out. 21:47
mberends logout?
;)
pmichaud okay, I've logged out.
Wolfman2000 ...my screen refuses to change
pmichaud Wolfman2000: perhaps you need to log out and in again :-)
21:48 alester joined
pmichaud oooh, I like this post: waffle.wootest.net/2009/12/19/perl-...ature-ep1/ 21:49
21:51 y3llow joined 21:55 snearch left
mberends pmichaud: the post is much more serious than most of the previous ones. Is there a way to lighten it up? (I know it's probably hard). One idea could be to showcase some of the more awesome error messages. 22:00
22:02 Yaquishael left
pmichaud pick one :-) 22:05
mberends perhaps convert some of the sentences that contain lists to bullet points, eg paragraph 3 custom operators etc
pmichaud I prefer lists, especially when it's short as here
pmichaud looks for awesome error messages
mberends doesn't know the error messages well enough 22:06
pmichaud I was thinking about the ?: -> ?? !! error
mberends should be good, yes
22:06 ShaneC1 joined 22:07 ShaneC left
mberends 'Confused' is Not Awesome 22:08
pmichaud updated. 22:10
fixing quotes. 22:11
mberends likes
pmichaud: s/resolve many of the long-standing problems/finally add long-awaited features/ 22:14
pmichaud +2
updated.
22:15 kaare_ left
pmichaud have to run for a bit again.. feel free to make further edits 22:15
I agree, this one isn't quite as light as some of the earlier ones... I'll keep thinking of ways to improve that
mberends looks better to me now 22:16
pmichaud thanks for the comments
mberends :)
moritz_ likes it
pmichaud back in a short while
ah, if moritz++ likes it, then I feel I've at least achieved the minimum bar :)
it might not be a blockbuster ending.... but I was having trouble coming up with anything more blockbuster. And upon reflection, I really think the grammar is an important feature of Perl 6. 22:17
anyway, afk for a short while 22:18
moritz_ I finally had another idea for a 24th posting :-)
"building an awesome language"
22:19 alester left
moritz_ that describes how our process works to make error messages, integration of other languages, module loading etc. awesome 22:19
well, it's still kind of weak
anway, bed time for me
have a nice localtime everybody
mberends likewise moritz_
mberends edits the post a little, trimming unnecessary extra words 22:23
22:24 rgrau` left
Tene masak: the following test passes in steme: github.com/tene/steme/blob/master/t/05-macro.t 22:33
masak Tene: looking 22:39
Tene: hm, I don't grok what it does at first reading. 22:40
Tene masak: the debug macro is expanded at compile-time into an 'if', so the argument to debug isn't evaluated if debug-enabled is false. 22:42
22:42 Patterner left
sjohnson yo masak 22:42
Tene the ` means "insert the ast for this macro argument"
afk, errands
masak sjohnson: y0 22:43
Tene: I'm starting to see it now.
Tene: cool. :)
22:44 Psyche^ joined, Psyche^ is now known as Patterner
masak pmichaud++ # the advent post 22:44
hm... I'm not so good at English... is "these sort of things" the way to write it? sounds strange to me. 22:45
I'd have it as "this sort of things" or "these sorts of things".
mberends is hacking the words, just saved a bit 22:46
masak mberends++
mberends it's technically accurate, but awkward in that sentence 22:47
singular throughout works better. saved. 22:49
Tene masak: also spoke with TimToady about spec clarifications needed for P6 macros. 22:50
masak \o/
pmichaud++ # again 22:52
it's a very good finish to the Calendar. going out with style! :)
22:53 niella left
pmichaud also, if there's one thing that I think is a killer feature of Perl 6, it's the extensible grammar. 22:53
masak aye.
pmichaud and parsing in general
that, to me, is what will really set Perl 6 apart relative to its contemporaries
masak *cough* Lisp *cough* 22:54
oh. right. contemporaries.
pmichaud yes, I know Lisp can do that. But there's a reason nobody uses Lisp. :-)
mberends pmichaud: would it be too off topic to show an example of a DSL grammar?
pmichaud mberends: in the post? 22:55
mberends yes
pmichaud no, not too off topic at all, I don't think.
I didn't have a DSL in mind at the time :-)
mberends lolsql
pmichaud where's the grammar for that? haven't seen it yet
mberends jnthn++ posted one somewhere 22:56
or blogged about it
pmichaud github.com/jnthn/lolsql/blob/master...nhazsql.p6
it would be good if those were converted to protoregexes
mberends it's a bit big to add to the post in full 22:57
pmichaud <value> and <statement> would be good candidates for protoregexes there
especially statement
pmichaud reworks the grammar quickly
oh, maybe not. hrm. 22:59
not sure it fits with the rest of the post. 23:00
masak if it doesn't fit, leave it as it is.
pmichaud afk, have to help with dinner 23:01
as before, edits to the post are welcomed :-)
23:06 pmurias left 23:07 sepi_ joined
sepi_ hi 23:07
is perl 6 faster than 5
?
masak sepi_: perl 6 is not an implementation like perl 5. 23:09
sepi_: but to answer your question straight: no. right now, if you want speed above all else, go with perl 5. 23:10
sepi_ ok 23:11
masak 'night, #perl6.
23:12 bryan[c1] joined
sepi_ i'm a c/c++ programmer 23:12
23:12 racheldaBROWN joined, rachelBROWN left
sepi_ but i'm searcging for a scripting language to embed in my c++ apps 23:12
everybody say use lua, but i like perl's syntax more than any other scripting languages 23:13
mberends perl 5 is the most suitable and will remain so for at least another year
sepi_ is there any outsanding app built with perl, for example python has blender in its hand, but what about perl 23:15
?
Khisanth isn't the answer for speed above all else "assembly"? :) 23:16
or maybe stacks of cash
sepi_ :)
but it's rediciolus to use it 23:17
23:19 iblechbot left 23:20 sepi_ left 23:23 guest8723 joined, colomon joined 23:26 guest8723 left 23:33 zloyrusskiy left 23:34 justatheory left, justatheory joined 23:46 kensanata joined 23:48 jferrero joined 23:51 nihiliad joined 23:56 xomas_ is now known as xomas