Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-02-17

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:03 patspam joined #perl6
00:06 snarkyboojum joined #perl6
00:09 avar I can't build rakudo, it fails with this: http://pastie.org/828145
00:10 jnthn wknight8111: I'd guess the April release.
00:10 jnthn avar: Hmm...looks like Parrot fails to build. :-/
00:10 wknight8111 jnthn: ok, thanks
00:11 jnthn odd though...I don't remember seeing that error here.
00:11 jnthn wknight8111: The aim is still April for R*, and I doubt we'd pick earlier in the month or off the usual Thursday without some good reason.
00:12 avar jnthn: It also opened up 2 perldoc pages interactively
00:12 jnthn ...
00:12 jnthn Wow
00:12 jnthn Maybe ask on #parrot :-/
00:12 jnthn or "make realclean" in the Parrot checkout and try again.
00:13 jnthn But I thought --gen-parrot did that, though.
00:13 wknight8111 jnthn: got some APIs in parrot getting renamed soon, I don't want to drop that bomb tto close to a release for you
00:13 jnthn wknight8111: Yeah, I saw
00:13 jnthn wknight8111: Twice as much typing to create a PMC now! :-P
00:13 TimToady pausenclown_: you're welcome :)
00:14 wknight8111 jnthn: was necessary for standards. I'm tired of parrot looking like amateur work
00:16 pausenclown_ TimToady: .oO( digital shizophrenia :-)
00:16 jnthn wknight8111: Ah yes, I agree with the motivation. :-)
00:18 jnthn OK, sleep time.
00:18 jnthn o/
00:18 TimToady \o
00:22 pmichaud my plan is week following april release
00:23 pmichaud rakudo #28 will be released Apr 22, Rakudo * sometime in the week that follows
00:24 pmichaud (Parrot 2.3.0 releases on Apr 20, iirc)
00:24 maerline joined #perl6
00:24 maerline left #perl6
00:28 snarkyboojum does current Rakudo build with perl Configure.pl --gen-parot ?
00:29 snarkyboojum parrot even
00:29 snarkyboojum because I currently get an error trying to build parrot - "Unable to locate parrot_config"
00:30 diakopter snarkyboojum: I had to run  make clean under parrot/
00:31 snarkyboojum I started from scratch - i.e. removed git repo, and cloned a new git repo etc
00:31 diakopter oh
00:31 snarkyboojum bugger :|
00:31 diakopter maybe just try running it again?
00:31 snarkyboojum will do :)
00:31 diakopter (without make clean)
00:35 snarkyboojum bugger - fell over again with the same error
00:36 snarkyboojum gotta be something wrong on my end I guess - will have poke around
00:39 snarkyboojum would a previously installed parrot in /usr/local/bin stuff things up?
00:39 snarkyboojum *clueless* :)
00:42 pmichaud previously installed parrots have been known to cause problems, yes.
00:42 pmichaud sometimes parrot grabs the install copy before any local copy.
00:43 brunov joined #perl6
00:58 snarkyboojum ah error is misleading methinks because Configure.pl doesn't check if the parrot build works or not.. so just falls through and can't find a parrot_config
00:58 snarkyboojum (or something) :)
01:02 pugs_svn r29760 | lwall++ | [S04] bring gather/take description more in line with modern realities
01:05 wolf2k_ubuntu joined #perl6
01:08 hercynium joined #perl6
01:11 avar joined #perl6
01:13 wknight8111 pmichaud: ping
01:14 cognominal joined #perl6
01:15 avar joined #perl6
01:18 lue (The ping-pong ball is nowhere to be found, having soared miles and miles beyond the horizon)
01:29 snarkyboojum joined #perl6
01:31 quester joined #perl6
01:36 snarkyboojum left #perl6
01:45 snarkyboojum joined #perl6
01:48 lue everyone here: ping
01:56 snarkyboojum so if I have a parrot build error as part of the rakudo built, would I ask in #parrot?
01:56 snarkyboojum s/built/build/
01:57 lue what's the specific build error?
01:59 snarkyboojum just lost it ;) will build again
02:00 lue alright. (meanwhile, where is everyone?)
02:00 snarkyboojum couldn't find a lib, looking in rakudo/blib which doesn't exist -lparrot or some such.. will get better info :)
02:03 lue maybe you should redownload parrot thru configure...?
02:04 snarkyboojum checking it out of SVN again as part of rakudo configure atm
02:09 lisppaste3 snarkyboojum pasted "parrot build error as part of rakudo build" at http://paste.lisp.org/display/95091
02:11 snarkyboojum there is a rakudo/parrot/blib but not a rakudo/blib, so it's not finding the library.. dunno :)
02:13 lue It seems to be just a simple download-parrot-thru-svn problem. If that's not it, then I can't help :/
02:13 lue I barely know how it works myself.
02:13 REPLeffect joined #perl6
02:15 snarkyboojum why a simple download parrot thru svn problem?
02:15 lue I mean a fix it by downloading thru configure.
02:16 lue download to fix.
02:16 snarkyboojum ah - that works ok - and the build of parrot starts - no errors to speak doing the checkout via rakudo configure
02:16 snarkyboojum "to speak of"
02:18 lue Hey, if you want to laugh at computer-based idiots, go to www.rinkworks.com/stupid
02:19 lue I'm reading it right now. Very funny.
02:44 diakopter pnog
02:44 diakopter gnop
02:44 lue pogn
02:46 pugs_svn r29761 | colomon++ | [t/spec] Use 2.sqrt instead of a hard-coded square root of two value.  Change comment to reflect what is actually being tested now.
02:46 pugs_svn r29762 | colomon++ | [t/spec] Refudge tests for master.
02:47 colomon joined #perl6
02:47 lue rakudo: say "this".say; #just because
02:47 p6eval rakudo ed95e2: OUTPUT«this␤1␤»
02:47 lue rakudo: say "this".say;
02:47 p6eval rakudo ed95e2: OUTPUT«this␤1␤»
02:47 dalek rakudo/master: 0daf89b | (Solomon Foster)++ | src/core/Any-num.pm:
02:47 dalek rakudo/master: Tweak rand not to complain about "too many arguments" when you don't actually pass it any arguments.  Implement srand.
02:47 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/0​daf89bcab8e57f464b734239aef161f161e7514
02:47 dalek rakudo/master: 73bf5cc | (Solomon Foster)++ | src/core/Any-num.pm:
02:47 dalek rakudo/master: Convert Any.atan2's $x argument to Num as well.
02:47 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/7​3bf5cc94ebf33520f4b85b5c9e35b67764fc11a
02:51 lue rakudo: die("like it was no thing");
02:51 p6eval rakudo ed95e2: OUTPUT«like it was no thing␤current instr.: '&die' pc 15850 (src/builtins/Junction.pir:279)␤»
02:52 colomon rakudo: say (-1 + -1i).polar
02:52 p6eval rakudo ed95e2: OUTPUT«1.4142135623731-2.35619449019234␤»
02:52 colomon alpha: say (-1 + -1i).polar
02:52 p6eval alpha 30e0ed: OUTPUT«1.4142135623731-2.35619449019234␤»
02:55 colomon rakudo: say -1+1i
02:55 p6eval rakudo ed95e2: OUTPUT«-1 + -1i␤»
02:55 colomon ouch
02:55 colomon alpha: say -1+1i
02:55 p6eval alpha 30e0ed: OUTPUT«-1 + 1i␤»
02:59 lue how do you square numbers in perl?
03:00 joseweb joined #perl6
03:00 joseweb hi  i wanna begin whit perl 6
03:05 go|dfish lue: number ** 2
03:06 lue thought so. Thought it might be different.
03:07 go|dfish joseweb: then do it!
03:07 lue rakudo: say (3i)**2; #should be -9
03:07 p6eval rakudo ed95e2: OUTPUT«-9 + 1.10218211923262e-15i␤»
03:07 lue Oi.
03:07 lue rakudo: say (3*sqrt(-1))**2
03:07 p6eval rakudo ed95e2: OUTPUT«NaN␤»
03:11 lue Interesting error. I'll have to (try to) fix it after homework.
03:13 colomon lue: Ot'
03:13 colomon It's not an error.
03:13 quester left #perl6
03:13 colomon It's a feature.
03:13 colomon rakudo: say sqrt(-1)
03:13 p6eval rakudo ed95e2: OUTPUT«NaN␤»
03:13 colomon rakudo: say sqrt(-1+0i)
03:13 p6eval rakudo ed95e2: OUTPUT«0 + 1i␤»
03:14 colomon sqrt doesn't go into complex numbers unless you specifically ask it to by passing it a complex number.
03:14 maerline joined #perl6
03:14 lue well, 3i squared should end up -9 (that's the original error)
03:14 colomon no, that's correct as well.
03:14 colomon what you're interpreting as being wrong is just floating point noise.
03:16 colomon the value it gave you is -9 to 14 decimal places.
03:16 lue but shouldn't √(-1)**2 = -1 ?
03:16 colomon on the other hand,
03:17 colomon that's not how floating point numbers work.
03:17 colomon If you're really worried about it for integral powers, you can say
03:17 colomon rakudo: say 3i * 3i;
03:17 p6eval rakudo ed95e2: OUTPUT«-9 + 0i␤»
03:18 colomon but that will be inefficient if you go much beyond squares, and doesn't allow for fractional or negative powers.
03:19 joseweb thanks
03:19 lue ah well, I'll worry about it if I need to.
03:19 colomon rakudo: say -1+1i
03:19 p6eval rakudo ed95e2: OUTPUT«-1 + -1i␤»
03:19 colomon that's definitely wrong, on the other hand.
03:19 colomon It's some sort of parsing error.
03:19 lue On a calculator (TI-84 for example) complex numbers are a great way to store two numbers as one :)
03:20 lue Especially concerning limited space on such calculators.
03:20 maerline left #perl6
03:20 maerline joined #perl6
03:20 maerline rakudo: say [\+] 7,8,99;
03:20 p6eval rakudo ed95e2: OUTPUT«You can't backslash that at line 11, near "+] 7,8,99;"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
03:22 lue I can't ? :(
03:22 colomon maerline: rakudo master doesn't have [+] or [\+] at the moment.
03:22 cj__ joined #perl6
03:22 maerline ah
03:22 colomon alpha: say [\+] 7,8,99
03:22 athomaso1 joined #perl6
03:22 LionMade1fLions joined #perl6
03:22 p6eval alpha 30e0ed: OUTPUT«say requires an argument at line 10, near " [\\+] 7,8,"␤in Main (file src/gen_setting.pm, line 2593)␤»
03:22 colomon okay, that surprises me.
03:23 maerline alpha: say [+] 7,8,99;
03:23 p6eval alpha 30e0ed: OUTPUT«114␤»
03:23 bkeeler what is the backslash supposed to do there?
03:23 colomon bkeeler: I believe it is supposed to return you all the partial results as well, as a list.
03:24 maerline 15, 114
03:24 colomon I've never actually used that syntax, so I could be wrong.  :)
03:24 maerline pugs: say [\+] 7,8,99;
03:24 p6eval pugs: OUTPUT«715114␤»
03:24 colomon In the current Rakudo master, metaoperators are still very very limited.  Hopefully we'll get them up and running again in the next few weeks.
03:25 maerline std: say [\+] 7,8,99;
03:25 p6eval std 29762: OUTPUT«ok 00:01 109m␤»
03:26 maerline rakudo: 77.say;
03:26 p6eval rakudo ed95e2: OUTPUT«77␤»
03:27 colomon TimToady, pmichaud: one of you guys out there?  I'm not sure I'm up to figuring out how to patch Rakudo's parser for this bug.
03:28 bkeeler The complex one?
03:28 colomon yes.
03:28 lue aren't all bugs complex in their own right? :D
03:28 colomon lue: no, some are dead simple.  :)
03:29 colomon token number:sym<complex>  { <re=.numish>'+'<im=.numish>'\\'?'i' | <im=.numish>'\\'?'i' }
03:30 colomon seems like this parses 1+1i as a single Complex, and 1-1i as an Int minus a Complex?
03:30 colomon Actually, I guess that might suggest a solution, don't know how kosher it is.
03:31 lue Let's consult The Gospel According to Camel
03:33 lue ...And in the New Testament, The Gospel According to Camelia
03:41 pugs_svn r29763 | colomon++ | [t/spec] Make the atan2 Rat tests a little smarter (catching a (now-fixed) Rakudo bug in the process).
03:41 colomon Okay, I've got all today's work checked in, time for bed.
03:42 lue goodnight, colomon. o/
03:45 dalek rakudo/master: 5fceb7e | (Solomon Foster)++ | src/Perl6/Grammar.pm:
03:45 dalek rakudo/master: Take out the <re=.numish>'+'<im=.numish>'\\'?'i' branch of sym<complex>.
03:45 dalek rakudo/master: This means that 1+1i does not parse as a single complex number, but it does parse the same way as 1-1i, and -1+1i parses correctly now.
03:45 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/5​fceb7ebccbe016bf1691a18ef7e6f7fdc6a8340
03:45 dalek rakudo/master: 6c478f2 | (Solomon Foster)++ | t/spectest.data:
03:45 dalek rakudo/master: Turn on rand.t and polar.t.
03:45 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/6​c478f21071d1f690704136589b37f8e100af0b9
03:55 patspam joined #perl6
04:13 ash__ joined #perl6
04:17 diakopter std: &asdfasdf
04:17 p6eval std 29763: OUTPUT«ok 00:02 125m␤»
04:17 diakopter std: &asdfasdf &asdfasdf
04:18 p6eval std 29763: OUTPUT«Undeclared routine:␤   'asdfasdf' used at line 1␤ok 00:01 126m␤»
04:22 maerline joined #perl6
04:22 maerline joined #perl6
04:25 maerline left #perl6
04:28 arlinius joined #perl6
04:35 diakopter std: &asdfasdf(&asdfasdf)
04:35 p6eval std 29763: OUTPUT«ok 00:01 125m␤»
04:35 Trashlord joined #perl6
04:38 snarkyboojum worked out why Parrot wasn't building on my OS X machine - turns out that putting my local rakudo git repo in my PATH was causing Parrot configure to use that the lib directories to build from - even when I was building from a completely separate parrot svn copy
04:38 snarkyboojum most bizarre and incredibly difficult to debug (with my skills) :|
04:46 snarkyboojum I didn't trace through the whole parrot configure process but something to do with the steps in inter::libparrot
04:47 snarkyboojum so by simply removing the rakudo git repo path from $PATH parrot build properly from the rakudo configure script
04:50 awwaiid joined #perl6
04:53 snarkyboojum FWIW - have also summarised the issue in #parrot
04:58 Maddingu1 joined #perl6
05:04 hercynium joined #perl6
05:04 hercynium joined #perl6
05:07 diakopter rakudo: my &say = ::say; &say(&say)
05:07 p6eval rakudo ed95e2: OUTPUT«Null PMC access in can()␤current instr.: 'perl6;Mu;!STORE' pc 1921 (src/builtins/Mu.pir:387)␤»
05:08 diakopter yay! more checks needed! </sarcasm><sarcasm>
05:10 ash__ left #perl6
05:46 lue diakopter: √√√√√√√√√√√√√√ (hope it's enough) :D
05:55 Trashlord haha
06:00 TimToady well, there's always xx * if you need it
06:02 lue the third level on this keyboard is fun: µm ¾full TradeMark™ Register®
06:13 mssm joined #perl6
06:26 lue left #perl6
06:40 Su-Shee joined #perl6
06:42 Su-Shee good morning
06:46 ihrd joined #perl6
06:47 ihrd left #perl6
06:50 johnz joined #perl6
07:15 uniejo joined #perl6
07:21 payload joined #perl6
07:25 kaare joined #perl6
07:57 clausi joined #perl6
08:05 k23z__ joined #perl6
08:18 jaldhar joined #perl6
08:18 iblechbot joined #perl6
08:25 constant joined #perl6
08:27 meppl joined #perl6
08:45 gbacon joined #perl6
08:55 moritz_ good morning
09:00 jferrero joined #perl6
09:01 Schwern joined #perl6
09:01 mathw o/
09:07 dakkar joined #perl6
09:09 colomon \o
09:33 frettled TimToady++ (S04 gather description)
09:33 frettled And now it is a better morning that it was. Good morning to y'all!
09:34 masak joined #perl6
09:34 masak good mid-morning, #perl6.
09:34 colomon o/
09:34 masak I need help with some Japanese again. :) http://twitter.com/konnoblog/status/9215768108
09:36 masak all I get is that the person is dissatisfied with the lack of a '->=' operator in Perl 6.
09:36 lestrrat "I just used #Perl6 (tag) to get some attention. Why is it that no programming language (including perl)  can do the equivalent of $a ->= $b ($a = $a->$b) ? that is my question"
09:37 masak lestrrat: thank you.
09:37 masak well, Perl 6 can.
09:37 moritz_ it's just spelled .=
09:37 * masak puts together an example
09:37 * lestrrat ducks, cause he doesn't really get what the guy was talking about anyway
09:37 moritz_ rakudo: my $name = 'moritz'; $name.=ucfirst; say $name
09:37 p6eval rakudo ed95e2: OUTPUT«Moritz␤»
09:38 moritz_ lestrrat: calling a method and assigning the result to the same variable, in one go
09:38 lestrrat aaaah
09:38 lestrrat gotcha
09:38 masak alpha: class A { method foo() { say "OH HAI" } }; my A $a .= new; my $b = "foo"; $a.="$b"
09:38 p6eval alpha 30e0ed: OUTPUT«OH HAI␤»
09:38 masak \o/
09:38 moritz_ in Perl 5 you call methods with ->, so ->= seemed logical to him/her
09:38 masak that's the equivalent.
09:38 colomon are you sure he wasn't looking for a way to turn $a into the pair $a -> $b ?
09:39 masak hm, I shouldn't use say within the method;
09:39 masak alpha: class A { method foo() { "OH HAI" } }; my A $a .= new; my $b = "foo"; $a.="$b"; say $a
09:39 p6eval alpha 30e0ed: OUTPUT«OH HAI␤»
09:41 masak std: sub loop() { say "OH HAI" }; loop()
09:41 p6eval std 29763: OUTPUT«ok 00:01 109m␤»
09:41 masak rakudo: sub loop() { say "OH HAI" }; loop()
09:42 p6eval rakudo ed95e2: OUTPUT«Whitespace required after 'loop' at line 11, near "()"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
09:42 * masak submits rakuodbug
09:42 cognominal joined #perl6
09:42 masak rakudo: class {}
09:42 p6eval rakudo ed95e2: OUTPUT«Invalid namespace key in set_pmc_keyed␤current instr.: 'perl6;ClassHOW;new' pc 3418 (src/gen/Attribute.pir:473)␤»
09:42 * masak submits rakudobug
09:42 masak rakudo: say (!!0).WHAT
09:42 p6eval rakudo ed95e2: OUTPUT«Int()␤»
09:43 * masak submits rakudobug
09:43 moritz_ masak: you submitted the first already
09:43 colomon I thought jnthn++ fixed <!> yesterday.
09:43 moritz_ erm, the one with anonymous classes
09:43 masak ok.
09:43 masak thanks.
09:44 colomon rakudo: say (!0).WHAT
09:44 p6eval rakudo ed95e2: OUTPUT«Int()␤»
09:44 masak that's an even simpler example :)
09:45 colomon > say (!0).WHAT
09:45 colomon Bool()
09:45 colomon p6eval is using an older version of rakudo
09:45 masak o.O
09:45 masak why?
09:45 * moritz_ investigates
09:45 colomon dunno
09:46 moritz_ because parrot doesn't compile.
09:46 colomon yeah, it was a PR bump
09:46 colomon 15 hours ago
09:46 moritz_ maybe we should make the log files publicly available somehow
09:47 * moritz_ makes a distclean and tries again
09:47 colomon maybe p5eval could report issues here?
09:47 moritz_ nope, that's not its job
09:47 moritz_ maybe write another bot for that
09:47 moritz_ but currently ENOTUITS
09:48 TiMBuS joined #perl6
09:49 moritz_ ok, now parrot compiled again
09:52 pugs_svn r29764 | moritz++ | [evalbot] make distclean in parrot before rebuilding; we do it only when rakudo requires a new version, so fairly seldom, and can thus trade CPU cycles for safety
09:54 colomon moritz_++
09:54 moritz_ rakudo: say (!0).WHAT
09:54 p6eval rakudo ed95e2: OUTPUT«Int()␤»
09:54 colomon still old
09:55 moritz_ now running pbc_to_exe
09:55 moritz_ rakudo: say (!0).WHAT
09:55 p6eval rakudo 6c478f: OUTPUT«Bool()␤»
09:55 masak \o/
09:57 colomon \o/
09:57 colomon and the boy is asleep again, so back to bed for me.
09:58 barney joined #perl6
09:58 moritz_ sleep well
10:00 fridim_ joined #perl6
10:16 quester joined #perl6
10:21 masak TimToady: how does gather interact with block exit phasers? specifically, does `.say for gather { take $_ for 1, 2, 3; LEAVE { say "OH HAI" } };` print "OH HAI\n1\nOH HAI\n2\nOH HAI\n3\n" or "1\n2\n3\nOH HAI\n"?
10:24 moritz_ it is *so* tempting to answer with "yes" here :-)
10:27 masak TimToady: 'yes' is not the answer I'm looking for. :)
10:28 krunen_ joined #perl6
10:29 TimToady_ joined #perl6
10:29 Maddingu1 joined #perl6
10:30 stepnem_ joined #perl6
10:34 avuserow joined #perl6
10:40 masak how can we help this guy? http://twitter.com/avarab/status/9210358607
10:41 payload joined #perl6
10:42 moritz_ is that the one who asked on p6u?
10:42 moritz_ nope, different name
10:42 moritz_ masak: invite him here
10:42 masak moritz_: yes, I can do that. just checking whether it's a known problem, whose solution one can easily give via Twitter.
10:43 moritz_ there are many known reasons why parrot might refuse to compile
10:43 mathw Bit difficult to offer him a solution without knowing what the compilation failure was
10:43 masak feels like 'invite him here' is a potentially complex operation with many single points of failure. :)
10:43 masak but sure, I will.
10:43 moritz_ no compiler installed, no make installed, old parrot install lying around
10:44 mathw Really bizarre system
10:44 mathw missing dependency
10:44 mathw misalignment of Mars with Proxima Centauri
10:44 cosimo joined #perl6
10:45 masak there, I tweeted him.
10:45 masak http://twitter.com/carlmasak/status/9228892096
10:45 moritz_ http://list.cs.brown.edu/pipermail/p​lt-scheme/2010-February/038167.html
10:45 moritz_ masak++
10:49 mathw hah
10:49 * mathw is mildly amused
10:51 masak thanks.
10:53 patspam joined #perl6
11:02 masak S12:306 confuses me an scares me a little.
11:02 masak std: "$foo."methodcall"()"
11:02 p6eval std 29764: OUTPUT«Potential difficulties:␤  Useless use of quotes at /tmp/jFhZQszkLJ line 1:␤------> [32m"$foo."methodcall"[33m⏏[31m()"[0m␤  Variable $foo is not predeclared at /tmp/jFhZQszkLJ line 1:␤------> [32m"$foo[33m⏏[31m."methodcall"()"[0m␤ok 00:01 108m␤»
11:03 masak std: "$foo."$bar"()"
11:03 p6eval std 29764: OUTPUT«Potential difficulties:␤  Variable $bar is not predeclared at /tmp/LqaM7lVwcx line 1:␤------> [32m"$foo."$bar[33m⏏[31m"()"[0m␤  Variable $foo is not predeclared at /tmp/LqaM7lVwcx line 1:␤------> [32m"$foo[33m⏏[31m."$bar"()"[0m␤ok 00:01 106m␤»
11:03 masak std: my $foo; my $bar; "$foo."$bar"()"
11:03 p6eval std 29764: OUTPUT«ok 00:01 107m␤»
11:03 masak o.O
11:03 masak that's... sick.
11:04 mathw jaw... on floor
11:04 mathw queasy kind of feeling
11:05 mathw Shouldn't that sort of thing go inside {}
11:05 masak the reason S12:306 scares me is that it treats the above as something normally occurring, and outlines how a failure mode is commonly resolved... :/
11:05 wanradt_ joined #perl6
11:05 masak the failure mode being a runaway string parse in the case of "$foo."
11:06 mathw I'm more scared that the syntax is even supported
11:06 mathw I can cope with method names provided by strings, but that ability to stick a literal string method call inside another one like that... well...
11:07 mathw why would you even want to?
11:08 mathw although that's usually not the best way to ask about language features
11:08 mathw just because I can't see a use for it...
11:08 mathw but still, that sort of nested quote makes me feel very uncomfortable
11:08 mathw it's just a bit *too* smart
11:13 masak agree.
11:14 masak though I'm also willing to be convinced by a very good use case.
11:14 masak I'm wondering why the string parsing was made rich rather than simple in this case.
11:14 masak lunch &
11:16 IllvilJa joined #perl6
11:24 payload joined #perl6
11:34 clausi left #perl6
11:37 jnthn o/
11:38 masak lolitsjnthn!
11:38 masak I've thought about "$foo."methodcall"()" over lunch, and I've decided that until I get a good use case for it, I really don't like it.
11:39 masak it breaks Least Surprise. my brain/eyes scan to the quote mark before 'methodcall' and consider that to be the end of the string.
11:39 masak so would a naive enough syntax highlighter.
11:39 masak and all this non-obvious parsing for... what, exactly?
11:40 masak a 'consistency' gleaned only by those who understand that variable interpolation essentially puts the quote parser in a different mode?
11:40 jnthn huh
11:40 * masak rants and raves
11:40 jnthn masak: Are the quotes there meta?
11:40 masak jnthn: yes. :(
11:41 jnthn Or are you saying that works/should work in a quoted string?
11:41 jnthn oh wtf
11:41 masak std: my $foo; my $bar; "$foo."$bar"()"
11:41 jnthn Well I said years ago on list that I thought parsing method calls in strings was a mistake.
11:41 p6eval std 29764: OUTPUT«ok 00:01 108m␤»
11:41 masak now I'm saying it too.
11:41 * jnthn wishes masak better luck than he had convincing @Larry :-)
11:41 masak those quotes inside the quotes (which look EXACTLY THE SAME) don't live up to the maxim that different things should look different.
11:42 jnthn yeah
11:42 jnthn well
11:42 masak thes feature is one big FAQ.
11:42 jnthn "$foo.$bar()" # ugh, tries to invoke $bar?
11:42 masak I don't think I mind that one.
11:43 masak std: my $foo; my $bar; $foo.$bar()
11:43 p6eval std 29764: OUTPUT«ok 00:01 106m␤»
11:43 jnthn masak: My quotes weren't meta. :-P
11:43 masak I'm unfamiliar with the exact meaning of your 'meta'.
11:43 jnthn std: my $foo = 42; my $bar = method { say self }; say "$foo.$bar()" # what happens?
11:43 bluescreen joined #perl6
11:43 p6eval std 29764: OUTPUT«ok 00:01 107m␤»
11:44 masak but if you mean that you have an actual quoted string, then I understood that already.
11:44 masak and I'm saying I don't mind in that case.
11:44 jnthn oh.
11:44 jnthn :-/
11:44 masak the programmer better know what she's doing if she's using that syntax inside a quoted string.
11:44 jnthn I d[id|o]
11:44 masak it's the quoted-string-withing-a-quoted-string case I'm worried about.
11:45 jnthn It'd feel inconsistent to ban the one case and not the others though.
11:45 masak yeah. it's just that I can see the use for "$foo.$bar()" quite easily.
11:46 jnthn I'd not mind if they all needed a {...}
11:46 masak and the FAQ needn't be as big. it need just say "remember that $bar will be interpolated at call-time".
11:46 masak jnthn: I hear ya. not sure I think I'd need that much restriction.
11:47 jnthn $foo.$bar() and $foo."$bar"() are very different beasties and useful in different ways.
11:47 masak sure, sure.
11:47 masak it's "$foo."$bar"()" I don't see the use of.
11:47 jnthn Why not?
11:48 masak in all other corners of Perl 6, one is not allowed to use the same type of quotes withing a quoted string (without backwhacking them).
11:48 jnthn In a string, you want to interpolate a call on $foo to the method name in $bar
11:48 jnthn I fully agree that it looks weird.
11:48 masak here, that restriction is lifted, without a goodenuf explanation.
11:48 masak where 'explanation' means 'rationale language-design-wise'.
11:50 jnthn nod
11:50 jnthn The problem isn't seeing a use for it, just that it's an inconsistency then, I guess.
11:52 * jnthn glances the commit log to see what happened while he rested
11:53 jnthn ooh, couple more tests
11:53 masak jnthn: oh! I put another round tuit in the make-anon-enums-happen machine last night.
11:53 jnthn colomon++
11:53 jnthn masak: ooh! What came out?
11:53 masak it didn't bring me any closer to the goal, but I have a few new questions.
11:53 masak I'll start with a nopaste.
11:55 masak http://gist.github.com/306536
11:56 redicaps joined #perl6
11:56 masak with that code, and the example 'enum <a b c>', I'm still getting "Method 'isa' not found for invocant of class 'Undef'" in the Perl6::Action::statementlist method.
11:56 masak so it parses, but it doesn't reach my panic method call as I hoped it would.
11:56 jnthn +method type_declarator($/, $key?) {
11:57 jnthn Should be
11:57 jnthn method type_declarator:sym<enum>($/) {
11:57 masak oh.
11:57 masak naturally.
11:57 jnthn Well, the $key? isn't doing any harm I guess.
11:57 jnthn Well, it's a change from before. :-)
11:57 * masak tries that
11:57 jnthn When we didn't have any protoregexen.
11:58 masak I have an old still-unformulated question about the differences between multimethods and protoregexes, by the way. but it'll have to wait until I can verbalize it.
12:00 jnthn Alternatively, find a way to say it all in nouns and prepositions. :-)
12:00 masak :P
12:01 jnthn My 2c that may help your thought process is that I see the analogy as more of a way of explaining protoregexes to people who already grok the idea of multi-dispatch rather than anything at a deeper / implementation level.
12:01 masak ok.
12:02 arnsholt Protoregexes are essentially a dynamically computed disjunction, no?
12:02 masak I think my deepest point of confustion, at my present surface understanding, is why 'multi' is needed for multimethods, but not for regexes et al. with multiple definitions.
12:02 jnthn arnsholt: To some degree, yes
12:03 jnthn arnsholt: At least, so far as I follow them.
12:03 jnthn LTM plays into all of this somewhere though :-)
12:03 jnthn masak: multi isn't needed for multi-methods if you introduced a proto first.
12:03 masak oh!
12:04 masak jnthn: but still, you can't omit the proto in the case of regexes, and write 'multi regex' instead, can you?
12:04 masak maybe you can...
12:04 jnthn masak: I haven't seen it done.
12:04 masak me neither.
12:05 jnthn But that doesn't really answer the question. :-)
12:05 masak no.
12:07 masak jnthn: (backlogging) if you think that 'neither less-than nor greater-than' would have the same meaning as 'equals', you clearly haven't played with Surreal Numbers enough :)
12:07 jnthn In the alternate, you played with them too much. :-P
12:07 masak in surreal numbers, there are four relations: 'equal to', 'less than', 'greater than' and 'confused with'.
12:07 jnthn oh
12:07 jnthn That's...surreal.
12:07 masak it's wonderful.
12:08 masak it falls out naturally from two-player games of a certain type.
12:08 colomon o/
12:08 masak to all #perl6ers, I recomment with all my heart the books "Winning Ways" I and II.
12:09 * jnthn adds it to the "things I should read up on"
12:09 masak s/ment/mend/
12:09 masak "Winning Ways', come to think of it, uses the same tools for humour as does #perl6.
12:10 masak and no-one draws a table like John Horton Conway.
12:16 ggoebel joined #perl6
12:19 masak (from backlog) <joseweb> hi  i wanna begin whit perl 6 -- <go|dfish> joseweb: then do it! -- <joseweb> thanks
12:19 masak I'm not sure whether to chuckle of frown at this exchange.
12:20 masak is it a foretaste of the inevitable dilusion of expert help at #perl6?
12:20 masak or is it just a confused, ultimately unhelpable newbie getting the best possible response?
12:23 quester left #perl6
12:23 * moritz_ is sad he can't spend more time in #perl6 these days
12:24 masak hugme: hug moritz_
12:24 * hugme hugs moritz_
12:30 masak jnthn: yay! it workz! my panic panics!
12:30 masak \o/
12:30 masak now for the easy part. I think.
12:30 colomon can we do non-anonymous enums in master yet?
12:31 masak colomon: no. the anon ones are sort of a prereq.
12:31 colomon Ah.  then let me encourage your progress!  :)
12:31 * masak feels encouraged :)
12:34 masak alpha does this: make PAST::Op.new( :pasttype('call'), :name('!create_anon)enum'). $values);
12:34 masak I'll see if I can do something analogous.
12:35 mssm joined #perl6
12:35 masak hm, first problem: I don't have an easy way to get at the $values.
12:35 masak I do <circumfix> in the token eype_declarator:sym<enum>.
12:36 masak so I guess $<circumfix> will contain something like what I want... :/
12:37 moritz_ you probably need to create a new PAST node from $<circumfix> or something
12:38 * moritz_ also has no idea, just guessing
12:38 jnthn $<circumfix>.ast gets you the AST for the circumfix that was parsed.
12:38 masak ok.
12:38 jnthn For non-anon ones you need to compile that and run it at compile time.
12:38 jnthn For anon ones you can get away with not doing that I guess.
12:38 masak right. as does alpha.
12:39 masak I'm sort of feeling my way forward, but it looks like it can be done. :)
12:40 jnthn masak: Heh, that's how I started in the grammar and actions. :-)
12:40 moritz_ rakudo: say "1" === "2"
12:40 p6eval rakudo 6c478f: OUTPUT«0␤»
12:41 masak rakudo: say 'five tons of flax' === 'a mammoth'
12:41 p6eval rakudo 6c478f: OUTPUT«0␤»
12:44 redicaps left #perl6
12:45 jnthn rakudo: say 'five tons of flax' == 'a mammoth'
12:45 p6eval rakudo 6c478f: OUTPUT«1␤»
12:45 mathw umm
12:46 mathw I never knew that
12:46 jnthn mathw: Both numify to 0. :-)
12:46 mathw doh
12:46 mathw of course
12:46 mathw sorry I'm in C++ mode
12:46 jnthn .oO( though claiming that Rakudo knows the weight of a mamoth coulda been fun for a while too )
12:46 mathw in which that's a compiler error anyway :)
12:50 masak another piece of progress: I'm now getting 'Could not find non-existent sub !create_anon_enum'
12:51 masak that's an error at run-time, even :)
12:52 masak hm, alpha has a src/builtins/gts.pir, master doesn't.
12:52 jnthn masak: Well done! You created AST nodes. :-)
12:52 masak \o/
12:52 jnthn masak: I HATE guts.pir
12:52 jnthn Die die die.
12:52 jnthn I mean, er...
12:52 masak maybe I should place that sub in Enum.pir in that folder instead.
12:52 jnthn src/glue/enum.pir
12:52 masak hokay.
12:52 jnthn Make that file and stick it in there, imo.
12:52 masak nod.
12:52 jnthn guts.pir ended up being this huge mess of everything.
12:53 jnthn (yes, I know that was my fault...I can still hate it :-))
12:53 masak absolutely.
12:53 Su-Shee I'm looking forward to grep and map and list magic in perl6. this already is so incredebly useful in p5..
12:53 jnthn So now I'm going to take us down the path of lots of hateful tiny files instead. <grin>
12:57 masak :)
13:00 mathw Tiny files are fine if they're well-named and their purposes are understood... it's when stuff is randomly scattered around a load of tiny files that it's irritating :)
13:01 pmichaud good morning, #perl6
13:02 * moritz_ enables four more test files that pmichaud++ fixed yesterday
13:02 mathw oh hai pmichaud
13:03 * pmichaud curses whatever cold/malady he has contracted this week :-(
13:03 mathw :(
13:03 colomon :(
13:03 * mathw posts pmichaud a sack of lemons
13:03 * moritz_ wishes pmichaud a quick recovery
13:03 jnthn pmichaud: Aww. :-(
13:03 pmichaud mmmmm, lemons
13:03 masak oh hai pmichaud
13:03 jnthn pmichaud: It is the time of year for such things, it seems. :-|
13:04 orafu joined #perl6
13:04 dalek rakudo/master: d5d58cc | moritz++ | t/spectest.data:
13:04 dalek rakudo/master: [t/spectest.data] re-enable four passing test files
13:04 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/d​5d58cc77e5ec2cd433012585f331455a4d7a6d3
13:04 takadonet morning all
13:04 colomon o/
13:04 mathw o/
13:05 takadonet I love seeing commit first thing in the morning :)
13:05 masak takadonet: \o
13:06 * pmichaud tries to morph that into a Robert Duvall quote involving napalm, but fails.
13:06 moritz_ might be better that way :-)
13:06 masak jnthn: 'role', 'enum' on the one hand, 'contextuals', 'phasers', types' on the other... bit of a confusion as to singular/plural in that directory...
13:06 takadonet you are on early this morning pmichaud
13:06 colomon I love the smell of commits in the morning!
13:07 colomon something like that.
13:07 masak commits are odourless :P
13:07 colomon smell of pushing commits...
13:07 masak unless the code stinks, of course :)
13:07 * masak tries to keep quiet
13:07 moritz_ I love the sight of dalek reporting commits in the morning
13:08 masak one of the few occasions where the sight of a dalek is appreciated.
13:10 colomon oh, hey, I've got a mystery for you guys
13:10 masak jnthn: Mapping is now better known as EnumMap, yes?
13:10 colomon ok(rand >= 0, 'rand returns numbers greater than or equal to 0');
13:10 colomon ok(rand < 1, 'rand returns numbers less than 1');
13:10 colomon those two tests gave master's parser fits.
13:10 colomon I ended up skipping them.
13:11 masak colomon: maybe rand is parsed as a listop?
13:11 jnthn masak: Jes.
13:11 masak that could cause havoc.
13:11 pmichaud (singular/plural filenames)  I'd be agreeable to renaming them (to the singular, I think)
13:11 jnthn phone
13:11 colomon masak: I should add that one or both of those worked fine in the REPL.
13:11 colomon rakudo: use Test; ok(rand >= 0, 'rand returns numbers greater than or equal to 0');
13:11 p6eval rakudo 6c478f: OUTPUT«ok 1 - rand returns numbers greater than or equal to 0␤»
13:11 masak pmichaud: I can do that after I finish my current commit.
13:12 colomon rakudo: use Test; ok(rand < 1, 'rand returns numbers less than 1');
13:12 p6eval rakudo 6c478f: OUTPUT«ok 1 - rand returns numbers less than 1␤»
13:12 masak colomon: I have no idea, then.
13:12 pmichaud isn't it a little early for "phone"?  Normally that's 20h00 UTC on wednesdays :-) :-)
13:13 mathw That's a strange test
13:13 mathw What if it wasn't going to return a negative value until the next time you called it?
13:14 masak mathw: sounds like you have a better way to test a random function up your sleeve. :)
13:14 masak now that's a potentially ambiguous sentence...
13:14 colomon mathw: pretty much all the rand tests are like that.
13:14 mathw my $u = Universe::Pocket.new(); $u->run( { loop { ok(0 <= rand < 1); } }, :timefactor(INFINITE));
13:15 mathw we might need a bigger computer though...
13:15 pmichaud or a lot of patience
13:15 mathw masak: if you'd said it in Lojban, that ambiguity would have been replaced with almost universal incomprehensibility.
13:16 mathw I know, there's no better way to test a rand function
13:16 mathw The only way to ensure it's right is a formal proof of correctness of the algorithm
13:16 colomon Well, you might call it more than once, at any rate.
13:16 pmichaud we do call it more than once across multiple spectest runs :)
13:17 mathw I was just wondering if it would be possible to calculate the number of times you'd need to run it to get a significant chance of finding such a mistake
13:17 colomon I guess the good news is that I had to fudge out those two tests, but I unfudged three tests that alpha didn't pass.  :)
13:17 mathw And then I realised that to figure that out you'd need to know how the algorithm was broken... so you might as well just fix it
13:17 pmichaud what file is this?
13:17 colomon rand.t
13:17 colomon think it's S32-num
13:19 pmichaud my guess is that it thinks rand is a listop
13:19 masak mathw: your code reminded me of http://c2.com/cgi/wiki?PimcPiflPire
13:19 pmichaud and in the < case, it think it's starting a <...> list
13:19 masak mathw: that article has always fascinated me with its possibilities.
13:19 jnthn back
13:19 colomon Okay if I change the last todo in ord_and_chr.t to a skip?  The final test is crashing on my machine...
13:20 pmichaud no objection here
13:21 jnthn masak: We can standardize the naming a bit.
13:21 pugs_svn r29765 | colomon++ | [t/spec] Change last fudge from todo to skip to avoid a crash.
13:21 dugg joined #perl6
13:21 masak jnthn: pmichaud already suggested to singularize the lot.
13:22 mathw masak: yes that's the kind of thing I was thinking of really
13:22 jnthn Yeah, I made the mistake of reading what I missed forwards rather than backwards. :-P
13:22 masak :)
13:22 colomon pmichaud: why would it think rand is a listop?
13:22 pmichaud because it doesn't know that rand is a term
13:22 masak jnthn: it's a tough call sometimes. whether to backlog backwards or forwards.
13:22 pmichaud any unknown bareword is assumed to be a listop
13:23 colomon ah.
13:23 pmichaud try    token term:sym<rand> { <sym> }    in Grammar.pm
13:23 pmichaud that won't actually create the call to &rand, but we could at least see if it parses correctly with that in place
13:23 pmichaud might actually need
13:23 pmichaud token term:sym<rand> { <sym> >> }
13:24 pmichaud See also term:sym<rand> in STD.pm .
13:24 pmichaud or look at term:sym<Nil>  in Grammar.pm for an example of how we do it for Nil
13:25 pmichaud (and in Actions.pm as well, since Nil is a 0-ary function like rand)
13:25 colomon with <.nofun> ?
13:25 pmichaud yes
13:26 pmichaud although in rand's case, there is some special error message handling to avoid p5-think (see STD.pm for the example)
13:26 pmichaud I'd start by duplicating the code from Nil, just to get it working, and then try adding the error messages
13:27 pmichaud afk, kid delivery
13:27 mathw kidsovernight.com?
13:28 jnthn mathw: thankfully, not found in the DNS...
13:28 mathw it just made me think of Grand Theft Auto
13:28 mathw can't remember which game it was, but one of them had radio adverts for petsovernight.com
13:29 mathw which I assume they did register...
13:29 mathw else it would've been a porn site almost instantly
13:29 mathw best bit of those games is the radio commercials
13:30 colomon okay, adding the stuff to the grammar and actions didn't break use of rand in the REPL.
13:30 jnthn .oO( hardcore footage of pussy cats by night... )
13:31 colomon By golly, that works!  pmichaud++
13:31 jnthn Yay. :-)
13:38 pugs_svn r29766 | colomon++ | [t/spec] Unfudge two tests that now work.
13:38 dalek rakudo/master: 2c23657 | (Solomon Foster)++ | src/Perl6/ (2 files):
13:38 dalek rakudo/master: Add rand as a term, cloning the Nil term's code.
13:38 dalek rakudo/master: Apparently this still needs special handling to get properly awesome error messages, but for the moment, this works.
13:38 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/2​c2365783b7be44b0f950ac362f5d259d9a91b5a
13:39 ignacio_ joined #perl6
13:39 jnthn fwiw, I'm probably going to do a bunch of metamodel tweaking later on today, and try and get us back most of S12-introspection/*.t.
13:40 colomon \o/
13:40 colomon I really need to tackle $work today.
13:40 colomon alas.
13:41 jnthn Yeah, I need to for the next hour or two as well...
13:41 colomon pmichaud: I have no idea how to port the .obs stuff from STD.pm's rand to Grammar.pm.  But I've got basic functionality working now.
13:44 pmichaud I think Grammar.pm already has an obs method.
13:44 colomon pmichaud: search doesn't turn it up by that name.
13:45 pmichaud you're right.
13:46 pmichaud it should be pretty close to what STD.pm has
13:46 pmichaud I'd just avoid (or comment out) the %$*HIGHEXPECT line
13:47 pmichaud (I'd also not put constraints on the parameters.... but that's just me :)
13:47 pmichaud afk for a bit
13:48 pmichaud jnthn: if working on the metamodel today (+1), keep in mind that we can't bump PARROT_REVISION until after tomorrow's release
13:49 jnthn pmichaud: Shouldn't need to, for what I want to do.
13:49 jnthn pmichaud: If we do, I'll hold off, of course.
13:49 jnthn But pretty sure not needed.
13:51 brunov joined #perl6
13:53 masak "Could not find non-existent sub postfix:++"
13:53 masak 'tis &postfix:<++> nowadays, yes?
13:53 moritz_ probably, yes
13:54 masak seems so.
13:54 jnthn Aye.
13:54 moritz_ (though often .succ is OK too)
13:54 colomon though .succ returns the successor rather than changing the variable in place like ++, right?
13:54 jnthn right.
13:55 moritz_ right
13:55 masak I'll try to make the existing code work first. but thanks for the tip. :)
13:58 plainhao joined #perl6
14:00 plainhao left #perl6
14:04 pausenclown joined #perl6
14:05 pausenclown good morning. and on goes my journey to write an XML::Parser =)
14:07 masak pausenclown: you go, kid! but promise me to use a real XML parser for production purposes. :)
14:08 masak for your own wellbeing, as well as others'.
14:08 pausenclown lol. wanna look at my grammar?
14:08 * masak always wants to look at Perl 6 code
14:09 lisppaste3 pausenclown pasted "rudimentary xml::parser grammar" at http://paste.lisp.org/display/95105
14:09 * masak looks
14:11 masak pausenclown: you've come a fair way already, I see.
14:11 pausenclown when i'm done with the grammar, i probably need some help regarding the action classes (probably dom, sax, and twig)
14:11 pausenclown what would u think would be easier to implement?
14:11 masak not sure DOM and SAX are the same category of things as action classes.
14:12 masak pausenclown: you might profit from having a look at krunen's xml at github. also, I've basically written the beginnings of a SAX parser in the Hitomi subproject of Web.pm.
14:12 jnthn You could build a DOM up in the actions, just as we build an AST in them for Rakudo.
14:13 masak aye.
14:13 pausenclown of course not. one builds a object tree and one offers a callback interface
14:13 arnsholt Should be possible to do push parsing with action classes, no?
14:13 masak jnthn: what do you make of this? http://gist.github.com/306640 -- especially the error message at the bottom.
14:14 masak how do junctions get into it?
14:14 jnthn You could also make the callbacks from action methods... :-)
14:14 jnthn masak: The error message is...wrong.
14:15 jnthn pistfix:<=> isn't defined in Junction.pir.
14:15 pausenclown masak: (re fair way) it helps when the grammar is basically already defined (http://www.w3.org/TR/REC-xml/)
14:15 jnthn ...post...
14:15 jnthn masak: I'd re-work to use .succ
14:15 jnthn Otherwise you need to create a read/write container.
14:15 masak ok.
14:16 masak pausenclown: yes. that's part of why it's so attractive to write an XML parser, I guess.
14:16 jnthn $P0 = '&postfix:<++>'(cur_val)
14:16 jnthn could be replaced with
14:16 masak it's as if Perl 6 grammars were made for creating XML parsers as a first use case. :)
14:16 jnthn $P0 = cur_val
14:16 jnthn cur_val = cur_val.'succ'()
14:16 masak jnthn: thanks. will try that.
14:17 pausenclown lol. this is just a warmup for my TT parser. -.-
14:17 masak jnthn: why is the first assignment to $P0 needed?
14:18 avar masak: re http://twitter.com/carlmasak/statuses/9228892096 : I was here all along. When I build it it dies by opening the src/packfile.c perldoc page, then "bit.ops - Bitwise Opcodes", then this: http://pastie.org/828904
14:18 jnthn masak: you can actually swap things around a bit I guess
14:18 masak avar: oh good.
14:18 jnthn result[cur_item] = cur_val
14:18 masak avar: (that you're here)
14:18 jnthn and then cur_val = cur_val.'succ'()
14:19 jnthn masak: In PIR = is binding rather than assignment...sometimes.
14:19 jnthn :-)
14:19 pausenclown btw, is there - by any chance - a collection of xml documents suitable to write test cases against?
14:19 masak jnthn: an utterly confusing answer, but I'll try to turn it into working code :P
14:19 lisppaste3 colomon pasted "My (failing) attempt to port STD.pm's rand magic to Grammar.pm" at http://paste.lisp.org/display/95107
14:19 masak pausenclown: why don't you check existing XML parsers on CPAN?
14:20 pausenclown masak: interesting idea =)
14:20 pmichaud colomon: did you add an obs method to the grammar?
14:22 pmichaud colomon: also, I'd just start with the second (simpler) .obs warning and make sure it's working before doing the one above it
14:22 jnthn masak: Welcome. :P
14:23 pmichaud using postfix:<++> will likely start to work only on container PMCs, not on individual values (fwiw)
14:23 PerlJam joined #perl6
14:23 pmichaud so using .succ is far superior
14:24 jnthn .oO( strangely, .succ is the way that doesn't ... )
14:24 pmichaud ..."didn't", perhaps?
14:24 pmichaud things are different now :)
14:24 * masak compiles the far superior code
14:25 ggoebel joined #perl6
14:25 PerlJam good morning all
14:26 masak PerlJam: \o
14:26 jnthn morning, PerlJam
14:28 colomon pmichaud: yes, added obs
14:28 colomon pmichaud: actual error I'm getting is "Unknown operator precedence specification "%term" at line 1, near "\n""
14:29 pmichaud oh yes,.  omit the <O('%term')> -- we aren't using that for terms yet.
14:30 colomon okay, trying that.
14:31 colomon > say rand;
14:31 colomon 0.165018330651463
14:31 colomon > say rand();
14:31 colomon Unsupported use of rand(); in Perl 6 please use rand at line 1, near "();\n"
14:32 Trashlord joined #perl6
14:32 jnthn \o/
14:34 colomon > say rand(10);
14:34 colomon Unsupported use of rand(N); in Perl 6 please use N.rand or (1..N).pick at line 1, near "(10);\n"
14:34 pmichaud \o/
14:34 moritz_ ship it!
14:35 colomon moritz_: This time I'm remembering to run spectest first.  ;)
14:39 pmichaud oh, this morning I was wondering if for trig and other tests it's worthwhile to split them into 'spec' and 'stress' tests?
14:39 pmichaud 'spec' are the tests that make sure things are basically working, 'stress' are where we try every combination of type and argument
14:40 colomon I think I'd be against eliminating the different types from the spec test, but certainly their testing could be a lot less exhaustive in the basic spec.
14:41 colomon So say trying sin(Rat) on one Rat value rather than multiple Rat values.
14:41 pmichaud well, I was thinking we could also do   #?rakudo stress 5  "skip these except when stress testing"
14:41 pmichaud anyway, it's just a thought for consideration -- I'm fine with leaving everything in spec
14:41 colomon oooo, interesting way of handling it.
14:41 colomon I'm expecting I'm going to reorganize the tests a good bit for Numeric/Real.
14:42 moritz_ colomon: I'd like to have 1 test per function, type and sign/quadrant
14:43 moritz_ so sin(-1/16), sin(1/16)
14:43 colomon I'm also wondering how much performance we will get back by switching trigbase from strings to an enum.
14:43 moritz_ and chose values where the result is not something even (like 0 or 1)
14:43 [particle] the limits should also be tested
14:44 moritz_ you mean like sin(Inf)?
14:44 [particle] i mean boundary conditions
14:44 [particle] we know sin(0) = 1, we should test it
14:44 dalek rakudo/master: 761d05a | (Solomon Foster)++ | src/Perl6/Grammar.pm:
14:44 dalek rakudo/master: Add obs method and port the smart version of rand from STD.pm.
14:44 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/7​61d05a257e737e634258431b0e655c56f8c71d6
14:45 * moritz_ hopes that sin(0) == 0 :-)
14:45 [particle] please excuse my poor typing
14:46 [particle] of course sin(0) == 0
14:47 [particle] the transcendental functions should test values in range, at the edge of range, and outside the range to be complete
14:47 moritz_ so pretty much what we have now :-)
14:47 [particle] as well as error conditions (eg NaN)
14:47 [particle] it's not really stress testing, is it?
14:48 pmichaud [particle]: and we should test all of the numeric types
14:48 colomon the problem becomes when you multiply that by all the different ways of invoking the functions, and all the different types they can be invoked on.
14:48 pmichaud ...and all of the adverbs
14:48 pmichaud and probably even the non-numerics
14:48 pmichaud and we should check the metaops
14:48 [particle] pmichaud: there are ways to deal with the complexity, by reducing what's tested
14:48 [particle] let me see if i can dig up a paper on that
14:49 pmichaud [particle]: I agree, the tests you identified aren't "stress testing"
14:49 pmichaud they're basic spec
14:49 [particle] i know i converted some parrot tests for this long ago
14:49 [particle] i wish i still had access to that presentation...
14:50 colomon and bugs show up in the darned places, like the crazy thing we had earlier this week when 3e0.sin would work but 3e0.sin('radians') wouldn't, because the wrong .sin method was being called.
14:50 colomon Working on polar.t, I also found a case I had completely missed in the trig tests: calling atan2(Rat, Rat).
14:50 colomon atan2(Rat, Int) worked, and atans2(Rat, Num), but not Rat, Rat.
14:51 go|dfish left #perl6
14:53 colomon anyway, I'm anticipating needing to add quite a few new test cases when Numeric/Real come down the pike, and I'm figuring on shaving back the quasi-redundant cases to avoid adding another 10,000+ test cases to spectest.  :)
14:53 colomon afk # time to exercise, then $work
14:57 masak set_pmc_keyed() not implemented in class 'EnumMap'
14:57 masak current instr.: '!create_anon_enum' pc 742 (src/glue/enum.pir:15)
14:57 masak jnthn: whoz op with that?
14:58 jnthn hm
14:58 jnthn maybe explicitly use .'postcircumfix:<{ }>' instead...
14:59 masak ok.
14:59 jnthn oh, I think someone just working out why some people's Parrot builds fail.
14:59 jnthn "make fails when environment variable PERLDOC="-i" is set"
15:00 jnthn masak: feel free to nopaste though
15:00 masak sure, just gonna try this first...
15:01 ggoebel joined #perl6
15:02 jnthn masak: Note you'll need to decompose it
15:02 jnthn use postcircumfix to get hold of the thing to assign to
15:02 masak jnthn: yes.
15:02 masak nod.
15:02 masak got it :)
15:02 jnthn Then assign to it by calling &infix:<=>
15:02 jnthn \o/
15:02 masak I've seen that pattern a lot in PGE. :)
15:03 pmichaud enums are ro, yes?
15:03 jnthn oh, yeah
15:03 masak pmichaud: oh, so I should create the values in a hash first and then create the EnumMap at once, you mean?
15:03 jnthn masak: or build a Parrot hash
15:03 pmichaud I'm just saying I don't think you'd need the &infix:<=> step.
15:04 pmichaud yes, build a Parrot hash might work
15:04 jnthn And then EnumMap.new passing that hash
15:04 jnthn as :flat :named
15:04 * masak builds a Parrot hash
15:04 jnthn note root_new ['parrot';'Hash']
15:04 jnthn new ['Hash'] will work for now, but it's part of a headache I'm trying to eliminate. :-)
15:05 masak oki.
15:05 pmichaud speaking of headaches, time for me to take a short nap I think
15:05 pmichaud bbl
15:05 Trashlord only a short one?
15:06 jnthn pmichaud: o/...have a good nap.
15:09 gigabo joined #perl6
15:09 gigabo left #perl6
15:13 pmurias joined #perl6
15:19 masak ok, so how do I call EnumMap.new from PIR with a Parrot hash as an argument?
15:19 jnthn $P0 = get_hll_global 'EnumMap'
15:19 masak ah.
15:19 masak thanks.
15:19 jnthn $P0.'new'(the_hash :flat :named)
15:19 brunov joined #perl6
15:20 masak you mentioned :flat and :named before... why are they needed?
15:20 jnthn |
15:21 jnthn Means you pass a bunch of named args rather than just one positional arg which is a hash.
15:21 masak ah, ok.
15:22 * masak liked the one-char explanation '|' :)
15:22 wolf2k_ubuntu joined #perl6
15:22 masak by the way, two months later, the Perl 6 Advent Calendar still holds steady at 150±50 hits per day. love the long tail.
15:26 IllvilJa joined #perl6
15:26 IllvilJa Hello! o/
15:27 masak IllvilJa: hello, fellow-with-a-Swedish-nick! \o
15:29 IllvilJa How's rakudo doing these days?  I've done frequent 'git pull' followed by 'make; make install' from time to time and the codebase seem to be active with changes.
15:29 IllvilJa (which is a good thing :-) )
15:30 masak big news from a few days back is that the ng branch became master.
15:31 IllvilJa Yes.  That triggered my frequent 'gitpull-make-makeinstall' cycle :-D.
15:32 IllvilJa Only catch is that my CGI script (very basic toy one) to test rakudo-on-the-web refuse to run, and I suspect that 'use' statements don't work for now.
15:33 IllvilJa I understood some regressions in general were to be expected when rakudo-ng became the 'real' rakudo development branch.
15:33 jnthn Possibly. Also if you had pre-compiled PIR, be sure to re-compile it.
15:33 justatheory joined #perl6
15:33 IllvilJa Ok, so I should basically hunt down any .pir file lying around and delete it?
15:34 IllvilJa Or are such precompiled .pir files only created when explicitly requested and never by default when running rakudo?
15:34 IllvilJa Actually, I can check myself...
15:34 jnthn Only if you requested it normally.
15:34 jnthn Though installing modules may do it.
15:34 IllvilJa Well, the cgi script is 'alone' (no accompanying .pir file there).
15:34 jnthn ah, ok
15:34 IllvilJa Will a .pir file speed up initial startup for a rakudo perl script?
15:35 moritz_ aye
15:35 jnthn Pre-compilation is meant to, yes.
15:35 moritz_ though I only use it for modules, not scripts
15:35 IllvilJa Woo... then I'll look into that once the CGI script is running again :-).
15:35 jnthn Yeah, for non-modules it's probably not quite working again yet.
15:35 moritz_ need to add some .loadlib lines manuall
15:36 IllvilJa Ah.  Pity to some extent, as I use a laptop from 2001 as the web server hosting the CGI script.
15:36 IllvilJa Start up times for rakudo is (currently) a bit long so it takes a little while before the web page starts to load at all (or you get an error message, like right now).
15:37 IllvilJa But eventually I suspect this issue becomes moot as rakudo and parrot start to approach the speed of light :-D.
15:37 IllvilJa (The latter is the goal, right? ;-) )
15:38 IllvilJa Wished I had time to dig down into things and track down WHAT goes wrong and contribute with fixing code but time constraints right now forces me to be a enthusiastic by stander, who occasionally for fun does 'gitpull-make-makeinstall' and then runs a random script 'to see what happens'.
15:39 masak looking at the two known translations of the Advent Calendar to other languages, both of them seem to have stalled. the Russian one after day 5 and the Japanese one after day 12. http://ky6uk.ugatu.net/perl-​6-advent-calendar-na-russkom http://d.hatena.ne.jp/uasi/archive
15:40 wasy joined #perl6
15:41 moritz_ can't blame them, it's much text
15:41 masak indeed.
15:41 moritz_ and we've been about 8 people or some, I guess the translation was only done by one or two people each
15:41 masak nod.
15:45 clausi joined #perl6
15:46 masak ./perl6 -e 'say (enum <a b c>).keys.elems'
15:46 masak 3
15:46 masak \o/
15:46 masak man, this feels good.
15:47 * masak runs spectests
15:47 jnthn masak++
15:47 masak :D
15:48 masak only the rest of the enums spec left. :)
15:48 jnthn ;-)
15:48 colomon \o/
15:49 pausenclown alpha: say "foo" ~~ /<[\xE000..\xFFFD]>/
15:49 xomas joined #perl6
15:49 xomas joined #perl6
15:49 p6eval alpha 30e0ed: OUTPUT«Malformed string␤in Main (file <unknown>, line <unknown>)␤»
15:49 pausenclown rakudo: say "foo" ~~ /<[\xE000..\xFFFD]>/
15:49 p6eval rakudo 761d05: OUTPUT«␤»
15:50 pausenclown mmh
15:50 masak hm...
15:50 masak alpha used to blow its fuses on that kind of large char range.
15:51 masak but not matching seems wrong too :)
15:51 masak oh wait. :)
15:51 masak no, that's right.
15:51 moritz_ it seems very right :-)
15:51 masak I retract all my claims. rakudo++ nqp-rx++
15:51 pausenclown yeah, the problem is the exception
15:51 moritz_ afaict f and o are ASCII and thus below 127
15:52 pausenclown rakudo: say "foo" ~~ /<[ \x0..\xFF \xE000..\xFFFD]>/
15:52 p6eval rakudo 761d05: OUTPUT«␤»
15:52 masak pausenclown: I'd wager you won't be able to convince old Rakudo to match such a range.
15:52 masak pausenclown: at least I failed last time I tried.
15:53 pausenclown alpha: say "foo" ~~ /<[ \x0..\xFF]>/
15:53 p6eval alpha 30e0ed: OUTPUT«f␤»
15:55 Psyche^ joined #perl6
16:00 dalek rakudo/master: f592840 | masak++ |  (4 files):
16:00 dalek rakudo/master: basic implementation of anonymous enums
16:00 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/f​592840596fe7e5a54ce2fab704bec70bd2acfc4
16:00 masak \o/
16:02 masak guess the next logical step is named enums.
16:03 jnthn masak: Did you try out the anonymous enum tests?
16:03 john joined #perl6
16:03 masak no. I can do that now.
16:03 jnthn Cool. :-)
16:03 jnthn I've finished my @other-task today. Short breeak, then I'll do some Rakudo hacking. :-)
16:18 nihiliad joined #perl6
16:22 synth joined #perl6
16:25 cognominal joined #perl6
16:27 pmichaud (enums) ... can't we eliminate Perl6Pair  in favor of Pair ?
16:29 payload joined #perl6
16:30 jnthn Maybe.
16:30 jnthn wait though
16:30 pmichaud originally we had Perl6Pair to avoid the conflict with the Parrot "Pair" type
16:30 jnthn We should be creating Enum rather than Pair
16:30 pmichaud (IIRC)
16:30 jnthn Pair is mutable.
16:31 pmichaud however, (1) there are no longer naming conflcits with parrot types
16:31 jnthn But yes, that was why, and we should be able to rename...
16:31 pmichaud (2) parrot no longer has a Pair type :)
16:31 * jnthn loves obs
16:32 takadonet obs?
16:32 jnthn takadonet: Lets us point out things that were valid Perl 5, but not Perl 6, and what should be used instead. :-)
16:32 pmichaud .obs(...)
16:32 pmichaud (in the grammar)
16:33 * jnthn adds two more just for fun, to ease himself into the metamodely stuff.
16:34 jnthn pmichaud: Perl6Pair is...gone already as far as I can see :-/
16:34 jnthn pairproto = p6meta.'new_class'('Pair', 'parent'=>'Enum')
16:34 pmichaud okay, it's in the patch masak++ just added then
16:34 pmichaud (there's a test for Perl6Pair in the masakpatch)
16:35 jnthn masak: In your patch, plz can haz s/Perl6Pair/Pair/, kplzthnx. :-)
16:35 jnthn (It'll probably fix a bug. :-))
16:35 masak sure thing.
16:36 pmichaud I also think we don't need to be cloning values there
16:36 masak ok, I'll remove that line.
16:36 cjk101010 joined #perl6
16:36 pmichaud one of the nicer things about the new container-based semantics is that we don't need to do a lot of cloning and/or copying -- our immutables are.  :)
16:36 jnthn > while <STDIN> { }
16:36 jnthn Unsupported use of <STDIN>; in Perl 6 please use $*IN.lines
16:36 jnthn \o/
16:37 jnthn Pimp my errors.
16:37 masak fix pushed.
16:37 pmichaud masak++
16:38 pmichaud .oO(if masak++ is now fixing bugs, who is wielding the sledgehammer?)
16:38 masak it's ok, I have two hands.
16:39 jnthn .oO( hey, I have two hands also... )
16:42 pugs_svn r29767 | masak++ | [S26] Added Damian's even more latest changes
16:42 pugs_svn r29767 |
16:42 pugs_svn r29767 | A nifty command called 'patch' almost managed to apply the updates.diff
16:42 pugs_svn r29767 | file Damian sent to p6l. One hunk failed, but I poked it in manually. Also
16:42 pugs_svn r29767 | removed one line-ending whitespace.
16:42 masak scratch that. I have three hands.
16:43 * masak <-- Zaphod Beeblebrox
16:46 dalek rakudo/master: e23a053 | masak++ | src/glue/enum.pir:
16:46 dalek rakudo/master: [src/glue/enum.pir] two fixes
16:46 dalek rakudo/master: - s/Perl6Pair/Pair/
16:46 dalek rakudo/master: - removed cloning step
16:46 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/e​23a053b850953d6da63caef868167c3c57c6a48
16:47 rgrau joined #perl6
16:49 jnthn STD++
16:49 jnthn # "when" arg assumes more things will become obsolete after Perl 6 comes out...
16:49 jnthn :-D
16:50 masak yeah. always liked that one. :)
16:50 jnthn Well, just scattered some more .obs goodness, plus the undef thingy that suggests what to use instead.
16:50 masak though what it would mean for Perl 6 to 'come out', I'm not sure... :)
16:51 jnthn masak: Well, perl6.org already "sings gay"... :-)
16:51 jnthn Eurgh. Does I really want to do this meta-model stuffs...
16:52 masak metamodels aren't gay. they're more like masturbation.
16:52 * masak shuts up
16:52 clausi left #perl6
16:54 jnthn .oO( good material for my nlpw meta-models talk )
16:54 masak what have I done? :)
16:56 jnthn We maybe don't want to know. :-P
16:56 jnthn :-/ Wish more of this PIR was NQP.
16:56 jnthn Hm. Another day.
16:57 * jnthn makes the first tentative few changes
16:57 dalek rakudo/master: c9601d7 | jonathan++ | src/Perl6/Grammar.pm:
16:57 dalek rakudo/master: Add a few more .obs from STD.pm, and also add it's term:sym<undef> for suggesting alternatives to undef.
16:57 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/c​9601d7948e7fd62e3fb329e310ae26321ff26f2
16:57 masak s/it's/its/
16:58 jnthn d'oh, yes, it is.
16:58 masak no, not 'it is'. genetive of 'it' :)
16:58 masak s/genetive/genitive/
16:59 jnthn :-)
17:01 pmichaud afk, lunch
17:01 dakkar joined #perl6
17:04 zibri joined #perl6
17:04 pmurias masak: is =head1\nFoo legal?
17:05 pmurias in Pod 6
17:05 masak pmurias: I don't know, see the latest S26 :)
17:05 masak pmurias: I just applied the changes, I didn't question them.
17:08 pmurias seems so
17:15 TimToady_ rakudo: my $x = \(1,2,3); say $x.WHAT
17:15 p6eval rakudo c9601d: OUTPUT«Capture()␤»
17:16 masak joined #perl6
17:18 mhsparks joined #perl6
17:25 riffraff joined #perl6
17:32 dalek rakudo/master: 5e7ac5a | jonathan++ | docs/metamodel.pod:
17:32 dalek rakudo/master: Re-visit the Rakudo meta-model spec and try and be less wrong, though we still ain't all the way. The main issue the previous spec has was that meta-methods generally expected to get the metaclass as the first arg when constructing the class, but then would get the instance there. Also we were meant to be able to write trait_mod:<is> to add a parent as $child.^add_parent($parent), rather than $child.add_parent($child, $parent). Now we're going t
17:32 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/5​e7ac5ab4925ddbee89d2f8d0dc7ec14dcac57b6
17:33 wolverian joined #perl6
17:42 masak ./perl6 -e 'my %e1 = enum <foo>'
17:42 masak Method 'list' not found for invocant of class 'Perl6Str'
17:42 masak I think I see why this happens.
17:42 stephenlb joined #perl6
17:43 jnthn haha haha you filed that bug in my implementation back in the day :-P
17:44 jnthn *on
17:44 masak oh the irony :)
17:44 jnthn masak: I think the issue is that there's no .list method in Mu or Any.
17:44 jnthn pmichaud mentioned ".list" needing sorting out the other day, I think.
17:44 masak jnthn: oh, yes. you're right.
17:44 masak so I'll just try to add that then.
17:45 jnthn I'm not 100% what it's supposed to manufacture
17:45 jnthn A one element <thingy>. :-)
17:45 masak hm.
17:45 masak a List? :)
17:45 * masak is naively old-skool
17:45 vamped joined #perl6
17:46 jnthn Maybe a Parcel will do.
17:46 jnthn then it's just
17:46 jnthn .sub 'list' :method
17:47 jnthn .param pmc thingy
17:47 jnthn .tailcall '&infix:<,>'(thingy)
17:47 jnthn .end
17:47 jnthn May be wrong, though.
17:47 mssm joined #perl6
17:47 * masak tries that
17:47 jnthn Maybe a Seq is mor elike it.
17:47 masak aye.
17:48 masak where should I put it? none of the core/Any-*.pm files seems a good candidate.
17:48 masak maybe in Mu?
17:48 jnthn Do it in Mu
17:49 jnthn pmichaud can review it and tweak it.
17:49 colomon Hmmm... I would have thought returning an iterator (via gather / take, probably) would be appropriate here?
17:49 jnthn colomon: gather/take seems odd when there's just one element. :-)
17:49 jnthn As does an iterator...maybe that's right though.
17:50 colomon Ah, so not an issue if it is enum <Radians Degrees> (say?)?
17:50 masak jnthn: ".sub 'list' :method" or ".sub '' :vtable('list') :method" ?
17:50 jnthn .sub 'list' :method
17:50 jnthn You don't want to expose this as a Prrot vtable method
17:50 masak ok.
17:51 jnthn You want it callable.
17:54 nihiliad joined #perl6
17:55 Chillance joined #perl6
17:57 ignacio_ joined #perl6
18:04 cdarroch joined #perl6
18:04 cdarroch joined #perl6
18:04 masak jnthn: too few positional arguments: 1 passed, 2 (or more) expected
18:05 masak sure it oughtn't just be 'self' rather than 'thingy'?
18:05 jnthn masak: oh!
18:05 jnthn yes
18:06 masak :)
18:08 jnthn <- refactoring metamodel, may be distracted ;-)
18:08 colomon Do you guys know if there was a reason that alpha's splice was not implemented in terms of pir::splice?  (I mean, not using that shortcut, but using the PIR splice op.)
18:08 ShaneC1 joined #perl6
18:08 jnthn colomon: Not sure off-hand, sorry.
18:09 colomon I'm torn, because on the one hand it looks like alpha's splice could be easily ported to master.
18:09 colomon And on the other hand, it seems like pir::splice would probably be a lot more efficient, and it's already being using to implement push and unshift in master...
18:10 pmichaud pir::splice doesn't do nearly what we want
18:10 colomon pmichaud: ah.
18:10 pmichaud splice also gets much more tricky when dealing with laziness :)
18:10 colomon should I just grab alpha's splice, then?
18:10 pmichaud alpha's splice is almost certainly wrong
18:10 pmichaud in alpha, lists and arrays were subclasses of Parrot's ResizablePMCArray
18:11 colomon in alpha, splice is implemented entirely in terms of push, as nearly as I can see.
18:11 pmichaud in master, Seq and Array have separate attributes for reified and non-reified components
18:11 colomon I'm sure that's not the most efficient implementation, but I don't see why it wouldn't work.  push reifies first, right?
18:11 REPLeffect joined #perl6
18:12 pmichaud well, it would mean that splice is non-lazy, certainly.
18:12 pmichaud if things are going to be non-lazy, then we might as well use pir::splice, yes.
18:12 macae joined #perl6
18:12 pmichaud one other big difference is that unlike alpha, arrays and hashes in master are now arrays of ObjectRef PMCs instead of the values themselves
18:14 pmichaud anyway, the simplest approach would be to make sure that the invocant and the values to be spliced are fully reified, then use pir::splice to insert the elements to be spliced into the invocant's @items attribute.
18:15 pmichaud I'm not at all a fan of the way splice is implemented in alpha, fwiw.  Horribly inefficient.
18:18 colomon sure, I was just thinking in terms of functions that could be gotten back up and running by tomorrow.  :)
18:19 pmichaud in general I think I'm still biased a bit more towards "correct implementation" than "running quickly" for the ng branch.
18:19 pmichaud (now 'master' branch)
18:19 colomon how were you thinking of making splice lazy, btw?
18:19 pmichaud unless it's likely to win us a ton of capabilities or tests that we don't currently have
18:19 pmichaud well, laziness isn't fully working in Seq/Array as it is
18:19 colomon I can see how to do unshift or push, but not a full splice.
18:19 pmichaud but essentially,
18:20 pmichaud given  @foo.splice($offset, $size, @values)
18:20 dalek rakudo/master: 0e70eab | masak++ | src/builtins/Mu.pir:
18:20 dalek rakudo/master: [src/builtins/Mu.pir] added .list method
18:20 dalek rakudo/master: This makes all the tests in t/spec/S12-enums/anonymous.t pass.
18:20 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/0​e70eab41ae0d5fd9c07067d6c9c6a5a2dfabc2b
18:20 dalek rakudo/master: de7b7e6 | masak++ | t/spectest.data:
18:20 dalek rakudo/master: [t/spectest.data] uncomment S12-enums/anonymous.t
18:20 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/d​e7b7e6cc284b4052e35a2d196fe8d8b8622eb2b
18:20 pmichaud in @foo, we make sure the first $offset elements are reified
18:21 pmichaud we then create an unreified portion consisting of @values, all of the reified elements of @foo after $offset, and the unreified portion of @foo
18:21 colomon pmichaud: gotcha.
18:21 pmichaud and set that to be @foo's new unreified portion
18:21 colomon yes, that would be nice
18:21 masak spooky! that's how I imagined it :)
18:23 pmichaud of course, we also have to make sure that we don't have any inherent references in @values that might change if evaluated lazily
18:23 pmichaud i.e., if   @foo.splice($offset, $size, $b, $c, $d)
18:23 pmichaud we want to make sure that we get the values of $b, $c, and $d at the time of the splice, and not at the time that they're later reified.
18:24 pmichaud (in @foo)
18:25 justatheory joined #perl6
18:25 * colomon is suddenly content to let pmichaud get to splice in his own good time...
18:26 pmichaud which is why I'd be okay with an eager version of splice for the time being :-)
18:27 pmichaud but I'm not a huge fan of one built using lots of .push/.elems/assignment
18:27 colomon ah, so eager using pir::splice would be okay with you?
18:27 pmichaud yes.
18:28 colomon I will take a look at that, then.
18:35 jnthn masak: Nice work!
18:35 masak jnthn: thanks! named enums up next. :)
18:35 jnthn Scary.
18:35 quietfanatic joined #perl6
18:35 masak thanks for the encouragement :P
18:36 jnthn ;-)
18:36 jnthn It's OK, my local Rakudo is in such a good state it won't even start up. ;-)
18:36 masak then it has no bugs. that's the best state.
18:37 jnthn No, the crash message at startup is LTA though.
18:37 masak yeah, but that's only one thing :)
18:37 jnthn I should fix it to say "Give up, go for beer." Then the whole thing is great.
18:37 colomon masak++
18:38 * masak wishes he had the presence of mind to hack on Rakudo more often
18:38 colomon pmichaud: I think I've got a basic eager slice up and running, except I've no clue how to return a Parcel of the deleted elements.
18:39 pmichaud colomon: can I see what you have thus far?
18:40 lisppaste3 colomon pasted "Array.splice" at http://paste.lisp.org/display/95118
18:41 pmichaud looking.
18:41 pmichaud fwiw,  self!fill returns @!items  :-)
18:41 colomon I thought it must.  :)
18:42 colomon as you can probably guess, I cribbed heavily from unshift and push.
18:43 pmichaud I'm going to guess that you need to obtain the saved items before you splice them
18:43 pmichaud so
18:43 pmichaud $size = self.elems - $offset
18:43 pmichaud (in the signature, or use something //= )
18:43 pmichaud *use something akin to
18:44 pmichaud then   @ret = self[$offset+1..$offset+$size]
18:44 pmichaud maybe no +1
18:44 pmichaud (brane is fuzzy today... take my code/suggestions with salt)
18:45 colomon ooo, do we have that much of array slices working?  sweet.
18:45 pmichaud I'm pretty sure we do.
18:45 colomon okay, I'll have a go at that.
18:45 pmichaud rakudo:  my @a = 1..100;  say @a[56..60];
18:45 p6eval rakudo de7b7e: OUTPUT«5758596061␤»
18:45 pmichaud looks like yes.  :)
18:46 colomon :)
18:49 colomon erm... appears Range is even more broken than I thought on strings.
18:49 colomon rakudo: say 'e'..'z'
18:49 p6eval rakudo de7b7e:
18:49 p6eval ..OUTPUT«efghijklmnopqrstuvwxyzaaabacadaeafagahai​ajakalamanaoapaqarasatauavawaxayazbabbbcbdbebfbgb​hbibjbkblbmbnbobpbqbrbsbtbubvbwbxbybzcacbcccdcecf​cgchcicjckclcmcncocpcqcrcsctcucvcwcxcyczdadbdcddd​edfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzeaebec​edeeefegeheiejekelemeneoepeqereseteuevewexeyez…
18:49 pmichaud RIGHT
18:49 pmichaud oops
18:50 pmichaud (capslock)
18:50 pmichaud it needs to be checking for length also
18:50 colomon oh, I see.
18:50 colomon when it does 'z'.succ, it gets aa, which is less than 'z'.  Sigh....
18:51 pmichaud yes, I'm still not happy with the string-range semantics :)
18:51 colomon agreed.
18:51 snarkyboojum rakudo:  my @a = 1..100;  say @a[56..56];
18:51 colomon good news is, minus an obi-wan error, I've got splice working, I think.
18:51 p6eval rakudo de7b7e: OUTPUT«get_pmc_keyed() not implemented in class 'Array'␤current instr.: 'perl6;Positional[::T];postcircumfix:<[ ]>' pc 10532 (src/builtins/Role.pir:243)␤»
18:53 ignacio_ joined #perl6
18:53 colomon > my @a = 1..10; say @a.splice(3, 2, 'e'..'y'); say @a;
18:53 colomon 45
18:53 colomon 123efghijklmnopqrstuvwxy678910
18:53 jnthn Nice!
18:54 pmichaud colomon++
18:54 colomon pmichaud++ # pointing the way
18:54 pmichaud that's my job :)
18:54 colomon now to start throwing splice.t at it...
18:56 PerlJam Hmm.
18:57 PerlJam rakudo: say 'a'..'z'
18:57 p6eval rakudo de7b7e:
18:57 p6eval ..OUTPUT«abcdefghijklmnopqrstuvwxyzaaabacadaeafag​ahaiajakalamanaoapaqarasatauavawaxayazbabbbcbdbeb​fbgbhbibjbkblbmbnbobpbqbrbsbtbubvbwbxbybzcacbcccd​cecfcgchcicjckclcmcncocpcqcrcsctcucvcwcxcyczdadbd​cdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzea​ebecedeeefegeheiejekelemeneoepeqereseteuevewex…
18:57 PerlJam rakudo: say 'a'..'x'
18:57 p6eval rakudo de7b7e: OUTPUT«abcdefghijklmnopqrstuvwx␤»
18:57 PerlJam rakudo: say 'a.1'..'c.5'
18:57 p6eval rakudo de7b7e: OUTPUT«a.1b.1c.1␤»
18:57 jnthn Meanwhile, my Rakuod now survives startup again. :-)
18:58 jnthn *Rakudo
18:58 PerlJam rakudo: say 'a1.jpg'..'c5.jpg'
18:58 p6eval rakudo de7b7e: OUTPUT«a1.jpga2.jpga3.jpga4.jpga5.jpga6.​jpga7.jpga8.jpga9.jpgb0.jpgb1.jpgb2.jpgb​3.jpgb4.jpgb5.jpgb6.jpgb7.jpgb8.jpgb9.jp​gc0.jpgc1.jpgc2.jpgc3.jpgc4.jpgc5.jpg␤»
18:58 jnthn That's...cool.
18:59 quietfanatic rakudo: sub X (Str $a, Int $b) {...}; X ('abc', 3)
18:59 p6eval rakudo de7b7e: OUTPUT«Nominal type check failed for parameter '$a'; expected Str but got Parcel instead␤current instr.: 'X' pc 195 (EVAL_1:78)␤»
18:59 quietfanatic kinda...unexpected, though I see why
19:00 PerlJam quietfanatic: you want a better error?
19:00 quietfanatic No, though it certainly wouldn't hurt.
19:00 jnthn Wow, all the sanity tests pass here again too.
19:01 PerlJam I can't see how perl could warn you that you're doing something weird in that case
19:01 quietfanatic I don't think this is the way it ought to be.
19:02 jnthn Trouble is, it finds out about the type check fail on the first param before it gets to find out about the missing second one.
19:02 PerlJam I guess since it's always a Parcel that does this, it could check the sig of the Parcel and compare with the sig of the sub and make a good guess for the warning.
19:02 quietfanatic No, I mean the fact that it's passing one Parcel argument instead of the two arguments.
19:02 jnthn Oh, I think htat's right.
19:03 jnthn or at least, spec.
19:03 jnthn :-)
19:03 pmichaud it's certainly following the spec.
19:03 quietfanatic I mean perhaps it's right by spec
19:03 quietfanatic but
19:03 quietfanatic I think there'll by many others after me who'll get confused by this.
19:03 pmichaud function calls now always require the parens next to the function call, or use unspace
19:03 quietfanatic I guess I'm questioning the spec then, huh :)
19:03 PerlJam quietfanatic: so ... we should be more vocal about whitespace sensitivity? :)
19:03 quietfanatic I don't know.
19:04 jnthn PerlJam: Finally, we found a way to appeal to Python programmers! ;-)
19:04 quietfanatic It's the fact that the parentheses are turning two things into one.
19:04 pmichaud that's what parentheses do -- they group things together :)
19:04 quietfanatic ...
19:06 quietfanatic well, at least I know what I was doing wrong now.
19:09 PerlJam quietfanatic: you could try to convince TimToady that bare parens shouldn't create a Parcel and that you should use the Parcel() constructor for that.
19:09 PerlJam :-)
19:10 pmichaud parens don't create parcels
19:10 pmichaud commas do
19:10 quietfanatic ...doubtful :|
19:10 pmichaud it's not the parens that are creating a parcel
19:10 pmichaud the space after the X turns it into a listop
19:10 PerlJam pmichaud: right, I knew that.   Just temporary forgetfulness on my part.
19:12 quietfanatic No this is correct.  I was just using Haskell recently is all. :)
19:16 pugs_svn r29768 | lwall++ | [S02,S04] more clarification of when parcels are and aren't used.
19:16 pugs_svn r29768 | Use "argument" as a technical term meaning either a real parcel or an object
19:16 pugs_svn r29768 |     that can be used independent of context as an argument (but return chunks
19:16 pugs_svn r29768 |     are also arguments in the old "parcel" sense.)
19:16 PerlJam Hmm. I wonder if Perl 6 could have some "stopper" that makes X into a function?  I guess . does that, but you still need to be cognizant of whitespace
19:16 pmichaud ()
19:16 PerlJam of course, there's always  the unspace too
19:16 pmichaud X()  # function
19:17 pmichaud X\    ('abc',3)   # function
19:17 PerlJam pmichaud: I mean something like X $ (...)  gets treated like X(...) where $ is the "stopper"
19:17 snarkyboojum rakudo: sub X (Str $a) { ... }; X ();
19:17 p6eval rakudo de7b7e: OUTPUT«Nominal type check failed for parameter '$a'; expected Str but got Parcel instead␤current instr.: 'X' pc 187 (EVAL_1:76)␤»
19:18 pmichaud PerlJam: see unspace :-)
19:18 TimToady_ PerlJam: he doesn't need to convince me of that--we've been moving that direction for a few weeks now
19:18 quietfanatic :?
19:20 nihiliad joined #perl6
19:22 donaldh joined #perl6
19:30 donaldh_ joined #perl6
19:37 ash__ joined #perl6
19:39 wanradt_ joined #perl6
19:43 quietfanatic rakudo: my @a = 3, 4, 5; say @a[*-1]
19:43 p6eval rakudo de7b7e: OUTPUT«Method 'Num' not found for invocant of class 'Block'␤current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)␤»
19:44 quietfanatic whatevercode NYI?
19:44 pmichaud nyi
19:44 pmichaud I'll likely work on it soonish
19:45 quietfanatic alright
19:46 colomon rakudo: my @a = 1..10; say @a[2..2]
19:46 p6eval rakudo de7b7e: OUTPUT«get_pmc_keyed() not implemented in class 'Array'␤current instr.: 'perl6;Positional[::T];postcircumfix:<[ ]>' pc 10532 (src/builtins/Role.pir:243)␤»
19:46 colomon rakudo: my @a = 1..10; say @a[2..3]
19:47 p6eval rakudo de7b7e: OUTPUT«34␤»
19:47 pmichaud slicing doesn't know what to do with empty parcels, I'm guessing
19:47 colomon rakudo: my @a = 1..10; say @a[2..^3]
19:47 p6eval rakudo de7b7e: OUTPUT«get_pmc_keyed() not implemented in class 'Array'␤current instr.: 'perl6;Positional[::T];postcircumfix:<[ ]>' pc 10532 (src/builtins/Role.pir:243)␤»
19:47 pmichaud looking.
19:47 colomon It shouldn't be empty, it should have one element, right?
19:47 pmichaud oh, true.
19:47 snarkyboojum that's what I was wondering :)
19:47 colomon but I'll bet you're on the right track anyway.  :)
19:48 uniejo joined #perl6
19:48 PerlJam rakudo: my @a = 1..10; say @a[2..0]
19:48 p6eval rakudo de7b7e: OUTPUT«␤»
19:49 PerlJam I'd say it knows how to deal with empty parcels
19:49 pmichaud say eager(2..2).perl
19:49 pmichaud rakudo: say eager(2..2).perl
19:49 p6eval rakudo de7b7e: OUTPUT«(2, )␤»
19:49 pmichaud rakudo: say eager(2..2).elems
19:49 p6eval rakudo de7b7e: OUTPUT«1␤»
19:50 pmichaud that's..... weird
19:50 ash__ shouldn't 2..0 do 2, 1, 0?
19:50 PerlJam ash__: no
19:50 ash__ ah
19:50 colomon ash__: no, no counting down.
19:50 colomon rakudo: say 5, 4 ... 0
19:50 p6eval rakudo de7b7e: OUTPUT«Method 'pred' not found for invocant of class 'Seq'␤current instr.: '&prefix:<-->' pc 342905 (src/gen/core.pir:47335)␤»
19:50 colomon do'h!
19:50 ash__ is that hard to do with a range or something?
19:51 pmichaud okay, I see the problem... now looking for a fix
19:51 PerlJam ash__: not hard to do, but it opens up the possibilities for inadvertent errors.
19:51 colomon ash__: Ranges are defined as always increasing.
19:51 PerlJam ash__: imagine  $x..$y
19:51 colomon series allow you to do crazy things.
19:51 pmichaud (that doesn't end up in infinite loop)
19:51 colomon when they work, they're not completely implemented yet.
19:51 pmichaud oh!  I see the fix.
19:51 pmichaud easy-peasy
19:51 jnthn Heh, I just had a "I see the fix" moment too. :-)
19:52 colomon rakudo: say (5, 4 ... *).batch(10)
19:52 p6eval rakudo de7b7e: OUTPUT«543210-1-2-3-4␤»
19:52 * jnthn 's metamodel refactor is going better than expected.
19:52 pmichaud not only that, but the fix involves deleating silly lines of code
19:52 colomon \o/
19:52 jnthn ooh
19:52 jnthn Just fixed the nasty I had.
19:52 ash__ ah, so there is a way to count down, just not using ..
19:52 * jnthn spectests again, hoping for the best.
19:52 PerlJam (removing code to add functionality)++
19:53 pmichaud spectesting now
19:53 colomon rakudo: say 5 ... 1
19:53 p6eval rakudo de7b7e: OUTPUT«54321␤»
19:53 colomon ash__: ah, that way of doing it works now.  :)
19:54 * pmichaud is continually surprised by the things that work in rakudo already :)
19:54 PerlJam pmichaud: so what was the @a[2..2] failure?
19:54 PerlJam er, what was the fix?
19:54 colomon I think like half of the series cases are implemented at the moment.
19:55 ktne joined #perl6
19:55 pmichaud it's a false optimization in the slicing code
19:56 jnthn Dinner time. But I'm down to two test files with issues in S14 in the meta-model refactor! \o/
19:56 jnthn That's gone...surprisingly better than expected.
19:56 pmichaud > my @a = 1..10;  say @a[2..2];
19:56 pmichaud 3
19:56 exussum0 joined #perl6
19:57 pmichaud the slice code was attempting to be smart about optimizing the case where a list ended up with a single element.  unfortunately, it optimized to the wrong code.
19:58 pmichaud so, I just removed the misoptimization and let it do things naturally, which is likely more correct anyway.
19:58 pmichaud (there is a minor potential for infinite recursion... but we'll deal with that if/when it appears)
20:00 TimToady_ phone
20:00 colomon Let pmichaud check in first!  ;)
20:00 colomon s/check in/push/
20:01 pmichaud pushed 215a019
20:01 colomon \o/
20:01 snarkyboojum I pointed out that bug earlier too :)
20:02 colomon snarkyboojum++
20:03 cognominal joined #perl6
20:06 clausi joined #perl6
20:07 colomon pmichaud++
20:08 dalek rakudo/master: 215a019 | pmichaud++ | src/builtins/Positional.pir:
20:08 dalek rakudo/master: Fix bug with slices and lists (ranges) of a single element, reported by
20:08 dalek rakudo/master: colomon++ .
20:08 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/2​15a019ad2c47af2ccaec06e170cc9d669c4717b
20:09 rgrau joined #perl6
20:11 awwaiid Woot! ng branch now master!
20:11 justatheory joined #perl6
20:12 PerlJam awwaiid: yep.  quite nice.
20:12 * awwaiid rebuilds from scratch
20:13 cognominal joined #perl6
20:14 wknight8111 joined #perl6
20:15 colomon hmmm, what does it mean if the $size parameter to splice is negative.  everything but $size.abs characters?
20:17 PerlJam colomon: if the spec doesn't say, follow Perl 5's behavior.
20:17 colomon PerlJam: that would assume I remember Perl 5's behavior.  :)
20:18 colomon ah, perldoc.
20:18 awwaiid so git clone says the fetch failed. am I missing something?
20:19 colomon "If LENGTH is negative, removes the elements from OFFSET onward except for -LENGTH elements at the end of the array."
20:19 colomon awwaiid: what was your command line?  (could github be down?)
20:19 awwaiid git clone http://github.com/rakudo/rakudo.git ; it fetches a bunch of stuff and dies soon after: error: Unable to find faf43a6ba2a6319da5fc2c89863d3d1fe6b26198 under http://github.com/rakudo/rakudo.git
20:20 awwaiid I re-ran several times, and it doesn't alway sgive me the same blob identifier
20:20 awwaiid not a big deal, I was just messing around with it and I should be doing some actual $work anyway :)
20:20 colomon git clone http://github.com/rakudo/rakudo.git
20:21 awwaiid colomon, right, that's what I ran
20:21 awwaiid (the rest was commentary :) )
20:21 colomon awwaiid: meant to paste that into my terminal window, and missed.  :)
20:21 awwaiid ahhh
20:22 TimToady_ colomon: in most spots we've tried to replace magical negatives with *-$n closures, but I'm not sure it works there
20:22 colomon weird, it seems to have downloaded it okay for me, but I got a long string of messages from git I don't remember ever seeing before.
20:27 PerlJam awwaiid: you should be using the git protocol rather than http
20:28 PerlJam awwaiid: git clone git://github.com/rakudo/rakudo.git
20:28 PerlJam see if that helps
20:30 PerlJam colomon: all those "walk" and "got" messages are from using the http protocol
20:30 colomon aw.
20:30 colomon ah.
20:31 colomon still, doing it that way did work for me, I've got a complete build from that download now.
20:33 PerlJam awwaiid: what version of git are you using?  maybe you've got an older, buggier one.
20:34 colomon rakudo: sub f(Int $a) { say $a; }; my @a = 1..10; f(@a);
20:34 p6eval rakudo de7b7e: OUTPUT«Nominal type check failed for parameter '$a'; expected Int but got Array instead␤current instr.: 'f' pc 239 (EVAL_1:91)␤»
20:35 colomon should that work in p6?  splice.t appears to be full of things like that...
20:35 colomon alpha: sub f(Int $a) { say $a; }; my @a = 1..10; f(@a);
20:35 p6eval alpha 30e0ed: OUTPUT«Nominal type check failed for parameter '$a'; expected Int but got Array instead␤in Main (file src/gen_setting.pm, line 324)␤»
20:35 ash__ std: sub f(Int $a) { say $a; }; my @a = 1..10; f(@a);
20:35 p6eval std 29768: OUTPUT«ok 00:01 112m␤»
20:36 * jnthn back from nom
20:36 PerlJam rakudo: sub f(Int $a) { say $a; }; my @a = 1..10; f(+@a)
20:36 p6eval rakudo de7b7e: OUTPUT«Nominal type check failed for parameter '$a'; expected Int but got Num instead␤current instr.: 'f' pc 242 (EVAL_1:92)␤»
20:36 colomon yes, and then there's that complication.  :)
20:36 colomon but I bet jnthn++ knows the answer...
20:37 colomon I see that splice.t wasn't part of alpha's spectest.
20:38 jnthn colomon: The issue probably somewhat is that + probably calls .Num
20:38 jnthn colomon: When in The Future it should call .Numeric
20:38 colomon jnthn: I was referring to the older issue there.
20:39 colomon rakudo: sub f(Int $a) { say $a; }; my @a = 1..10; f(@a);
20:39 p6eval rakudo 215a01: OUTPUT«Nominal type check failed for parameter '$a'; expected Int but got Array instead␤current instr.: 'f' pc 239 (EVAL_1:91)␤»
20:39 colomon that one.
20:39 colomon splice.t is full of stuff like that.
20:39 PerlJam seems to me that that's working as expected.
20:39 colomon I'm thinking it shouldn't actually work that way anymore?
20:39 colomon I mean, shouldn't work like splice.t is expecting.
20:40 PerlJam colomon: right.
20:40 colomon jnthn: what think you?
20:40 PerlJam splice.t is wrong-headed
20:40 colomon PerlJam: it definitely seems creaky
20:41 jnthn colomon: Implementation is correct.
20:41 jnthn colomon: Int $a is a type check, not a coercion.
20:41 colomon jnthn++, PerlJam++ # thank you
20:41 jnthn sub f($a as Int) { ... } would do what the test seems to be thinking
20:41 jnthn apart from coercions are NYI
20:42 * PerlJam half expects to discover later that jnthn implemented coercions immediately after saying they were NYI  :-)
20:44 awwaiid PerlJam, git version 1.6.1. I can't use the git protocol because of corporate firewall. I just ran it again and it still fails.
20:44 awwaiid I'll do it from home where I can use git://
20:44 PerlJam awwaiid: dunno then.  It works for me (and 1.6.1 isn't buggy that I know of)
20:44 PerlJam though I am using 1.6.6
20:45 PerlJam oh, no, i'm using 1.6.3.3 on this box
20:47 lichtkind joined #perl6
20:49 ash__ 1.7.0 is out, i don't get any weird messages from github, like colomon said he was getting
20:49 ash__ git 1.7.0 that is
20:49 cognominal joined #perl6
20:49 jnthn PerlJam: Actually, a spec commit by TimToady++ not so long ago made me feel "OK, now it looks almsot concrete enough to get some of the basic cases of it in place" :-D
20:50 colomon ash__: I'm fairly sure PerlJam was correct that that was because of using http: rather than git: like I normally do.
20:50 ash__ ah, well i use the git protocol, not http, so thats probably true
20:50 jnthn PerlJam: I'll do it in the next couple of weeks, I expect, especially if I'm reminded about it. :-)
20:51 colomon rakudo: my @a = 1..10; say @a[0..^14]
20:51 p6eval rakudo 215a01: OUTPUT«12345678910␤»
20:51 * PerlJam gets to work writing an irssi script to ping jnthn once or twice a day  ;>
20:51 jnthn :-P
20:51 colomon rakudo: my @a = 1..10; say @a[0..^10]
20:51 jnthn OK, my dinner is nommed.
20:51 p6eval rakudo 215a01: OUTPUT«12345678910␤»
20:51 jnthn Now let's fix the last couple of spectests I've gone and broken.
20:52 colomon rakudo: my @a = 1..10; my @b = @a[0..^10]; say @b
20:52 p6eval rakudo 215a01: OUTPUT«12345678910␤»
20:56 bluescreen joined #perl6
20:57 takadonet left #perl6
20:59 ash__ rakudo: my @a = 1...10; say @a[1...3];
20:59 p6eval rakudo 215a01: OUTPUT«234␤»
21:00 ash__ rakudo: my @a = 1...10; say @a[1...^3];
21:00 p6eval rakudo 215a01: OUTPUT«2␤»
21:00 ash__ is that right?
21:04 colomon doesn't seem like it.
21:05 colomon rakudo: my @a = 1...10; say @a[1...^4];
21:05 p6eval rakudo 215a01: OUTPUT«2␤»
21:05 ash__ does ... have ^ version?
21:05 colomon no.
21:05 colomon so that's what you're seeing there.
21:05 colomon rakudo: say ^3
21:05 p6eval rakudo 215a01: OUTPUT«012␤»
21:06 ash__ so... is that saying 1 ... 0, 1, 2?
21:06 pugs_svn r29769 | colomon++ | [t/spec] Change broken tests, fudge some others.
21:07 colomon ash__: I think so.
21:07 colomon I don't know why it is accepted, actually.
21:07 ash__ should that give an error?
21:07 colomon maybe?
21:09 ash__ std: 1 ... ^6
21:09 p6eval std 29768: OUTPUT«ok 00:01 108m␤»
21:11 ash__ rakudo: my @a = 4...^5; say @a.perl;
21:11 p6eval rakudo 215a01: OUTPUT«[4, 3, 2, 1]␤»
21:12 ash__ so, its doing 4 ... 0 i guess
21:12 TimToady_ yes, but it shouldn't throw away the rest of the ^ list
21:13 TimToady_ should end up 4 3 2 1 0 1 2 3 4
21:13 TimToady_ ... is only supposed to like the first one (or maybe two) elements of the list on the right
21:13 TimToady_ s/like/look at/
21:14 TimToady_ and it only looks at the 2nd if the 1st is * or closure
21:14 TimToady_ and we're not sure about *  :)
21:16 colomon did someone else break rat.t, or is that my doing?
21:16 jnthn pmichaud: Meta-model changes/fixes/refactorings are looking good. :-)
21:16 * jnthn is much, much happier with the code now.
21:17 ash__ what is changing in the meta-model?
21:18 jnthn ash__: The way I had it before meant the the declarational parts expected to get the metaclass passed as the first parameter.
21:18 colomon rakudo: say <a b c>.[4/3]
21:18 jnthn ash__: When it should be the type object really.
21:18 p6eval rakudo 215a01: OUTPUT«maximum recursion depth exceeded␤current instr.: 'perl6;List;get' pc 10199 (src/builtins/Role.pir:40)␤»
21:18 jnthn And thus Foo.^add_method(...) couldn't work, and the introspection stuff was rather a mess too.
21:19 cognominal joined #perl6
21:19 jnthn Was a mess-up in my initial implementation, but one that I'm quite glad to resolve.
21:21 dalek rakudo/master: 4c3dd04 | (Solomon Foster)++ | src/core/Array.pm:
21:21 dalek rakudo/master: Eager implementation of Array.splice.
21:21 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/4​c3dd04bcb5c57d60d67330e1d010e5e26b62822
21:21 dalek rakudo/master: 29b941d | (Solomon Foster)++ | src/core/Array.pm:
21:21 dalek rakudo/master: Tweak Array.splice to handle negative offset and/or size.
21:21 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/2​9b941d7277402f5275e4fca6a34f22aa6c7d955
21:21 dalek rakudo/master: dc301e8 | (Solomon Foster)++ | t/spectest.data:
21:21 dalek rakudo/master: Turn on splice.t.
21:21 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/d​c301e855fdd3761f380fae9b084832247390431
21:22 colomon I'm getting a rat.t error in spectest, but as p6eval here showed the same bug before I pushed this code, I'm pretty sure this code is not at fault.
21:22 jnthn colomon: I see it too, and that's before I pulled those commits you just made.
21:23 colomon I'm suspecting pmichaud++'s last patch is the culprit.
21:23 jnthn I gotta re-test now you've made 'em though! :-P
21:23 colomon :D
21:25 pmichaud colomon: yes, my last patch is probably the culprit
21:25 pmichaud rakudo doesn't know what to do with 4/3
21:25 pmichaud fixing
21:26 ash__ colomon it does that also with decimals, if you do <a b c>.[0.5] it gives you the error you got
21:26 pmichaud (I'm guessing it should intify in that case.  Or should it numify?)
21:26 pmichaud I'll intify for now.
21:27 ash__ can you have have a non-integer index in [ ] on an @ ?
21:27 ash__ other than * I guess
21:27 colomon pmichaud: intify
21:27 colomon ash__: yes
21:28 colomon intify or floor?
21:28 ash__ what other kinds of index's are permitted in [ ]?
21:29 pmichaud well, lots of stuff can appear inside of the [ ]  :-)
21:29 pmichaud @a[3..5]
21:29 ash__ ah, true.. i forgot ranges
21:29 uniejo left #perl6
21:29 pmichaud also   @a[3,4,5]
21:29 pmichaud also   @a[*]
21:29 pmichaud also   @a[*-1]
21:29 pmichaud :-)
21:30 ash__ but you cant do 0.5, or 7/8's?
21:30 pmichaud also   @a[@b]
21:30 PerlJam ash__: you can, but you're going to get @a[0]
21:30 pmichaud spectesting fix now
21:33 meppl joined #perl6
21:33 dalek rakudo/master: 0d2009c | jonathan++ | src/ (11 files):
21:33 dalek rakudo/master: Refactor the meta-model to bring it in line with the earlier changes to metamodel.pod, and so things Akshually Work somewhat more like they should. Also should unblock fixing up introspection.
21:33 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/0​d2009c733b37bdf4ea5a7609f5d3905a3199001
21:35 pmichaud oops
21:35 pmichaud pulling jnthn++'s changes, rebuilding, and *then* spectesting fix
21:35 jnthn ;-)
21:35 jnthn pmichaud: Good plan - it was > 1000 line diff.
21:37 jnthn rakudo: Rat.^add_method('lol', method ($what) { say "lol$what" }); 3/4.lol('cat')
21:37 p6eval rakudo 215a01: OUTPUT«No such attribute 'parrotclass'␤current instr.: 'perl6;ClassHOW;add_method' pc 4303 (src/metamodel/ClassHOW.pir:421)␤»
21:37 jnthn ETOOSOON.
21:38 colomon yeah, that hasn't even picked up my latest changes yet.  ;)
21:38 pmichaud fix failed, trying again
21:38 jnthn Oh well, at least the fact it doesn't work in what p6eval curretnly has shows my refactor was worth doing for something.
21:39 jnthn .oO( even if it was just so we can add a lol method to Rat )
21:39 pmichaud laughing rats sounds ... disturbing.
21:39 jnthn Of course the non-disgusting way to do it is with augment. :-)
21:39 pmichaud not that augmented rats are much better
21:41 TimToady_ colomon: btw
21:41 TimToady_ std: rand()
21:41 p6eval std 29769: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unsupported use of rand(); in Perl 6 please use rand at /tmp/UNuHZylp41 line 1:␤------> [32mrand[33m⏏[31m()[0m␤FAILED 00:01 107m␤»
21:41 pmichaud rakudo:  rand()
21:41 p6eval rakudo dc301e: OUTPUT«Unsupported use of rand(); in Perl 6 please use rand at line 11, near "()"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
21:42 TimToady_ rakudo: say rand.()
21:42 colomon TimToady_: copied obs and the heart of your rand grammar into Rakudo this morning.  :)
21:42 p6eval rakudo dc301e: OUTPUT«invoke() not implemented in class 'Float'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
21:42 TimToady_ colomon: okay, still backlogging
21:42 pmichaud std:  say rand.()  # just curious
21:42 p6eval std 29769: OUTPUT«ok 00:01 105m␤»
21:43 colomon TimToady_++ # the obs stuff is really cool...
21:43 TimToady_ I figger anyone who says .() knows what they're doing
21:43 jnthn Now now, don't get obsessed.
21:43 pmichaud wfm :)
21:44 gabiruh joined #perl6
21:44 TimToady_ hmm, wonder why I lost my zwiebach
21:45 clausi joined #perl6
21:46 clausi left #perl6
21:47 pmichaud > my @a = 1..10;  say @a[7/2]
21:47 pmichaud 4
21:48 pmichaud > my @a = 1..10;  say @a[2..2]
21:48 pmichaud 3
21:48 colomon \o/
21:48 pmichaud spectesting now
22:01 jnthn PerlJam: oh btw...
22:01 jnthn > sub foo($x as Int) { say $x.WHAT; say $x; }; foo(7/3)
22:01 jnthn Int()
22:01 jnthn 2
22:01 jnthn ;-)
22:01 PerlJam jnthn++  :)
22:03 pugs_svn r29770 | lwall++ | [S04] clarify that leave phasers do not trip till after an exception is handled (and not resumed)
22:04 TimToady phenny: tell masak r29770 answers your take question; resumably exceptions don't trigger LEAVE blocks
22:04 phenny TimToady: I'll pass that on when masak is around.
22:07 jnthn Tested. Pushed.
22:07 jnthn Seems we're lacking tests for it though.
22:08 dalek rakudo/master: f0da535 | jonathan++ | src/ (10 files):
22:08 dalek rakudo/master: Implement coercion ($x as Foo) in signature binding.
22:08 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/f​0da535d5e09adeb39b484fef96692aaea6c1f5d
22:09 pmichaud pushed fix for @a[5/2]
22:10 jnthn Nice
22:11 jnthn Who's release manager for tomorrow?
22:11 pmichaud looks like Su-Shee
22:12 jnthn Aha, cool.
22:12 pmichaud 2010-02-18   Rakudo #26                      (Su-Shee)
22:12 jaldhar joined #perl6
22:13 justatheory joined #perl6
22:13 jnthn pmichaud: Maybe good to add Copenhagen.pm to the suggested releases list now too?
22:13 jnthn s/releas/release nam/
22:13 vamped colomon asked a question that I didn't see answered. do fractions "intify or floor?" as in @a[15/4]
22:13 TimToady what do you mean by intify, if not floor?
22:14 dalek rakudo/master: b517009 | pmichaud++ | src/builtins/Positional.pir:
22:14 dalek rakudo/master: Handle the case where a Position receives a single non-integer index.
22:14 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/b​51700938aaf06f7f220c1b0e8bbc3a2816b21fd
22:14 dalek rakudo/master: db3f45a | pmichaud++ | src/ (10 files):
22:14 dalek rakudo/master: Merge branch 'master' of git@github.com:rakudo/rakudo
22:14 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/d​b3f45a3e1401d57dd32c91c113e4413def16420
22:14 vamped does 15/4 -> 3 or 4
22:14 TimToady we never round by default
22:15 vamped ok. answered. thanks.
22:16 TimToady and having exact rats somewhat takes away the use case for rounding anyway
22:16 TimToady as for floor vs trunction, it doesn't matter for subscripts :)
22:17 vamped I'm very excited about that feature: exact rats
22:17 TimToady I hope we can optimize 'em enough to compete with Nums, at least on 64-bit machines
22:19 pugs_svn r29771 | jnthn++ | [t/spec] Add a few basic tests for coercion using the as trait in a signature.
22:20 jnthn pmichaud: It may be good to do a little more ROADMAP whacking before the release too.
22:20 jnthn pmichaud: The top three major items are, afaict, done.
22:20 jnthn Should we just mark them [DONE] or move them to another section of the doc or...?
22:21 nbrown joined #perl6
22:22 pmichaud jnthn: I'll work on it tonight.
22:22 PerlJam oh, that reminds me ... I think rakudo.org/status needs updating
22:22 pmichaud yes, rakudo.org needs lots of updates
22:23 mathw evening
22:23 jnthn oh hai mathw
22:23 jnthn pmichaud: OK, cool.
22:23 mathw hai jnthn
22:25 pmichaud hmmm, should we see about moving rakudo.org to wordpress?  I thought wordpress worked very well for the advent calendar
22:25 dalek rakudo/master: a74f35a | jonathan++ | t/spectest.data:
22:25 dalek rakudo/master: Add S06-traits/as.t to spectest.data.
22:25 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/a​74f35a9b1caa8a0a129af765fc351f28f3fefc9
22:26 pmichaud (since we've discussed in the past the possibility of moving rakudo.org to something other than drupal)
22:26 jnthn pmichaud: Well....can WordPress handle static pages well too?
22:26 pmichaud I'll look into it a bit.
22:26 pmichaud I would think so.
22:27 jnthn It's not a priority for me, but no objections.
22:27 jnthn Others may feel more strongly.
22:29 hudnix I would think that in the interest of perl Team Spirit, Movable type would be more appropriate.
22:29 ash__ wordpress has Pages (static pages) and Posts (the blarg)
22:29 ash__ so it can do both
22:29 supernovus joined #perl6
22:29 * ash__ <-- has to work with wordpress a lot at work
22:30 pmichaud personally, I'm not interested in the underlying language as much as I am how easy it is to work with
22:30 ash__ wordpress is almost a defacto standard for blogs, if you want a more bloggish site
22:31 pmichaud well, it's not bloggish so much as we'd like a reasonable cms
22:31 jnthn Thing is, we don't want it too blogish.
22:31 jnthn imo
22:31 pmichaud there are blog-like aspects (e.g., news stories), but it's really more of "where can one get information about ...."
22:31 jnthn Right. News stories is only one part of it.
22:31 ash__ wordpress is a good blog, as a CMS, its not the greatest, it can act as one, but i wouldn't say its a great CMS
22:32 ash__ MODx is a decent CMS, again this is from my work experience because its what we use at my office
22:35 ash__ but i haven't ever used drupal so, i have no idea how it compares to what you have setup already
22:38 supernovus One of my planned "hobby projects" is writing a basic CMS with at least "wiki", "blog", "link db" and "image gallery" modules in Perl 6. Basically, replicate the functionality of my current huri.net site, but in Perl 6 (the current site is using non-Moose Perl 5, and is rather scary dark magic that I'm surprised still works actually...)
22:40 pmichaud well, part of the issue we have with drupal is that it doesn't appear to have a good remote admin interface
22:41 pmichaud (at least our current instance of it does not)
22:41 pmichaud and we don't have easy access to admin privileges
22:41 pugs_svn r29772 | lwall++ | [S02] copyo spotted by Smylers++
22:45 jnthn pmichaud: Yeah, that's my gripe with the current set up. It's not so much I have a problem with how it looks/posting on it.
22:45 jnthn Just management of it.
22:45 pmichaud jnthn: right, that's the only reason I'm looking at/for alternatives.
22:45 jnthn Ah, OK.
22:46 bbear joined #perl6
22:46 jnthn rakudo: (1,2,3).Array
22:46 p6eval rakudo a74f35: OUTPUT«Method 'Array' not found for invocant of class 'Parcel'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
22:47 pmichaud nyi
22:47 pmichaud although .Seq works
22:47 pmichaud rakudo:  (1,2,3).Seq
22:47 p6eval rakudo a74f35:  ( no output )
22:47 jnthn pmichaud: ah, ok
22:47 jnthn that'll do me for now.
22:47 jnthn pmichaud: Arguably .roles(:tree) should be returning nested Seqs anyway.
22:47 jnthn Or will those flatten?
22:47 pmichaud both Seq and Array flatten, iirc
22:48 pmichaud but they can be Seq of Seq or Array of Array
22:48 jnthn Does putting them inside an ObjectRef prevent that?
22:48 pmichaud having them as a scalar objectref prevents it
22:48 pmichaud that's what happens with circumfix:<[ ]>, for example
22:48 jnthn oh, maybe I can just call that.
22:48 jnthn If I call that with a parcel, will it DTRT?
22:48 pmichaud yes, that works nicely
22:49 pmichaud yes
22:49 pmichaud in fact, that's what   [1,2,3]   is :-)
22:49 * jnthn tries it
22:49 jnthn Trying to fix up the introspection tests. :-)
22:49 jferrero joined #perl6
22:50 ash__ rakudo: my @a = 1, 2, 3; say @a.WHAT;
22:50 p6eval rakudo a74f35: OUTPUT«Null PMC access in elements()␤current instr.: 'perl6;SeqIter;get' pc 13733 (src/builtins/Routine.pir:122)␤»
22:50 bbear Hello. I want begin Perl, but I want begin perl 6 to be not outdated.
22:51 bbear What do you think ?
22:51 ash__ that should say "Array()" right?
22:51 pmichaud ash__: yes, that's what I'd expect.
22:51 pmichaud not sure why that fails.
22:52 vamped bbear: perl 5 will not be outdated for a very long time (neither will perl 6 be)
22:52 pmichaud rakudo:  my @a;  say @a.WHAT;
22:52 p6eval rakudo a74f35: OUTPUT«Null PMC access in elements()␤current instr.: 'perl6;SeqIter;get' pc 13733 (src/builtins/Routine.pir:122)␤»
22:52 bbear Is perl 6 mature to use in prod ?
22:52 pmichaud bbear: probably not.
22:52 pmichaud bbear: depends on your prod requirements
22:52 bbear I want a book to learn perl, but all perl 5 books are exhausted.
22:53 ash__ rakudo: my @a = 1, 2, 3; my $b = @a; say $b.WHAT:
22:53 p6eval rakudo a74f35: OUTPUT«Confused at line 11, near "say $b.WHA"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
22:53 bbear prod requirements means 'it works it's enough' , but I would rather to say '
22:53 justatheory joined #perl6
22:53 athenot joined #perl6
22:53 bbear when I will finish to learn it, perl 6 will be usable and used on many platforms.'
22:54 ash__ oops, i see what I did, i put a : where i meant ;
22:54 ash__ rakudo: my @a = 1, 2, 3; my $b = @a; say $b.WHAT; # still gives there error, oh well
22:54 p6eval rakudo a74f35: OUTPUT«Null PMC access in elements()␤current instr.: 'perl6;SeqIter;get' pc 13733 (src/builtins/Routine.pir:122)␤»
22:55 bbear could you give me the name of a good hand book ?
22:55 ash__ for perl 6?
22:55 bbear or for perl 5.
22:56 bbear so if perl 5 will be not outdated, yes for perl 5.
22:56 pausenclown joined #perl6
22:56 bbear I will have time to learn perl 6 after learned perl 5. I guess it's not so different.
22:56 ash__ are ( ) immutable arrays (or lists)? still? Or did that get changed?
22:56 bbear ash__: so not, a handbook for perd 5
22:57 pmichaud rakudo:  ash__ neither
22:57 p6eval rakudo a74f35: OUTPUT«Could not find non-existent sub &neither␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
22:57 pmichaud oops
22:57 pmichaud ash__: neither
22:57 pmichaud parentheses only group items
22:57 pmichaud in particular,  (3) is an Int, not a list or array
22:57 ash__ bbear i liked "Learning Perl" when I was learning perl 5
22:58 dalek rakudo/master: 324f561 | jonathan++ |  (2 files):
22:58 dalek rakudo/master: Fix role introspection and turn S12-introspection/roles.t back on.
22:58 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/3​24f561332090e326c276d5efacec1d19010910d
22:58 jnthn bbear: If you're programmed a good bit before, Programming Perl is, imo, very good.
22:58 ash__ so... is there no way to make a list now? just wondering
22:58 pausenclown alpha: @cmd = ('get','put','try','find','copy​','fold','spindle','mutilate'); say "go get a copy" =~ / @cmd /;
22:58 p6eval alpha 30e0ed: OUTPUT«Confused at line 10, near "cmd /;"␤in Main (file <unknown>, line <unknown>)␤»
22:58 pausenclown alpha: @cmd = ('get','put','try','find','copy​','fold','spindle','mutilate'); say "go get a copy" ~~ / @cmd /;
22:58 p6eval alpha 30e0ed: OUTPUT«Confused at line 10, near "cmd /;"␤in Main (file <unknown>, line <unknown>)␤»
22:59 payload joined #perl6
22:59 lue joined #perl6
22:59 pausenclown strange.
22:59 pausenclown rakudo: @cmd = ('get','put','try','find','copy​','fold','spindle','mutilate'); say "go get a copy" ~~ / @cmd /;
22:59 p6eval rakudo a74f35: OUTPUT«Confused at line 11, near "say \"go ge"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
23:00 pmichaud variable interpolation in regexes isn't supported yet
23:00 ash__ you forgot my
23:00 pausenclown alpha: my @cmd = ('get','put','try','find','copy​','fold','spindle','mutilate'); say "go get a copy" ~~ / @cmd /;
23:00 p6eval alpha 30e0ed: OUTPUT«Confused at line 10, near "cmd /;"␤in Main (file <unknown>, line <unknown>)␤»
23:01 ash__ i guess before, it seemed there was a clear distinction between a list made with ( ) and a list made with [ ] in that one was mutable, so, can you still make an immutable list with like the list op or List.new?
23:01 pausenclown whenever i wanna try something cool, it doesnt work XP
23:02 bbear I programmed a bit before.
23:02 pausenclown I programmed 8!
23:02 pausenclown +)
23:02 bbear ;)
23:04 justatheory joined #perl6
23:05 bbear intermediate perl is not good ?
23:06 pausenclown are you talking about the book?
23:07 snarkyboojum bbear: lots of good info at learn.perl.org and learn.perl.org/books.html
23:07 pmichaud ash__: ( ) has never meant "make a list"
23:07 vamped "intermediate perl" is 2nd book in series, but "learning perl" is required reading, first.
23:07 pmichaud ash__: it's easy to confuse it that way (e.g., PerlJam did it earlier as well :-)
23:08 pausenclown better learn Perl 6 now. it will be ready on christmas.
23:09 ash__ okay, got ya, i guess i was thinking in terms of python still, since they have a [ ] as a mutable array and ( ) as an immutable tuple
23:09 ash__ for some reason i thought that was also true in perl 6
23:10 vamped ash: i've read that somewhere too. old spec?
23:10 lue Hooray! The daleks are gone! (or is that bad...?)
23:12 lue Aaah! Everyone's timing out.
23:12 ash__ freenode does that from time to time
23:12 ash__ anyway, i gotta go
23:20 pausenclown what the hell does "curmudgeonly" mean? (from exegesis 5)
23:21 vamped look at thefreedictionary.com
23:22 vamped curmudgeon: An ill-tempered person full of resentment and stubborn notions.
23:22 vamped that's an interesting word! lol.
23:23 pausenclown ah. lol i parsed it like |curmudge only"
23:24 pausenclown and looked up curmudge
23:24 pausenclown which didnt worl
23:24 vamped silly german (?)
23:24 pausenclown how the heck do you know?
23:25 vamped i pay attention to those sort of things -- something said in this channel previously. dunno what.
23:25 pugs_svn joined #perl6
23:26 pausenclown not likely
23:26 * pausenclown goes checking the firewall
23:26 pausenclown =)
23:26 dalek joined #perl6
23:29 pausenclown rakudo: say "foo" ~~ / < <alpha> - [A-Za-z] >+ /
23:29 jnthn joined #perl6
23:29 p6eval rakudo 324f56: OUTPUT«Confused at line 11, near "say \"foo\" "␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
23:29 PerlJam joined #perl6
23:29 hatseflats joined #perl6
23:30 pausenclown rakudo: say "foo" ~~ / < +<alpha> - [A..Za..z] >+ /
23:30 p6eval rakudo 324f56: OUTPUT«Confused at line 11, near "say \"foo\" "␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
23:31 pausenclown alpha: say "foo" ~~ / < +<alpha> - [A..Za..z] >+ /
23:31 p6eval alpha 30e0ed: OUTPUT«perl6regex parse error: Quantifier follows nothing in regex at offset 278, found '<'␤in Main (file <unknown>, line <unknown>)␤»
23:31 pausenclown alpha: say "foo" ~~ / <+<alpha> - [A..Za..z] >+ /
23:31 p6eval alpha 30e0ed: OUTPUT«perl6regex parse error: Error parsing enumerated character class at offset 277, found '<'␤in Main (file <unknown>, line <unknown>)␤»
23:32 pausenclown 277?
23:53 hatsefla1s joined #perl6
23:53 PerlJam joined #perl6
23:54 jnthn joined #perl6
23:54 dalek joined #perl6
23:56 dalek rakudo/master: 1940345 | jonathan++ | src/metamodel/ClassHOW.pir:
23:56 dalek rakudo/master: More introspection fixes, to start getting .^parents and .^attributes back into shape.
23:56 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/1​9403454d28f5a57840c5b31023fd4b2b0b88793
23:56 dalek rakudo/master: 5e7d64c | jonathan++ | src/core/Mu.pm:
23:56 dalek rakudo/master: Quick tweak that gets signature unpacking of objects working again.
23:56 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/5​e7d64c24486c05d686509b71601d1e3bfe9597e
23:57 pugs_svn joined #perl6
23:57 jnthn grr...disconnects.

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

Perl 6 | Reference Documentation | Rakudo