Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2011-06-26

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:04 Pathin_ left #perl6
00:05 Pathin_ joined #perl6
00:09 cooper joined #perl6
00:10 mberends left #perl6
00:10 jaldhar left #perl6
00:11 jaldhar joined #perl6
00:13 Pathin_ left #perl6
00:15 Pathin_ joined #perl6
00:18 brainproxy joined #perl6
00:19 brainproxy anyone know of a paper or something that explains how perl6's junctions are related to "join calculus"?
00:20 brainproxy well in any case, I'm trying to explore the concepts and they seemed related; they may not be
00:23 Pathin_ left #perl6
00:25 Pathin_ joined #perl6
00:26 jnthn brainproxy: Not seen anything about that.
00:27 tyatpi left #perl6
00:27 dalek rakudo/nom: 1357b60 | jonathan++ | src/ (5 files):
00:27 dalek rakudo/nom: Map Parrot RPA and Hash into Perl 6 types after method calls, so we can call a bunch more stuff from NQP land. Makes the various intropsection methods that didn't work previously now do so. A few things relied on this not happening in list guts; patched them.
00:27 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1357b6014b
00:27 dalek rakudo/nom: ab2b93b | jonathan++ | / (2 files):
00:27 dalek rakudo/nom: Implement .+ and .*.
00:27 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ab2b93befe
00:27 dalek rakudo/nom: 8c0cbc0 | jonathan++ | / (2 files):
00:27 dalek rakudo/nom: Make literal values in signatures work again.
00:27 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8c0cbc0c2c
00:28 jnthn sleep &
00:29 [Coke] joined #perl6
00:31 lue just out of curiosity, could I take the results of compiling rakudo (i.e. ./perl6, Test.pir, and all the other stuff) and use them on another computer, provided parrot is there?
00:34 Pathin_ left #perl6
00:35 Pathin_ joined #perl6
00:36 brainproxy jnthn: okay, maybe it's an unexplored connection
00:43 Pathin_ left #perl6
00:44 Pathin_ joined #perl6
00:50 tyatpi joined #perl6
00:53 Pathin_ left #perl6
00:54 Pathin_ joined #perl6
01:02 Pathin_ left #perl6
01:03 Pathin_ joined #perl6
01:05 noganex_ left #perl6
01:06 Util lue: eventually, yes. Right now, provided you place the migrated files in *exactly* the same pathnames that they were compiled with... Maybe.
01:06 Util Please try it and tell us!
01:06 noganex joined #perl6
01:12 Pathin_ left #perl6
01:12 TiMBuS anyone know how to make perl5 'safe', ie no open, no backticks, no exec, fork, etc
01:12 TiMBuS in the same way p6eval is
01:12 TiMBuS theres gotta be a cpan module for it...
01:13 jaldhar left #perl6
01:13 Pathin_ joined #perl6
01:14 jaldhar joined #perl6
01:22 Pathin_ left #perl6
01:22 donri left #perl6
01:23 Pathin_ joined #perl6
01:31 Pathin_ left #perl6
01:33 Pathin_ joined #perl6
01:37 screencast joined #perl6
01:40 screencast hi! everyone !  I am new to perl6.
01:41 Pathin_ left #perl6
01:42 Pathin_ joined #perl6
01:44 tyatpi left #perl6
01:47 sorear screencast: hell
01:47 sorear o
01:47 sorear TiMBuS: you mean Safe?
01:49 screencast left #perl6
01:50 TiMBuS yeah i found that
01:51 Pathin_ left #perl6
01:52 Pathin_ joined #perl6
01:58 vonph joined #perl6
02:00 vonph left #perl6
02:00 Pathin_ left #perl6
02:01 Pathin_ joined #perl6
02:09 Pathin_ left #perl6
02:11 Pathin_ joined #perl6
02:14 gbacon joined #perl6
02:15 daniel-s left #perl6
02:17 gbacon left #perl6
02:19 Pathin_ left #perl6
02:21 Pathin_ joined #perl6
02:30 Pathin_ left #perl6
02:31 Pathin_ joined #perl6
02:34 colomon joined #perl6
02:39 daniel-s joined #perl6
02:39 Pathin_ left #perl6
02:40 colomon /me is at the airport hotel, with five hours of sleep and then a flight to Asheville in the cards.
02:40 Pathin_ joined #perl6
02:43 jaldhar left #perl6
02:44 jaldhar joined #perl6
02:47 [Coke] colomon: have fun in asheville!
02:47 whiteknight pmichaud or jnthn around?
02:48 whiteknight or, anybody who could answer some questions about the lexicals implementation?
02:49 Pathin_ left #perl6
02:50 Pathin_ joined #perl6
02:50 colomon [Coke]: are you not going?  :(
02:52 sorear whiteknight: ask em
02:52 sorear me
02:52 whiteknight sorear: I'm trying to figure out why we need the LexInfo PMC
02:52 whiteknight or, more importantly, why we need the LexInfo/LexPad pair, when it seems like only one object would be good enough
02:52 cotto left #perl6
02:53 whiteknight the only use I can find for LexInfo is to limit the number of lexicals to ones explicitly declared at compile time, which seems like an unnecessary restriction
02:53 whiteknight that is, the only reason we can't define lexicals dynamically at runtime is because LexInfo exists, and it serves no other apparent purpose
02:54 sorear LexPad is a concession made for languages like Tcl that can create arbitrary locals at runtime
02:54 whiteknight LexPad holds the values of the Sub's lexicals at runtime, but the keys that it can create are limited by what is in the LexInfo
02:54 sorear for most languages, LexInfo is what matters
02:55 sorear really?  once upon a time, values were stored in the CallContext, and Things Were Good
02:55 whiteknight values for registers are stored in CallContext. values for lexicals are stored in LexPad
02:56 sorear lexicals in the non-Tcl case canonically lived in specific P registers; the LexInfo was a crutch for runtime introspection, $CALLER::foo et al
02:57 whiteknight okay, I'm signing off for the night. I think I'm going to have to read more code to really understand this system
02:57 whiteknight thanks sorear
02:58 Pathin_ left #perl6
02:59 whiteknight left #perl6
02:59 Pathin_ joined #perl6
03:01 arnsholt_ joined #perl6
03:01 arnsholt left #perl6
03:05 Katibe left #perl6
03:08 Pathin_ left #perl6
03:09 Pathin_ joined #perl6
03:15 karupas joined #perl6
03:17 karupanerura left #perl6
03:18 Pathin_ left #perl6
03:19 Pathin_ joined #perl6
03:21 karupas left #perl6
03:23 Su-Shee_ joined #perl6
03:24 Su-Shee left #perl6
03:27 envi joined #perl6
03:27 [Coke] colomon: Î am absolutely not going, yes.
03:28 Pathin_ left #perl6
03:28 [Coke] (cannot really justify paying for the travel out of pocket when I don't get paid to perl.)
03:28 Pathin_ joined #perl6
03:36 [Coke] left #perl6
03:37 Pathin_ left #perl6
03:38 [Coke] joined #perl6
03:38 Pathin_ joined #perl6
03:43 Trashlord left #perl6
03:47 Pathin_ left #perl6
03:48 Pathin_ joined #perl6
03:54 cotto joined #perl6
03:57 Pathin_ left #perl6
03:58 Pathin_ joined #perl6
04:06 Pathin_ left #perl6
04:07 Pathin_ joined #perl6
04:16 Pathin_ left #perl6
04:17 Pathin_ joined #perl6
04:22 kaare_ joined #perl6
04:22 tokuhirom left #perl6
04:23 tokuhirom joined #perl6
04:25 Pathin_ left #perl6
04:26 jaldhar left #perl6
04:26 _jaldhar joined #perl6
04:26 Pathin_ joined #perl6
04:34 jaldhar_ joined #perl6
04:34 TiMBuS [Coke], i feel that. i dont get paid to perl even when i do it for work :<
04:35 Pathin_ left #perl6
04:35 _jaldhar left #perl6
04:35 TiMBuS if it was any other language itd be slave labour D:
04:35 dalek rakudo/nom: 1cb0fb2 | pmichaud++ | src/ (5 files):
04:35 dalek rakudo/nom: Avoid need for nqp::find_method calls on RPAs.
04:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1cb0fb2c08
04:36 Pathin_ joined #perl6
04:44 Pathin_ left #perl6
04:45 Pathin_ joined #perl6
04:53 Pathin_ left #perl6
04:55 Pathin_ joined #perl6
04:59 kanishka joined #perl6
05:03 Pathin_ left #perl6
05:04 Pathin_ joined #perl6
05:06 spacebat joined #perl6
05:07 spacebat hi, its been a while since I checked out rakudo, and the last post on rakudo.org along with the release is from april
05:07 spacebat compiling it now
05:08 spacebat there was something I read about work going on with it and/or parrot to make the internals all one language for better optimisation
05:09 spacebat has that delayed the release of a new rakudo? is there a better place to read up than rakudo.org? thanks
05:09 sorear No
05:10 sorear Rakudo Star releases are quarterly
05:10 spacebat cool
05:10 spacebat :)
05:10 sorear Rakudo monthly releases still happen, but they're not announced because we think it would just confuse people
05:10 spacebat fair enough
05:10 spacebat perhaps I should get on a mailing list if I want to be informed
05:11 sorear it's true that there aren't many changes in Rakudo 2011.06; most developer work is going into the nom branch
05:12 * spacebat googles that
05:13 Pathin_ left #perl6
05:13 * sorear wonders if spacebat has heard of sorear's new implementation
05:14 Pathin_ joined #perl6
05:15 TiMBuS http://6guts.wordpress.com/
05:16 spacebat I have not heard of this new implementation
05:16 spacebat nom is what must have read about back in february
05:18 TiMBuS sorear's making niecza
05:18 TiMBuS im sure you've heard of it, its just better now
05:23 Pathin_ left #perl6
05:23 Pathin_ joined #perl6
05:30 Chillance left #perl6
05:32 Pathin_ left #perl6
05:33 Pathin_ joined #perl6
05:33 cotto left #perl6
05:37 _twitch joined #perl6
05:41 Pathin_ left #perl6
05:42 Pathin_ joined #perl6
05:51 Pathin_ left #perl6
05:51 dalek rakudo/nom: 0b11f42 | pmichaud++ | src/core/ (2 files):
05:51 dalek rakudo/nom: Temporarily revert 348b506 -- something about $*OUT.say doesn't work more than once in the interactive REPL.
05:51 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0b11f42d90
05:52 Pathin_ joined #perl6
05:56 karupanerura joined #perl6
06:00 Pathin_ left #perl6
06:01 Pathin_ joined #perl6
06:03 dalek niecza: dd5cde5 | sorear++ | / (4 files):
06:03 dalek niecza: Rename the indexing core methods to postcircumfix:<...>
06:03 dalek niecza: review: https://github.com/sorear/niecza/commit/dd5cde57af
06:04 [particle] joined #perl6
06:05 [particle]1 left #perl6
06:10 Pathin_ left #perl6
06:10 Bzek joined #perl6
06:11 Pathin_ joined #perl6
06:20 Pathin_ left #perl6
06:20 Pathin_ joined #perl6
06:25 _twitch left #perl6
06:25 jaldhar_ left #perl6
06:28 Pathin_ left #perl6
06:29 jaldhar_ joined #perl6
06:30 Pathin_ joined #perl6
06:38 Pathin_ left #perl6
06:39 Pathin_ joined #perl6
06:41 dalek rakudo/nom: e333382 | moritz++ | / (3 files):
06:41 dalek rakudo/nom: implement .chop, update LHF
06:41 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e3333822cc
06:41 pmichaud moritz: ''.chop
06:41 moritz pmichaud: works
06:42 sorear good morning moritz
06:42 moritz good morning sorear, good morning rest of the world :-)
06:43 pmichaud moritz: .substr() should fail on a negative length, I think.
06:43 pmichaud "The function fails if either the start position or length is negative
06:43 pmichaud or undefined. "
06:43 [Coke] pmichaud: you're up late.
06:43 dalek niecza: 90117b3 | sorear++ | lib/ (3 files):
06:43 dalek niecza: Implement :BIND_VALUE adverb on accessors
06:43 dalek niecza: review: https://github.com/sorear/niecza/commit/90117b3ef6
06:44 pmichaud Str.pod:549
06:44 pmichaud [Coke]: yes, but I suspect you're up later :)
06:45 moritz pmichaud: I suspect it might make sense to internally expose a .substr that doesn't make such extra checks, to keep other builtins like chom?p cheap
06:45 pmichaud if you want chop to be cheap, just use the pir:: instruction then :)
06:45 moritz nqp: say(pir::chop("foo"))
06:45 p6eval nqp: OUTPUT«error:imcc:syntax error, unexpected PREG, expecting '(' ('$P100')␤  in file '(file unknown)' line 34␤error:imcc:syntax error ... somewhere␤ in file '(file unknown)' line 102␤syntax error ... somewhere␤»
06:46 moritz nqp: say(pir::chomp("foo"))
06:46 p6eval nqp: OUTPUT«error:imcc:syntax error, unexpected PREG, expecting '(' ('$P100')␤  in file '(file unknown)' line 34␤error:imcc:syntax error ... somewhere␤ in file '(file unknown)' line 102␤syntax error ... somewhere␤»
06:46 moritz ah, did you mean pir::substr?
06:46 pmichaud have to make it a string
06:46 pmichaud nqp:  nqp::say(pir::chop__Ss("foo"))
06:46 p6eval nqp: OUTPUT«error:imcc:syntax error, unexpected SREG, expecting '(' ('$S100')␤  in file '(file unknown)' line 32␤error:imcc:syntax error ... somewhere␤ in file '(file unknown)' line 100␤syntax error ... somewhere␤»
06:46 pmichaud hmmm
06:47 pmichaud ah, it's chopn
06:47 pmichaud nqp:  nqp::say(pir::chopn__Ss("foo",1))
06:47 p6eval nqp: OUTPUT«error:imcc:The opcode 'chopn_s_sc_s' (chopn<3>) was not found. Check the type and number of the arguments␤  in file '(file unknown)' line 35␤»
06:47 pmichaud nqp:  nqp::say(pir::chopn__Ssi("foo",1))
06:47 p6eval nqp: OUTPUT«fo␤»
06:47 sorear substr has to make those checks anyway...
06:48 Pathin_ left #perl6
06:49 Pathin_ joined #perl6
06:51 moritz pmichaud: I'll try it with pir::chopn later, now I'm going to sleep again, given that $daughter did the same too :-)
06:51 pmichaud moritz: wfm
06:52 Aridai joined #perl6
06:52 dalek rakudo/nom: aa21eb7 | pmichaud++ | / (3 files):
06:52 dalek rakudo/nom: Get a basic try { ... } working -- catches exceptions and puts them into $!.
06:52 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/aa21eb7a7d
06:53 pmichaud time for sleep here also
06:54 dalek rakudo/nom: bdbd8d7 | pmichaud++ | src/core/Str.pm:
06:54 dalek rakudo/nom: Add a XXX note to Str.chop since it ends up sending negative lengths to .substr
06:54 dalek rakudo/nom: (which should fail).
06:54 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bdbd8d7ef3
06:56 wamba joined #perl6
06:58 Pathin_ left #perl6
06:58 Pathin_ joined #perl6
07:02 [Coke] zzz
07:07 Pathin_ left #perl6
07:08 Pathin_ joined #perl6
07:08 moritz ENOSLEEP
07:10 dalek rakudo/nom: 3fe16cb | moritz++ | src/core/Str.pm:
07:10 dalek rakudo/nom: fix chop, pmichaud++
07:10 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3fe16cb573
07:15 colomon o/
07:16 tadzik o/
07:16 moritz \o
07:16 Pathin_ left #perl6
07:17 Pathin_ joined #perl6
07:18 Mowah joined #perl6
07:19 Aridai left #perl6
07:21 zby_home_ left #perl6
07:22 cooper left #perl6
07:26 Pathin_ left #perl6
07:27 Pathin_ joined #perl6
07:29 tyatpi joined #perl6
07:35 Pathin_ left #perl6
07:37 Pathin_ joined #perl6
07:45 Pathin_ left #perl6
07:46 Pathin_ joined #perl6
07:48 bakedb joined #perl6
07:55 Pathin_ left #perl6
07:55 jaldhar_ left #perl6
07:56 Pathin_ joined #perl6
07:57 jaldhar_ joined #perl6
08:04 Pathin_ left #perl6
08:05 Pathin_ joined #perl6
08:09 colomon left #perl6
08:14 Pathin_ left #perl6
08:15 Pathin_ joined #perl6
08:23 Pathin_ left #perl6
08:25 Pathin_ joined #perl6
08:33 Pathin_ left #perl6
08:34 Pathin_ joined #perl6
08:40 daniel-s rakudo: my @list = (1,2,3,4,5); say ~@list;
08:40 p6eval rakudo b2bc99: OUTPUT«1 2 3 4 5␤»
08:40 daniel-s rakudo: my @list = (1,2,3,4,5); say (~@list).perl;
08:41 p6eval rakudo b2bc99: OUTPUT«"1 2 3 4 5"␤»
08:41 daniel-s rakudo: my @list = (1,2,3,4,5); say (@list).perl;
08:41 p6eval rakudo b2bc99: OUTPUT«[1, 2, 3, 4, 5]␤»
08:41 daniel-s rakudo: my @list = (1,2,3,4,5); say @list;
08:41 p6eval rakudo b2bc99: OUTPUT«12345␤»
08:43 Pathin_ left #perl6
08:43 daniel-s something I've noticed of the rosetta code examples, people seem to be trying very hard to create over elaborate or complicated examples
08:44 moritz example?
08:44 Gothmog_ left #perl6
08:44 cognominal joined #perl6
08:44 Pathin_ joined #perl6
08:45 cognominal be maude
08:48 daniel-s http://rosettacode.org/wiki/Hailstone_sequence#Perl_6
08:49 bakedb left #perl6
08:52 Pathin_ left #perl6
08:53 moritz daniel-s: what's overly complicated in there? How would you simplify it?
08:54 Pathin_ joined #perl6
08:57 tadzik I guess that'd use an explanation, re the series operator used
08:57 TiMBuS i find that leagues easier to read than the perl5 example
08:58 tadzik yeah, when you see '...' you see the point of the logic
08:59 masak joined #perl6
09:00 masak morning, #perl6
09:00 tadzik lawlitsCarl! \o/
09:00 masak would zavolaj work with a C++ library?
09:00 TiMBuS if it exports C yea
09:01 masak ok.
09:01 tyatpi left #perl6
09:02 sorear masak: what would you say the average number of current implementations known by your talk attendees was?
09:02 Pathin_ left #perl6
09:03 Pathin_ joined #perl6
09:03 daniel-s 3: pugs, rakudo and nom :P
09:04 buubot_backup left #perl6
09:05 TiMBuS yapsi...
09:06 TiMBuS poor, poor yapsi
09:08 jaldhar_ left #perl6
09:08 sorear daniel-s: pugs isn't a current implementation.
09:08 sorear I chose that word carefull.y
09:09 masak sorear: virtually everyone knows rakudo, though perhaps not always by name. (it's "Perl 6" or "Parrot" to some people.)
09:09 moritz so the median was 1 :-)
09:09 masak sorear: a few people had tried Niecza, IIRC. some people had run Pugs back in the day.
09:10 masak no wait. maybe I didn't ask about Niecza. I did ask who had heard of/tried Rakudo, though.
09:10 TiMBuS can i petition for niecza to have the c and z reversed so i stop mispronouncing/mispelling it
09:10 tadzik you should've asked about "nieeezzkka" :)
09:10 TiMBuS nizz-ka
09:11 tadzik I can only imagine why it would be difficult for someone to spell "niecza"
09:11 masak the "cz" is pronounced like in "church", at least I've always thought so.
09:11 tadzik yes
09:11 masak but it doesn't matter. it's a strange name, and I'm mostly to blame for it. :)
09:11 tadzik though I'm the one raised on the films starring Grzegorz Brzęczyszczykiewicz
09:11 * TiMBuS explodes
09:12 masak I explained the Czech origins during the talk, and someone came up afterwards and said "that doesn't look like Czech".
09:12 masak I said "yeah, I know" :)
09:12 tadzik TiMBuS: see http://www.youtube.com/watch?v=ftrqO-jkMpE
09:12 Pathin_ left #perl6
09:13 TiMBuS it. it wasnt even a joke
09:13 tadzik well, it was
09:13 Pathin_ joined #perl6
09:14 tadzik the guy in the film is actually named Franek Dolas, he's just pulling the soldiers' legs
09:15 TiMBuS :I i have been now double trolled thru three mediums at once
09:15 TiMBuS blast
09:16 masak it's a rough medium, the internet.
09:16 tadzik three sub-mediums at once!
09:16 masak even the concept of "trolling" presupposes an impersonal enough channel of communication.
09:17 TiMBuS masak, when is yapsi going to compile itself :D
09:18 masak that's always been the (far-off) goal.
09:18 tadzik yapsi running on yapsi running on... ohwow
09:18 masak the bottleneck is currently my tuits and limited brain power.
09:18 TiMBuS llvm backend would be actually quite nice
09:18 masak tadzik: calm down, it's just another strange loop :)
09:18 TiMBuS just like pypy
09:18 tadzik ;)
09:19 TiMBuS wait if python on python is pypy, perl on perl is..
09:19 tadzik pepe!
09:19 TiMBuS lol
09:19 masak the thing that sets Yapsi apart is that it's been pure Perl 6 from the start. otherwise, it's no different from Rakudo or Nytska.
09:19 masak Nicca
09:19 tadzik or PerlSixczczykiewicz
09:19 masak Niecza. :P
09:20 masak TiMBuS: what makes you expect "zc" rather than "cz"? the former looks odd to me.
09:21 tadzik niezca is like agniezka, which is almost Agnieszka, which is Polish for Agnes :)
09:22 Pathin_ left #perl6
09:22 TiMBuS masak, not even sure. i guess its how i parse words. 'niezka' just instantly pops into my head
09:23 * tadzik flees
09:23 tyatpi joined #perl6
09:23 Pathin_ joined #perl6
09:23 TiMBuS then i think 'niekza' and my brain falls over a hurdle before i remember its ch
09:23 masak ah.
09:23 tyatpi left #perl6
09:24 masak guess seeing enough of those z-ending digraphs helps.
09:24 TiMBuS im australian. i only speak loose flowing drawling english
09:24 masak :)
09:25 TiMBuS i pause for no syllables!
09:28 jnthn morning, #perl6
09:31 sorear masak: reddit thinks I need a new name for it too.
09:31 masak lolitsjnthn!
09:31 * sorear tries sleeping again
09:31 Pathin_ left #perl6
09:32 masak sorear: "Niecza" is very ethnic in a way that rhymes well with the rest of Perl 6. but I agree it's not exactly convenient.
09:32 masak sorear: maybe make the decision after you find a name that is an obvious improvement.
09:33 masak also, never base big decisions solely on Reddit. :P
09:33 masak s/Reddit/the basis of what Reddit thinks/
09:33 Pathin_ joined #perl6
09:36 masak rakudo: role A { method foo { say "OH HAI" } }; A.foo
09:36 p6eval rakudo b2bc99: OUTPUT«OH HAI␤»
09:37 jnthn Hmm. I need to teach nom to pun yet. :)
09:37 jnthn nom: role A { method foo { say "OH HAI" } }; A.foo
09:37 p6eval nom: OUTPUT«No method cache and no find_method method in meta-object␤current instr.: '_block1002' pc 28 ((file unknown):0) (:1)␤»
09:38 jnthn Ah, not an insane failure mode. :)
09:42 Pathin_ left #perl6
09:42 masak rakudo: role A { method foo { say "A" } }; role B { method foo { say "B" } }; class C does A does B {}
09:42 p6eval rakudo b2bc99: OUTPUT«===SORRY!===␤Method 'foo' collides and a resolution must be provided by the class␤»
09:42 Pathin_ joined #perl6
09:43 masak would be nice to know which roles are colliding...
09:43 masak rakudo: role A { method foo { say "A" } }; role B { method foo { say "B" } }; class C does A does B { method foo { self.A::foo } }; C.foo
09:43 p6eval rakudo b2bc99: OUTPUT«A␤»
09:43 masak \o/
09:44 masak that's a *slight* misuse of the Package::routine syntax, since A::foo isn't our-scoped. but it's forgivable because it's so convenient :P
09:45 jnthn nom: role A { method foo { say "A" } }; role B { method foo { say "B" } }; class C does A does B {}
09:45 p6eval nom: OUTPUT«Method 'foo' must be resolved by class 'C' because it exists in multiple roles (B, A)␤current instr.: '_block2493' pc 32375 (src/gen/perl6-metamodel.pir:9953)␤»
09:45 jnthn masak: ^
09:47 TiMBuS \(  ' - ')c[~][~]כ(  o . O)/
09:48 masak jnthn: cool.
09:49 masak jnthn: why the reversed order of (B, A)?
09:49 * masak is apparently never satisfied
09:49 jnthn masak: Luck.
09:49 jnthn masak: Roles are inherently unordered.
09:49 masak fair enough.
09:50 masak nom: role A { method foo { say "OH HAI" } }; role B does A {}; class C does B {}; B.foo; C.foo
09:50 p6eval nom: OUTPUT«Rebuild in progress␤»
09:50 masak aww
09:50 masak the suspense!
09:50 jnthn :P
09:50 jnthn masak: Still in Paris?
09:51 Pathin_ left #perl6
09:52 masak jnthn: yes, in a hackathon.
09:52 jnthn masak: oh, nice!
09:52 Pathin_ joined #perl6
09:53 masak jnthn: we're trying to use Zavolaj to hook up Panda3D.
09:55 whiteknight joined #perl6
09:55 Pathin_ left #perl6
09:57 Kivutarrr joined #perl6
09:57 masak Kivutarrr: \o
09:57 Kivutarrr o/
09:57 Kivutarrr masak: deb http://ppa.launchpad.net/panda3d/ppa/ubuntu maverick main
09:57 eiro joined #perl6
09:57 masak Kivutarrr: oh!
09:57 Kivutarrr eiro: o/
09:57 masak eiro: \o
09:58 masak Kivutarrr: was following instructions from http://www.panda3d.org/download.php?platform=ubuntu&amp;version=1.0.3&amp;runtime
09:58 eiro hello! i head perl6 comes for christmass so i'll give it a try :)
09:58 masak will try this other URL.
09:58 eiro Kivutarrr, masak \o/
09:58 masak eiro: hello. you're right about the christmas thing. we're working hard and expect to be done even a bit before :)
09:58 Kivutarrr masak: this url was for the runtime, we need the SDK
09:59 masak ahah
09:59 masak just as well, because mine didn't work :P
10:00 Kivutarrr masak: do you have a minimalist cpp lib in mind?
10:00 masak Kivutarrr: hm, not really.
10:00 Su-Shee_ is now known as Su-Shee
10:00 masak Kivutarrr: not very familiar with C++ in general.
10:01 masak maybe someone here is.
10:01 masak Su-Shee: \o
10:01 Su-Shee good morning :)
10:02 Kivutarrr finally i'm recompiling with --gen-parrot
10:03 JimmyZ joined #perl6
10:04 masak Kivutarrr: fwiw, I'm not using --gen-parrot, and it works here. but might be worth trying anyway.
10:05 kanishka left #perl6
10:07 Kivutarrr i'm trying to compile zavolaj now
10:07 mj41 joined #perl6
10:08 masak I just ran it.
10:08 * TiMBuS peers at panda3d
10:09 TiMBuS .. oh  boy
10:11 TiMBuS it doesnt have any C interface does it
10:11 Kivutarrr I got this error, an idea? http://pastebin.com/P8HZxsmm
10:13 masak TiMBuS: ok, so this is essentially a fool's errand? :/
10:13 TiMBuS no, just a big errand
10:14 TiMBuS id need to look at the python bridge, it might be a c lib
10:15 masak oh, good idea.
10:16 moritz Kivutarrr: did you make install in rakudo?
10:16 Kivutarrr moritz: it was that, thanks
10:16 masak moritz: we just discovered that here too :)
10:16 masak moritz++
10:17 eiro moritz, next French Perl Workshop will take place at Strasbourg ... so close to germany ... hope there will be some german mongers there
10:18 TiMBuS apparently panda3d uses 'interrogate' to generate a C bridge to python
10:19 Kivutarrr masak: http://pastebin.com/N9pgNN4S
10:20 masak TiMBuS: ah, yes: http://www.panda3d.org/manual/index.php/Interrogate
10:21 moritz eiro: I'll do my very best
10:22 masak heh, "Geburtstag" reference :P
10:22 TiMBuS masak, maybe you can extend or modify it to make zavolaj friendly
10:23 masak that's probably both a good idea and our only option :)
10:23 masak jnthn: any idea why this might happen with Zavolaj? http://pastebin.com/N9pgNN4S
10:24 jnthn masak: No...that looks odd :/
10:24 jnthn masak: But looks like an issue in Zavolaj itself rather than the thing using it...
10:24 jnthn masak: Does it work for anything?
10:25 masak jnthn: Rakudo seems to work, but this example fails.
10:26 jnthn masak: No, I meant, does Zavolaj work for anything?
10:26 daniel-s_ joined #perl6
10:26 Kivutarrr all the other exemples gave me the same error
10:27 masak jnthn: I tried it here and it works for me.
10:27 masak so I suspect something's wrong with the Rakudo or Parrot setup.
10:27 masak but that's strange, because Kivutarrr just did a fresh build of everything.
10:27 daniel-s_ rakudo: my ($a, $b, $c) >>=<< 1;
10:27 p6eval rakudo b2bc99: OUTPUT«Sorry, lists on both sides of non-dwimmy hyperop are not of same length:␤    left:  3 elements␤    right: 1 elements␤␤  in 'hyper' at line 192:src/gen/core.pm␤  in 'hyper' at line 236:src/gen/core.pm␤  in main program body at line 1:src/metamodel/RoleToInstanceAppl…
10:28 daniel-s_ rakudo: my ($a, $b, $c) X= 1;
10:28 p6eval rakudo b2bc99:  ( no output )
10:28 daniel-s_ rakudo: my ($a, $b, $c) X= 1; say $b;
10:28 p6eval rakudo b2bc99: OUTPUT«Any()␤»
10:29 jnthn masak: And it's certainly the first time they built this? No left-over NativeCall PIR file from a previous installation?
10:30 masak oh!
10:30 Kivutarrr jnthn: it may be, I installed parrot first, then I installer rakudo with --gen-parrot
10:30 masak Kivutarrr: you should remove any .pir files from before you rebuilt Rakudo.
10:30 masak it's probably incompatible.
10:30 daniel-s_ exit
10:30 daniel-s_ left #perl6
10:30 jnthn masak: hey wait...looking at the error...
10:31 jnthn masak: It's the same one you'd get if the Perl 6 code ahd been put into a .pir file
10:31 jnthn masak: Like, directly
10:31 masak yeah.
10:31 masak I can't explain that.
10:32 jnthn kitteh the .pir file and see what's in there :)
10:32 jnthn er, cat :)
10:34 masak Kivutarrr: still have the NativeCall.pir file around?
10:34 Kivutarrr /home/kivutar/code/rakudo/parrot_install/lib/3.5.0-devel/languages/perl6/lib/NativeCall.pir
10:34 Kivutarrr /home/kivutar/code/zavolaj/lib/NativeCall.pir
10:34 mj41 left #perl6
10:35 weer joined #perl6
10:36 weer left #perl6
10:36 masak Kivutarrr: and PERL6LIB contains which directory?
10:37 masak Kivutarrr: does either of them look like it contains Perl 6 code?
10:37 Kivutarrr yes, the zavolaj/lib directory
10:38 Kivutarrr kivutar@macbook:~/code/zavolaj/examples$ echo $PERL6LIB
10:38 Kivutarrr ../lib
10:38 Kivutarrr it contains NativeCall.pm6
10:39 Zapelius joined #perl6
10:39 masak that's... wrong.
10:39 masak nuke it.
10:39 masak er, wait.
10:40 masak you meant it contains that file, not that the NativeCall.pir file contains the same as the .pm6 file?
10:40 Kivutarrr yes, the path contains that pm6 file
10:40 masak ok.
10:40 masak that's fine.
10:41 Kivutarrr :)
10:41 masak it works now!
10:41 Kivutarrr rm ../lib/NativeCall.pir saved us
10:42 masak jnthn++'s analysis was on the spot.
10:42 Kivutarrr it was containing perl6 code
10:42 eiro moritz, cool! masak said the same! it could be great to have a perl6 workshop/hackthlon during the conference
10:42 Kivutarrr jnthn++
10:42 Kivutarrr masak++
10:42 eiro as jnthn proposed at OSDc
10:42 masak Kivutarrr: I've been looking at interrogate but I haven't learned much.
10:43 masak Kivutarrr: apparently it's possible to extend it to other languages, so one could perhaps write a Zavolaj backend for it.
10:46 masak lunch &
10:46 masak left #perl6
10:48 awoodland joined #perl6
10:48 dobie_gillis left #perl6
10:49 dobie_gillis joined #perl6
10:55 JimmyZ good evening, #perl6
11:06 cognominal left #perl6
11:07 cognominal joined #perl6
11:16 woosley joined #perl6
11:22 awoodland left #perl6
11:32 woosley1 joined #perl6
11:33 jferrero left #perl6
11:35 woosley left #perl6
11:48 buubot_backup joined #perl6
11:50 ggoebel_ joined #perl6
11:57 ggoebel_ sorear: fwiw, I too have been pronouncing it neez-ka. Now that my ignorance has been cured... I'm saying something pretty close to Nietzsche
11:57 molaf_ left #perl6
11:57 ggoebel_ http://www.wonderhowto.com/how-to-pronounce-and-use-cz-polish-alphabet-175118/
12:00 jaldhar_ joined #perl6
12:01 jaldhar_ left #perl6
12:01 jaldhar_ joined #perl6
12:02 jnthn It's kinda curious the name Niecza came out of a joke video involving the Czech language, but that sound is written č in Czech, not cz :)
12:06 jaldhar_ left #perl6
12:07 cognominal left #perl6
12:08 orafu left #perl6
12:08 orafu joined #perl6
12:09 * moritz wonders if niecza has CZECH blocks :-)
12:10 jnthn ;)
12:11 jaldhar_ joined #perl6
12:11 jaldhar_ left #perl6
12:11 jaldhar_ joined #perl6
12:14 mikemol is now known as shortcircuit
12:14 shortcircuit is now known as mikemol
12:14 icwiener joined #perl6
12:16 jaldhar_ left #perl6
12:16 PhatEddy joined #perl6
12:18 PhatEddy Anyone able to "make" single test file to run a test file under windows?  It doesn't work for me in the current code base but I think I might have a workaround that makes it usable.
12:22 wamba left #perl6
12:23 ggoebel_ connecting sounds and words led me through niecza => Nietzsche => nihilism ...and to the wikipedia article (http://en.wikipedia.org/wiki/Nihilism#Nietzsche)
12:24 ggoebel_ the last paragraph of that section on nihilism reminds me very much of Perl6
12:24 ggoebel_ one that does not stop after the destruction of all value and meaning and succumbs to the following nothingness. This alternate, 'active' nihilism on the other hand destroys to level the field for constructing something new.
12:24 ggoebel_ ...
12:25 PhatEddy jnthn or JimmyZ - I think you both use windows - do you have this working - any interest in a (somewhat partial) fix??
12:25 ggoebel_ This wilful destruction of values and the overcoming of the condition of nihilism by the constructing of new meaning, this active nihilism could be related to what Nietzsche elsewhere calls a 'free spirit'[35] or the Übermensch from Thus Spoke Zarathustra and the Antichrist, the model of the strong individual who posits his own values and lives his life as if it were a work of art.
12:26 jaldhar_ joined #perl6
12:26 ggoebel_ Perl 6... Perl deconstructed, rationalized, and reconstructed again... A work of art...
12:27 colomon joined #perl6
12:27 colomon Hello from North Carolina!
12:27 ggoebel_ o/
12:28 JimmyZ what?
12:28 JimmyZ PhatEddy: what fix?
12:30 PhatEddy For doing gmake t/00-parrot/10-regex.t or mingw32-make t/00-parrot/10-regex.t on windows and having the test run ...
12:34 PhatEddy JimmyZ: on windows you would normally use '\' backslashes in the path name to separate directories but I am using forward slash '/' here for a reason - or does this work for you already?
12:35 JimmyZ / should works on windows
12:35 PhatEddy have you tried with a single test file?
12:38 eebrah joined #perl6
12:39 * colomon is taking advantage of layover time in airport to work on his talk for Wednesday
12:39 JimmyZ PhatEddy: so what's your problem?
12:49 eebrah left #perl6
12:51 PhatEddy JimmyZ and I seem to have resolved this on private chat - thanks ...
12:53 JimmyZ PhatEddy: yes, forward slashes works
12:55 PhatEddy An actual patch should also have the makefile document that you need forward slashes in the test name since this won't be obvious under windows ...  will try to submit something soon ...
13:08 aloha left #perl6
13:09 aloha joined #perl6
13:11 eebrah joined #perl6
13:15 colomon left #perl6
13:24 dalek rakudo/nom: 1d7e3cd | jonathan++ | Test.pm:
13:24 dalek rakudo/nom: Sprinkle protos through Test.pm to get us a bit further with compiling it.
13:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1d7e3cde57
13:24 dalek rakudo/nom: 7555814 | jonathan++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
13:24 dalek rakudo/nom: Missing decontainerize.
13:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/755581453a
13:24 dalek rakudo/nom: 0018881 | jonathan++ | src/Perl6/SymbolTable.pm:
13:24 dalek rakudo/nom: Few tweaks so using Perl6::SymbolTable from Perl 6 code works out better.
13:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/001888133a
13:24 dalek rakudo/nom: 1c5e0dd | jonathan++ | src/Perl6/Actions.pm:
13:24 dalek rakudo/nom: Fix issue where we set name too late, so the compile time created Code object's .name didn't work.
13:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1c5e0ddc98
13:24 dalek rakudo/nom: 9cc88cc | jonathan++ | src/ (3 files):
13:24 dalek rakudo/nom: First cut of 'is export' trait; just implemented for routines for now.
13:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9cc88cc031
13:28 birdwindupbird joined #perl6
13:33 kanishka joined #perl6
13:35 Helios left #perl6
13:37 dalek rakudo/nom: ec37e1b | jonathan++ | / (3 files):
13:37 dalek rakudo/nom: Add Callable role; make Code do it.
13:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ec37e1b841
13:49 Helios joined #perl6
13:51 pmichaud good morning, #perl6
13:53 jnthn hi, pmichaud
13:53 dalek rakudo/nom: 4fbc478 | jonathan++ | src/Perl6/Actions.pm:
13:53 dalek rakudo/nom: Fix modifier handling crash and eliminate another bit of Q:PIR as a bonus.
13:53 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4fbc478dbd
13:53 dalek rakudo/nom: 810c3b9 | jonathan++ | Test.pm:
13:53 dalek rakudo/nom: Comment out a few small bits of Test.pm that causes us problems at the moment. Now it compiles and seems to kinda work ('use Test; ok(1); done;' is fine).
13:53 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/810c3b978d
13:54 pmichaud jnthn: I had a question on https://github.com/rakudo/rakudo/commit/1357b6014b5f267a6c0091377e2b0c3c6c480be1
13:54 pmichaud (er, *have a question)
13:54 pmichaud I'm thinking that RPA should become Parcel or maybe List, but probably not Array.
13:55 pmichaud Array's pretty heavyweight and has lots of other semantics we likely shouldn't include
14:00 Trashlord joined #perl6
14:01 jnthn pmichaud: I could go either way.
14:02 jnthn pmichaud: You know the list stuff better. If you think Parcel will be corrector, I can go with that.
14:02 pmichaud let's try Parcel, then.  Generally Parcels are what get returned from functions.
14:02 jnthn k
14:03 pmichaud (it also defers flattening/containerizing to the caller context, which is usually what we want I think)
14:03 jnthn export/import now work enough for Test.pm
14:04 jnthn Unlike in master, EXPORT is lexical in UNIT, as per spec.
14:04 pmichaud yes, I'm looking at the commits now
14:04 pmichaud looks very good
14:04 jnthn phone
14:14 dalek rakudo/nom: 97c00e5 | pmichaud++ | src/core/Str.pm:
14:14 dalek rakudo/nom: Avoid extra box/unbox of constant integer literal to pir::chopn.
14:14 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/97c00e5fb7
14:15 cognominal joined #perl6
14:16 pmichaud do we still need to be trapping Null PMC access messages in Test.pm?  I'm guessing they should be a lot less frequent than they were in alpha/master.
14:20 mberends joined #perl6
14:21 jnthn back
14:21 jnthn pmichaud: Not sure
14:21 jnthn pmichaud: They're probably less common but maybe still worth it.
14:21 pmichaud I'm thinking Test.pm becomes less-Parrot-centric if we include them.
14:22 pmichaud Or, at any rate, we could search for them using Str.index instead of a regex.
14:22 mberends hi jnthn, pmichaud, how nice that nom can now nom Test.pm :-)
14:24 jnthn pmichaud: if we...exclude them?
14:24 pmichaud yeah, exclude
14:24 pmichaud (still waking up here :)
14:25 jnthn :)
14:25 jnthn mberends: Yes :)
14:25 PhatEddy left #perl6
14:26 pmichaud we can start to attack the spectests :)
14:27 pmichaud should we start calling them "roast tests", ooc?
14:27 pmichaud (since that's what the repo calls them?)
14:27 pmichaud and it's always nice to have a fully-cooked roast for Christmas dinner :)
14:27 jnthn mmmm :)
14:28 mberends roast parrot doesn't do it for me :P
14:29 jnthn pmichaud: In t\01-sanity\07-isa.t any objections to changing that to non-string isa?
14:29 pmichaud looking
14:30 pmichaud the question is whether any of the spectests pass a string argument to isa_ok in Test.pm.
14:30 pmichaud (and last time I checked, quite a few did.)
14:32 pmichaud in other words, sanity probably needs to check both the string and non-string forms of .isa as long as the spectests use both
14:32 jnthn ah, ok
14:32 jnthn tsk, that means I need to implement the string form :P
14:32 pmichaud I don't know that it means .isa needs the string form, itself.
14:32 pmichaud just that isa_ok needs to handle it for now.
14:32 jnthn It's OK, it's not so hard to do.
14:33 pmichaud unless .isa really does need the string form as per the spec.
14:33 jnthn Hm
14:33 jnthn Well, it's easy enough to make it handle the string form for now.
14:33 pmichaud okay, wfm
14:33 mberends \o/ nom full passes t/spec/S02-builtin_data_types/parsing-bool.t
14:33 pmichaud \o/
14:33 jnthn Really?!
14:33 pmichaud that's 1!
14:33 jnthn How? :)
14:34 pmichaud only 500 or so more to go!  :-)
14:34 jnthn I didn't think we had Bool yet :)
14:34 pmichaud it fails for me
14:35 jnthn yeah, same here
14:36 mberends I'll cross-check. It's just worked explicitly here, 1..4 etc
14:37 pmichaud .oO(mberends' copy of nom is from the future?  Quick, clone that repo!)
14:38 * mberends does a 'git backport'
14:40 mberends gah, the SHA-65536 hashes don't work with git 1.7 :(
14:42 tadzik ooh, we can Test.pm
14:42 tadzik mberends: hola
14:42 mberends ohla tadzik
14:45 dalek rakudo/nom: 76d1efc | pmichaud++ | src/ (2 files):
14:45 dalek rakudo/nom: Move exception creation code for <try> into a
14:45 dalek rakudo/nom: separate core function for now.  Handle the case where <try> doesn't
14:45 dalek rakudo/nom: catch anything.
14:45 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/76d1efc970
14:46 zby_home_ joined #perl6
14:48 kanishka left #perl6
14:51 dalek specs: eea6822 | (Felix Herrmann)++ | S06-routines.pod:
14:51 dalek specs: [S06] convert "We Know Which One It Is" to lc
14:51 dalek specs: review: https://github.com/perl6/specs/commit/eea68226d4
14:56 Kivutarrr left #perl6
15:00 pmichaud jnthn: I can't figure out why ModuleLoader.pm:42 is there... is that a buglet/fossil ?
15:00 pmichaud seems like it would just undo whatever was done by the for loop above it.
15:01 * pmichaud eliminates it to see what happens.
15:01 jaldhar_ left #perl6
15:01 jnthn pmichaud: Rakudo's one?
15:01 pmichaud nom's
15:02 jnthn ah, I see
15:02 jnthn yeah, looks dubious
15:02 woosley1 left #perl6
15:02 daniel-s rakudo: sprintf('%02x', 15)
15:02 p6eval rakudo b2bc99:  ( no output )
15:02 daniel-s rakudo: sprintf('%02x', 15).say
15:02 p6eval rakudo b2bc99: OUTPUT«0f␤»
15:03 daniel-s rakudo: my $a = sprintf('%02x', 15); say; say; say $a;
15:03 p6eval rakudo b2bc99: OUTPUT«␤␤0f␤»
15:03 pmichaud jnthn: how are you getting "use Test;"  to work?  Are there some unpushed changes, or am I missing something?
15:04 pmichaud are you manually creating a Test.pbc ?
15:06 jnthn pmichaud: Manually create Test.pir
15:07 pmichaud .pbc?
15:07 jnthn pmichaud: Didn't do the "compile the .pm" bit yet
15:07 pmichaud okay, I have a patch for the .pm bit.
15:07 jnthn pmichaud: Either Test.pir or Test.pbc will do.
15:07 pmichaud ModuleLoader looks like it only looks for .pbc files
15:07 jnthn Right.
15:07 jnthn ModuleLoader is mostly "make something work" :)
15:07 pmichaud I'm confused, but okay.
15:08 jnthn Oh
15:08 jnthn I see why you're confused
15:08 jnthn hm
15:08 jnthn Yeah, I don't know why it works then :)
15:08 jnthn I certainly only compiled to Test.pir
15:08 pmichaud fwiw, it doesn't work on my system, afaict
15:08 pmichaud but I'll check
15:08 pmichaud oh!
15:08 pmichaud maybe that bit of try code is what is making it work
15:09 jnthn :)
15:09 pmichaud no, that's not it.  Maybe Parrot is somehow automatically looking for the .pir file as well.
15:09 pmichaud I'm building a fresh copy of nom, we'll see what happens there.
15:11 daniel-s rakudo: :16(15)
15:11 p6eval rakudo b2bc99:  ( no output )
15:11 daniel-s rakudo: :16(15).say
15:11 p6eval rakudo b2bc99: OUTPUT«21␤»
15:11 awoodland joined #perl6
15:11 jnthn pmichaud: Parrot does look for .pir also.
15:11 daniel-s rakudo: :16(0d15).say
15:11 p6eval rakudo b2bc99: OUTPUT«21␤»
15:11 daniel-s rakudo: :16(0x15).say
15:11 p6eval rakudo b2bc99: OUTPUT«33␤»
15:11 pmichaud somehow I thought it did that only if ".pbc" wasn't in the filename.
15:12 pmichaud i.e., if one did load_bytecode "Module"   it would look for Module.pbc and Module.pir
15:12 pmichaud looking
15:16 pmichaud huh.  Interesting.
15:17 daniel-s rakudo: :10(0x0f)
15:18 p6eval rakudo b2bc99:  ( no output )
15:18 daniel-s rakudo: :10(0x0f).say
15:18 p6eval rakudo b2bc99: OUTPUT«15␤»
15:18 daniel-s rakudo: :10(10).say
15:18 p6eval rakudo b2bc99: OUTPUT«10␤»
15:18 JimmyZ daniel-s:  what're you looking for?
15:21 pmichaud looks like we pass t/01-sanity/99-test-basic.t
15:23 jnthn pmichaud: nice!
15:23 daniel-s want to convert number to hex
15:24 pmichaud daniel-s:   use .fmt
15:24 daniel-s :x() all convert to decimal
15:24 pmichaud :x()  all convert to *integer*
15:24 wamba joined #perl6
15:24 pmichaud rakudo:   say 15.fmt('%02x')
15:24 p6eval rakudo b2bc99: OUTPUT«0f␤»
15:25 donri joined #perl6
15:25 donri left #perl6
15:25 daniel-s thanks, pmichaud++
15:25 donri joined #perl6
15:25 Chillance joined #perl6
15:25 pernatiy joined #perl6
15:26 pmichaud should we use #?nom  for skips in the spectests to begin with?
15:26 pmichaud I forget how we handled it in the alpha->ng transition
15:26 moritz we used #?rakudo
15:26 pmichaud okay.
15:27 moritz and commented stuff out in t/spectest.data
15:27 pmichaud looks like whatever-currying is becoming more important -- a lot of the tests use that.
15:27 tadzik t/spec/S02-builtin_data_types/parsing-bool.t ................... ok
15:27 tadzik :)
15:27 pmichaud it's a false pass.
15:27 mberends I was going to ask if it's ok to comment out the files in nom/t/spectest.data?
15:27 jnthn er...how is everyone getting that one thinking it's passing? :)
15:28 pmichaud I think the test has some spurious try { } blocks that hide the errors.
15:29 jnthn ah
15:29 jnthn 07-isa.t passes
15:29 dalek rakudo/nom: 5ee2639 | jonathan++ | src/Perl6/Actions.pm:
15:29 dalek rakudo/nom: Fix bug involving inline blocks not being executed.
15:29 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5ee2639744
15:29 dalek rakudo/nom: fe6f8cf | jonathan++ | src/ (2 files):
15:29 dalek rakudo/nom: Mu.isa and Mu.does.
15:29 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fe6f8cf876
15:29 daniel-s left #perl6
15:30 dalek rakudo/nom: 7006946 | pmichaud++ | src/ (3 files):
15:30 dalek rakudo/nom: Merge branch 'nom' of github.com:rakudo/rakudo into nom
15:30 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7006946d5e
15:30 jnthn nom: END { say 1 }; END { say 2 }
15:30 p6eval nom: OUTPUT«1␤2␤»
15:30 jnthn rakudo: END { say 1 }; END { say 2 }
15:31 p6eval rakudo b2bc99: OUTPUT«2␤1␤»
15:31 pmichaud END is LIFO
15:31 Moukeddar joined #perl6
15:31 jnthn ah
15:31 moritz nom: END { say 3 }; say 1
15:31 tadzik pmichaud: have you considered git pull --rebase?
15:31 p6eval nom: OUTPUT«1␤3␤»
15:32 pmichaud END and CHECK are LIFO, BEGIN and INIT are FIFO
15:32 jnthn pmichaud: ah, k
15:32 jnthn fixin'
15:32 pmichaud (istr that many other phasers are also lifo.)
15:33 wamba left #perl6
15:33 jnthn We only have those 4 so far.
15:34 jnthn Though maybe I should implement ENTER so we can gain on Yapsi. ;-)
15:34 pmichaud "two blocks ENTER!  one block LEAVES!  Fight!"
15:37 dalek rakudo/nom: 0d75a77 | jonathan++ | src/Perl6/SymbolTable.pm:
15:37 dalek rakudo/nom: CHECK and END are LIFO (pmichaud++).
15:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0d75a7722d
15:37 jnthn That's another t/01-sanity
15:40 kanishka joined #perl6
15:40 dalek rakudo/nom: fb649ae | pmichaud++ | src/core/Mu.pm:
15:40 dalek rakudo/nom: Add prefix:<defined>.
15:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fb649aee72
15:40 dalek rakudo/nom: 196d776 | pmichaud++ | src/Perl6/SymbolTable.pm:
15:40 dalek rakudo/nom: Merge branch 'nom' of github.com:rakudo/rakudo into nom
15:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/196d776fb4
15:41 dalek roast: 77fde07 | pmichaud++ | S02-builtin_data_types/array_extending.t:
15:41 dalek roast: Add some temporary #?rakudo skips for nom.
15:41 dalek roast: review: https://github.com/perl6/roast/commit/77fde07632
15:41 pmichaud ...and with that, we now pass S02-builtin_data_types/array_extending.t
15:42 moritz oh, the hunt for spectests is open now?
15:42 jnthn S06-signature\named-placeholders.t fully passes :)
15:42 pmichaud it's getting there, yes :)
15:42 pmichaud make sure you have your hunter's license.
15:43 pmichaud would whatever-currying be lhf?
15:43 moritz "I went and shot the maximum the game laws would allow, Two game wardens, seven hunters, and a cow."
15:43 pmichaud lol
15:43 pmichaud I had forgotten about that verse.
15:44 moritz (Tom Lehrer)++
15:44 jnthn pmichaud: Well, we kinda already have it, so it's "just" fixing the code that does it.
15:44 jnthn pmichaud: Well, ish :)
15:45 jnthn It looks like meta-ops are another needed thing
15:45 moritz doesn't sound like material for LHF.markdown
15:45 jnthn especially += ones
15:45 jnthn moritz: Maybe we need a FRWAL (Fruit Reachable With A Ladder) :)
15:45 moritz jnthn: I thought that was NOMMAP :-)
15:46 jnthn moritz: no, no, that's the "drink beer then tackle" list :)
15:47 mberends jnthn should not drink beer and then climb a ladder
15:49 moritz jnthn, pmichaud: in master, 'make' built Test.pir... any objections against restoring that behavior?
15:49 pmichaud no objection
15:50 tadzik now that we can build it... :)
15:51 jnthn +1
15:52 moritz consider it done
15:52 moritz ... and pushed :-)
15:52 dalek rakudo/nom: 57a6c7d | moritz++ | tools/build/Makefile.in:
15:52 dalek rakudo/nom: [build] include Test.pir in the default make target
15:52 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/57a6c7de48
15:53 mberends I'm commenting out all the tests in t/spectest.data except those that now pass
15:54 tadzik what is the makefile target for 'try everything'?
15:54 thou joined #perl6
15:54 moritz fulltest or so
15:55 tadzik okay
15:56 Trashlord left #perl6
15:57 tadzik will that tell me what was expected to fail, but didn't? :)
15:57 dalek rakudo/nom: d248aa4 | jonathan++ | src/Perl6/Actions.pm:
15:57 dalek rakudo/nom: Fix calls to post-declared listops. Means diag call in Test.pm works now.
15:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d248aa4fe7
16:05 jnthn pmichaud: ping
16:07 pmichaud jnthn: pong
16:07 mberends nom make spectest: Files=1, Tests=3, ... Result: PASS \o/
16:08 jnthn pmichaud: Dunno if you have a C profiler handy and can verify this, but in my profile a LOAD of time in compiling CORE.setting is spent in utf8_skip_forward
16:08 pmichaud jnthn: that's pretty normal
16:08 pmichaud is CORE.setting not being transcoded down to iso-8859-1, I wonder?
16:08 jnthn pmichaud: I dunno
16:09 pmichaud it won't transcode down if there are any non-latin-1 characters in it..... oh, wait.
16:09 colomon2 joined #perl6
16:09 pmichaud yeah, I put one in.  I'll fix it.
16:09 moritz mberends: I'm pretty sure I saw at least 3 passing test files
16:09 jnthn pmichaud: I'd really like a second profile on this though because if mine is true...we spend 40% of tuneime in there.
16:09 jnthn *time
16:09 pmichaud jnthn: that's been my experience.
16:09 jnthn Which is ridiculous. :)
16:09 tokuhir__ joined #perl6
16:09 pmichaud utf8 is evil.
16:09 jnthn well, yeah, we should get out of it into utf-32 ASAP really.
16:10 jnthn .oO( Or NFG )
16:10 colomon2 anyone know spec on what the components of a Complex are?  a complex?  danke
16:10 jnthn complex is almost certainly num and num
16:10 pmichaud getting substrings from a utf8 takes longer the farther we get from the beginning
16:10 moritz nom num?
16:11 MayDaniel joined #perl6
16:11 pmichaud i.e., if I do    $S0 = substr utf8, 3000, 3
16:11 sorear good * #perl6
16:11 pmichaud then it has to scan from the beginning of utf8 to find the 3000th character.
16:12 mberends moritz: S06-signature/named-placeholders.t passes, 07-isa.t is not spec and S02-builtin_data_types/parsing-bool.t is bogus, that's all that has been said here so far.
16:12 jnthn pmichaud: Right, I grok the problem. I'm just quite horrified by it.
16:12 moritz mberends: ok
16:12 pmichaud jnthn: the problem with going to one of the other encodings in Parrot is that they're incomplete.
16:12 jnthn pmichaud: Oh.
16:12 jnthn :|
16:12 pmichaud and, of course, we run into problems on systems that don't have icu
16:13 pmichaud although we could try it out and see what happens
16:13 dalek rakudo/nom: b1eb40e | (Martin Berends)++ | t/spectest.data:
16:13 dalek rakudo/nom: [t/spectest.data] comment out everything but the one script that passes
16:13 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b1eb40eed0
16:13 tokuhirom left #perl6
16:13 pmichaud i.e, we could set transcode to  iso-8859-1, fall back to utf32 or some fixed-width unicode-capable encoding, and only then fall back to something else
16:14 pmichaud jnthn: on another topic, is there a good way to locate a type object ('Parcel' in this case) from within a perl6 op?
16:14 pmichaud do I have to put it into BOOTSTRAP and stuff like we do for List, etc?
16:15 sorear jnthn: non-utf8 encodings in Parrot are implemented using ICU calls
16:15 pmichaud .u ▶
16:15 phenny U+25B6 BLACK RIGHT-POINTING TRIANGLE (▶)
16:15 sorear jnthn: they won't work at all without ICU
16:15 jnthn sorear: That kinda sucks.
16:15 tokuhir__ left #perl6
16:15 sorear colomon2: Release tomorrow!  Will ** be ready?
16:16 tokuhirom joined #perl6
16:16 jnthn pmichaud: If Parrot provides a way to do find_lex from code
16:16 jnthn pmichaud: I'm guessing it does...check out the find_lex op
16:16 pmichaud hmmm.  that sounds potentially icky.
16:16 jnthn pmichaud: nod
16:16 pmichaud I could pass it as an argument, but that seems icky also.
16:16 jnthn And slow.
16:16 jnthn (the find_lex thing)
16:17 pmichaud well, it's no slower than what I'm doing now.  I guess the best thing to do is just to put Parcel into BOOTSTRAP.  It seems "core enough".
16:17 colomon2 left #perl6
16:17 pmichaud I can also give you a  Rakudo_parcel_from_rpa call to use for binder, too :)
16:17 colomon2 joined #perl6
16:17 jnthn ooh
16:18 jnthn Well, I'd use it in types.c for the type mapping, as we mentiond earlier.
16:18 pmichaud right.
16:18 pmichaud that's why I'd go ahead and do it there instead of purely in the op.
16:18 pmichaud .u ∞
16:18 phenny U+221E INFINITY (∞)
16:19 colomon2 sorest: will try to get it done once the yapc mob settles on a room
16:19 kanishka left #perl6
16:19 colomon2 *sorear
16:20 tokuhirom left #perl6
16:20 pmichaud jnthn: just pushed fix to CORE.setting -- should speed things up again.
16:20 kanishka joined #perl6
16:21 dalek rakudo/nom: 41ae351 | pmichaud++ | src/core/ (3 files):
16:21 dalek rakudo/nom: Replace some non-latin1 characters with "\x" equivalents, to prevent poor parsing speed of CORE.setting.
16:21 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/41ae351b17
16:22 jnthn https://github.com/perl6/roast/blob/master/S06-signature/arity.t#L32
16:22 jnthn Hmm
16:22 jnthn Does the spec anyway say whether .arity and/or .count should care for named parameters?
16:22 jnthn Or just positional ones?
16:22 jnthn I can't find anything either way.
16:22 pmichaud just positional ones, I think
16:22 jnthn Right, then the spectest needs an update
16:22 pmichaud and slurpy positional makes .count infinite
16:23 pmichaud oh, required named parameters might increase arity
16:23 pmichaud not sure... I doubt it
16:27 tokuhirom joined #perl6
16:28 dalek roast: fc90fd1 | jonathan++ | / (2 files):
16:28 dalek roast: .arity and .count ignore nameds.
16:28 dalek roast: review: https://github.com/perl6/roast/commit/fc90fd17eb
16:29 jnthn pmichaud: I doubt it too.
16:29 jnthn pmichaud: Imagine things like map that rely on .count/.arity
16:29 dalek rakudo/nom: c54ff34 | jonathan++ | t/spectest.data:
16:29 dalek rakudo/nom: Uncomment a test we pass.
16:29 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c54ff34b4f
16:30 jnthn Anyway, we now pass all arity.t :)
16:33 jnthn pmichaud: Awesome, you just cut setting compilation time in half. :)
16:35 pmichaud well, since I was reponsible for doubling it in the first place... that's not much of an accomplishment :)
16:35 tadzik » will be a problem too, no?
16:35 pmichaud that one is latin-1
16:35 Trashlord joined #perl6
16:35 tadzik ok
16:35 pmichaud Perl 6 has been pretty good about making sure that whatever unicode it uses in the core is latin1
16:35 tadzik latin1 is the first 7 bits?
16:36 pmichaud latin1 is codepoints 0 to 255
16:36 tadzik right
16:37 MayDaniel left #perl6
16:40 mberends S02-builtin_data_types/array_extending.rakudo passes (with fudging)
16:41 mberends S02-builtin_data_types/nested_pairs.t passes fully
16:41 pmichaud I'm working on the array_extending one
16:43 colomon2 sorear: if I have pow, how to hook up to n?
16:48 karupanerura left #perl6
16:48 pmichaud need lunch, will continue fixing up Parcel when I return
16:49 JimmyZ left #perl6
16:53 Moukeddar left #perl6
16:59 eebrah left #perl6
17:08 Trashlord left #perl6
17:08 tokuhirom left #perl6
17:11 Trashlord joined #perl6
17:16 colomon joined #perl6
17:17 colomon o/
17:17 colomon that's better
17:17 colomon2 left #perl6
17:19 colomon_ joined #perl6
17:19 colomon_ and that's even better.
17:20 colomon_ errr, except for my name
17:20 colomon_ now at yapc::na!
17:21 * moritz waves
17:21 * tadzik looks forward to the yapc
17:21 tadzik bah, I often catch myself thinking I much more want the exams to end than to pass the exams
17:22 tadzik gsoc is waiting, dozens of plans are waiting...
17:23 colomon left #perl6
17:23 colomon_ is now known as colomon
17:26 colomon sorear: Q:CgOp { (pow {$num, $power}) } doesn't seem to be right...
17:26 * colomon is going to grab a bit of sleep...
17:28 Gothmog_ joined #perl6
17:29 ggoebel_ left #perl6
17:33 wamba joined #perl6
17:34 pmichaud jnthn: ping
17:36 jnthn pmichaud: pong
17:36 jnthn (here for another 10 mins, then afk for an hour or so)
17:36 pmichaud I'm trying to move Parcel into BOOTSTRAP and I'm forgetting a step ro doing something wrong
17:36 jnthn Usual mistake is to not put it in the export list.
17:36 pmichaud I'm pretty sure I included it there
17:36 pmichaud error I'm getting is
17:37 pmichaud No method cache and no find_method method in meta-object
17:37 jnthn That's...a nasty error.
17:37 pmichaud here's my patch
17:37 pmichaud http://gist.github.com/1047788
17:37 jnthn I'm not sure how you're getting it...need to se...yes, that. :)
17:38 dalek rakudo/nom: f21cf10 | jonathan++ | src/core/Bool.pm:
17:38 dalek rakudo/nom: prefix:<not>
17:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f21cf105f7
17:38 dalek rakudo/nom: 13e487b | jonathan++ | src/core/control.pm:
17:38 dalek rakudo/nom: eval, with outer lexicals visible. Means eval_lives_ok and eval_dies_ok used in tests should work again.
17:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/13e487b5fc
17:39 jnthn pmichaud: OK, I'm still not sure...
17:39 pmichaud yeah, I'm a little surprised I'm having trouble with this one; I've not had trouble moving others to bootstrap before.
17:39 pmichaud oh
17:39 pmichaud I think I know the problem
17:40 pmichaud well, not really
17:40 pmichaud nm
17:40 jnthn pmichaud: Unless it's a missing entry in the "give it a stash" list
17:40 jnthn pmichaud: But we're missing quite a few others in there too..
17:41 pmichaud well, unlike others, Parcel is one of those that gets used before it's declared (in core)
17:41 jnthn pmichaud: I see you moved it around in the makefile too
17:41 pmichaud yes, because Parcel is Cool it should probably come afterwards
17:41 pmichaud I can try moving it back earlier...
17:41 pmichaud no difference.
17:41 jnthn Can I have the stacktrace for when you get that error?
17:42 pmichaud http://gist.github.com/1047793
17:43 jnthn yowser
17:43 jnthn That's...a weird place to blow up.
17:43 jnthn hm
17:43 jnthn Wish I knew what we were compiling at the time.
17:44 pmichaud I'm wondering if it's Any
17:44 pmichaud just a sec
17:44 pmichaud I tried comment out the instance of Parcel in Any -- still the same error.
17:46 jnthn add_multi_method doesn't have anything that looks even vaguely suspect either.
17:46 pmichaud I can probably find out what we're compiling when it blows up.. just a sec
17:50 pmichaud nope,  --rxtrace isn't quite working properly in nqp  :(
17:51 jnthn patch applied locally
17:53 jnthn reproduced error
17:54 jaldhar_ joined #perl6
17:56 birdwindupbird left #perl6
17:57 jnthn pmichaud: OK, weird. It blows up on adding the various first multi-method in the setting...
17:58 pmichaud the first multimethod?  in Mu?
18:01 jnthn ACCEPTS
18:01 jnthn yes
18:01 jnthn seems so
18:04 george_z0rwell left #perl6
18:04 jaldhar_ left #perl6
18:05 pmichaud you had said you had somewhere else to go -- this isn't a huge blocker for me and can wait
18:05 Reaganomicon joined #perl6
18:05 pmichaud I can work on tracking it down elsewhere a bit
18:05 jnthn it's ok, elsewhere was nom and I nommed while debugging ;)
18:05 jaldhar_ joined #perl6
18:07 tadzik ...nom :)
18:07 tadzik ...so we put your nom near your nom so you can nom while you nom :)
18:08 pmichaud ...nominally, yes.
18:08 jnthn :P
18:10 jnthn pmichaud: This is a *very* confusing failure.
18:11 pmichaud I've got another data point for you
18:11 pmichaud http://gist.github.com/1047814   # this also causes the same failure
18:12 pmichaud It looks like adding *any* new class to BOOTSTRAP.pm (at that particular point) is enough to cause the failure
18:13 pmichaud i.e,. the fact that it's "Parcel" is not important.
18:13 pmichaud are we reaching the limit of some internal array, perhaps?
18:14 pmichaud (not likely, I know, but worth asking)
18:14 jnthn SC "corruption" of some kind is what's bothering me a bit.
18:14 jnthn But it's hard to know where that'd happen.
18:15 pmichaud with the 1047814 patch, we end up with 30 stubs in BOOTSTRAP.pm   (just another data point that might help)
18:16 sorear colomon: don't suppose you're still up ?
18:24 jnthn pmichaud: Yeah. And 248 items in the SC. Not really a magical go-wrong number.
18:25 kanishka left #perl6
18:42 awoodland left #perl6
18:43 awoodland joined #perl6
18:51 [particle]1 joined #perl6
18:53 [particle] left #perl6
18:53 dalek rakudo/nom: 75e02f2 | (Martin Berends)++ | t/spectest.data:
18:53 dalek rakudo/nom: [t/spectest.data] mining spectest_full wins another 337 tests in 41 files
18:53 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/75e02f20f8
18:56 mberends what the tests cried most often was: Could not find sub &exit
18:56 pmichaud oh, we can do that :)
18:57 pmichaud I'll do it when I return if it doesn't happen sooner
18:57 pmichaud afk, errands
18:57 moritz nqp: pir::exit(0); say("alive")
18:57 p6eval nqp:  ( no output )
18:58 * moritz patches
18:59 mberends that's pretty soon :)
18:59 tadzik funny how t/spec/S01-perl-5-integration/hash.t passes :)
18:59 jnthn That sounds...bogus.
19:00 tadzik that's probably Perl5-accidentally-being-a-subset-of-Perl6
19:00 jnthn And use v5 being ignored. I suspect.
19:00 moritz aye, I commented out the "use <version>" code
19:01 dalek rakudo/nom: c1d7529 | moritz++ | src/core/IO.pm:
19:01 dalek rakudo/nom: exit()
19:01 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c1d75299b5
19:03 * jnthn tries to track down $really_weird_bug
19:03 cognominal jnthn, we did not let masak go without drinking Chartreuse :)
19:04 jnthn mwahaha!
19:04 jnthn cognominal: Did he...survive? :)
19:05 cognominal to be on the safe side, I took the subway with him from  the Villette to the Gare du Nord
19:06 cognominal Some of us did an all night hackathon session fuelled by Chartreuse (BooK, eiro, dolmen and me).
19:07 cognominal Eiro is writing a Perlude. And a typo ("perl dude") gave us ideas for (offensive) T-shirts
19:08 sorear jnthn/pmichaud: ping
19:08 cognominal (the big Lebowsky)++
19:11 jnthn sorear: gotta afk for a bit now...will be back later
19:11 jnthn pmichaud: No joy on getting to the bottom of $issue :/
19:21 colomon sorear: I'm back up again, but heading out soonish.  what's up?
19:21 jaldhar_ left #perl6
19:23 dual left #perl6
19:24 sorear colomon: I was going to ask jnthn/pmichaud about its plans for handling $*PID and company in nom
19:24 sorear colomon: as for you, (pow {$x} {$y})
19:24 colomon sorea++
19:24 colomon sorear++
19:24 sorear colomon: note that the definitions of infix operators in the setting have changed a bit
19:25 sorear karma sorea
19:25 aloha sorea has karma of 1.
19:26 colomon sorear: where should I look to find the example of, say, how infix:<+> is implemented?
19:27 colomon niecza> 2.Num ** .5
19:27 colomon 1.4142135623731
19:27 colomon so, some progress here.  now for the tricky cases.  :)
19:31 sorear colomon: I've gotten infix:<+> down to only two places!
19:31 sorear (was 4+ earlier)
19:31 colomon \o/
19:32 sorear CORE.setting line 424
19:32 colomon for some reason, my ack in textmate really doesn't like searching Niecza's source.
19:32 sorear Builtins.cs line 509
19:32 sorear probably because of the .setting extension
19:32 colomon that may be it indeed
19:33 cooper joined #perl6
19:33 colomon what does the ,2,2 mean in the Niecza::builtin statements mean?
19:33 sorear I like git-grep.  it doesn't try to second-guess "is this a source file", it goes directly to the VCS instead
19:33 sorear min and max argument count
19:34 sorear also, infix:<**> has a precedence definition in the source now
19:34 sorear :<+> is missing one only because %additive is the default
19:34 colomon I don't mind the second-guessing, but I certainly wish it was easier to fix it when it goes wrong.
19:34 colomon right,  is Niecza::absprec<w=> is assoc<right>
19:35 colomon groovy, let me try doing this the "right" way, then
19:36 colomon sub infix:<**> is Niecza::builtin('pow',2,2)  is Niecza::absprec<w=> is assoc<right> ($l,$r) { $l ** $r }
19:36 colomon does that look right to you?
19:37 colomon compiles and seems to work.  :)
19:37 PacoLinux left #perl6
19:37 sorear looks right to me
19:37 sorear the hard part should be figuring out the type rules
19:37 colomon now I guess need to get all the cases implemented.
19:37 sorear e.g. -2 ** 4e0
19:38 colomon rakudo: say -2 ** 4
19:38 p6eval rakudo b2bc99: OUTPUT«-16␤»
19:38 prammer_ joined #perl6
19:38 sorear I think that should be Complex, since 4e0 can be considered to have infinitesimal (real) error, and raising a negative number to an infinitesimal power results in a complex infinitesimal
19:38 sorear rakudo: say (-2 ** 4e0).WHAT
19:39 p6eval rakudo b2bc99: OUTPUT«Num()␤»
19:39 bakedb joined #perl6
19:39 sorear I don't consider rakudo's behavior here to be spec, unless a lot of code relies on it
19:40 * sorear hopes that %hash.exists("foo") goes away or becomes standard soon
19:40 pmichaud correct behavior here will be defined by the spectests, then, not rakudo :)
19:40 colomon sorear: I think that may require more thought that I can give to it today.  It will be bad enough just getting the basic routines to work.
19:40 prammer left #perl6
19:42 jimmy1980 left #perl6
19:42 moritz sorear: 4e0 is a Num and has no imaginary component
19:42 moritz erm
19:43 moritz and 4e0 == 4
19:43 moritz there are lots of numbers you can represent exactly as floating point
19:43 moritz no need to assume an error everywhere
19:44 envi left #perl6
19:48 pmichaud jnthn: sorry, didn't realize that moving Parcel into BOOTSTRAP was going to be a trial :/
19:48 pmichaud (but of course we'll have the problem no matter what class we next want to add to BOOTSTRAP, Parcel or not :)
19:49 jnthn pmichaud: I suspect you've uncovered a deepish bug that we'd have hit at some point anyway.
19:49 pmichaud jnthn: right, that's my guess also
19:49 jnthn pmichaud: I founnd and fixed one issue along the way but not The Issue
19:50 dalek rakudo/nom: a104026 | jonathan++ | src/Perl6/Actions.pm:
19:50 dalek rakudo/nom: Fix issue with re-stubbing something we stubbed already in BOOTSTRAP (should never happen in real Perl 6, mind).
19:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a10402612b
19:50 jnthn pmichaud: It turns out though that if you apply your patch and then right below the stubbing of Parcel add just some "class Dummy { }" the problem goes away :/
19:50 pmichaud ouch.  sounds heisenbugish
19:50 jnthn Yeah
19:50 jnthn It's not GC-ish though. -G doesn't help at all.
19:53 jnthn Gotta deal with a $errand that I forgot about earlier...bbiab
19:53 pmichaud syiab
19:53 pmichaud or maybe that's "cuiab"
19:55 sorear pmichaud: How do you plan to handle, say, $*PID in nqp:: land?
19:56 prammer_ left #perl6
19:56 colomon sorear: I'm heading away for noms and tunes now.  should be back at infix:<**> by 9 est or so unless the pub has really good hard cider...
19:56 pmichaud sorear: don't know yet about $*PID in nqp:: land.   We'll probably just do it in rakudoland for a while using pir:: and then figure it out in more detail as we start looking at other VMs
19:57 sorear est?  I thought you were Europe-based
19:57 colomon sorear: est.  Michigan-based usually, in NC for YAPC atm
19:58 sorear ah
19:59 prammer_ joined #perl6
20:00 colomon sorear: I've never even visited Europe, alas.
20:00 moritz sorear: not every cool Perl 6 hacker is in Europe :-)
20:00 colomon afk
20:00 PacoLinux joined #perl6
20:01 sorear moritz: heh, but I'm familiar with pmichaud's "yes, I am familiar with the other 49 countries" line :D
20:02 dalek rakudo/nom: 998c18a | pmichaud++ | src/ (3 files):
20:02 dalek rakudo/nom: Move &exit into src/core/control.pm, add a nqp:: opcode for it.
20:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/998c18aa14
20:02 dalek rakudo/nom: 92fa053 | pmichaud++ | src/Perl6/Actions.pm:
20:02 dalek rakudo/nom: Merge branch 'nom' of github.com:rakudo/rakudo into nom
20:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/92fa053b47
20:10 prammer_ left #perl6
20:11 whiteknight left #perl6
20:16 masak joined #perl6
20:16 masak hi #perl6!
20:16 moritz o/
20:16 * masak is back home
20:16 masak oh noes what happened to my daily blogging! o.O
20:17 masak I forgot to get someone to feed it while I was away...
20:17 prammer_ joined #perl6
20:17 sorear hello, masak.
20:17 masak \o
20:18 jnthn o/ masak
20:18 masak ahoj, jnthn
20:18 jnthn Bra flyg?
20:18 masak toppenbra flyg.
20:19 masak inga vingar föll av, och bra utsikt :)
20:19 pmichaud .oO( why are jnthn and masak writing rot13?  :)
20:19 jnthn bra utsikt = söta flickor? ;)
20:20 masak jnthn: you sir, have a one-track mind... :P
20:20 jnthn oh! this is #perl6, not privmsg!
20:20 masak *lol*
20:20 masak not that jnthn and I talk about girls all the time over privmsg... :P
20:20 masak I mean, surely not.
20:20 bakedb left #perl6
20:20 pmichaud ...tmi, I think.
20:21 jnthn :P
20:21 PacoLinux left #perl6
20:21 jnthn pmichaud: Done $errand...will see if I can figure out a bit more on the bug.
20:22 lue hello world! o/
20:22 pmichaud jnthn: okay, good.
20:22 jnthn pmichaud: It's...bewildering that we'd end up writing something into the wrong SC at some point. :/
20:22 jnthn But it's my only guess at what might be going on.
20:24 * lue has half a mind to use google translate on that conversation, but the other half is screaming "NO! YOU DON'T WANT TO KNOW!"
20:25 masak lue: it's safe.
20:25 masak for work, I mean.
20:26 jnthn It looks worse in English than in Swedish. :P
20:26 masak we managed to insinuate more than we actually said. :)
20:26 masak oh wait, that's what "insinuate" means.
20:28 lue masak->Masaka (sweedish to english)
20:28 mj41 joined #perl6
20:30 lue (Yeah, when you tried to convince us you guys don't always talk about girls over privmsg, the sweedish suddenly looked very bad to an englishman...)
20:30 jnthn lue: There were a few Swedish words that it took me a while to stop laughing at every time I saw them after moving here. :)
20:31 masak in Sweden, everything is "bra".
20:31 masak (it means "good")
20:31 jnthn Apart from when it's dåligt. :P
20:32 sorear gut.
20:32 jnthn holy crap, an internal class in Metamodel winds up appearing to be a ParametricRoleHOW O.O
20:32 jnthn How...on...earth...
20:33 * jnthn goes to read reams of PIR
20:35 * jnthn gets very confused
20:36 jnthn pmichaud: It's starting to smell of memory corruption.
20:36 sorear joy
20:36 masak dun-dun-DUN
20:36 lue I wonder, will the nom branch remove the core.pm > core.pir bit? (or does get replaced with a similarly lengthy procedure?)
20:37 jnthn Somehow, a type object ends up referencing a different s-table
20:37 jnthn That should never, ever be able to happen unless that bit of memory gets re-used.
20:37 jnthn OTOH, -G didn't make the issue go away.
20:37 pmichaud could be memory corruption unrelated to gc
20:38 pmichaud lue: we don't have any plans to eliminate the Perl 6 core :)
20:38 jnthn pmichaud: True
20:39 jnthn pmichaud: That's the only way that'd immediately make sesnse to me though.
20:39 masak was the commit https://github.com/perl6/specs/commit/eea68226d4 commit motivated purely by "specs aren't supposed to be tongue-in-cheek"? or something deeper?
20:39 jnthn pmichaud: Unless the FSA gives us the same chunk of memory twice. :/
20:40 lue That takes a good hour or two on my computer though :( [and that's if I just started up the computer. If it's been running for a while core.pm > core.pir will never finish]
20:41 jnthn pmichaud: OTOH at least it's an NQPParametricRoleHOW, so not one from Perl 6 land
20:41 jnthn pmichaud: So it's not cross-SC issue
20:41 lue and I'm finding more and more of my project ideas need a good Perl6 compiler on my own machine.
20:42 jnthn oh, also...the class *is* enclosed in a role.
20:42 masak lue: the bottleneck is RAM. that's because the setting needs to be compiled in one go. that's because everything is in the same scope (and that's kinda the point of it).
20:42 masak lue: have you thought of cross-compiling Rakudo?
20:43 lue I actually asked earlier if I could just compile Rakudo remotely and copy it over locally. [Parrot compiles just fine on its own]
20:44 jnthn pmichaud: Good news.
20:44 masak lue: you could also empty out the setting and then compile it. would be much faster.
20:44 jnthn pmichaud: I don't think it's memory corruption. It *is* exceptionally weird. And may be a lexpad screwup
20:45 wamba left #perl6
20:45 jnthn Or something in the fixups
20:45 jnthn It's probably a golfable, obscure NQP bug.
20:45 pmichaud that's good
20:45 jnthn Roles generally play games with lexical scopes in hairy ways.
20:45 pmichaud maybe we should have either roles or lexical scopes then, but not both.  :-P
20:46 jnthn That's a little hard when lexical scope = parametric role type environment... :P
20:46 pmichaud D'oh!
20:46 lue the setting, thats... src/core/ , right?
20:46 pmichaud lue: yes.
20:47 loloiiiijj joined #perl6
20:47 masak rakudo: sub foo($a: $b) { say "OH HAI" }; foo(1, 2)
20:47 p6eval rakudo b2bc99: OUTPUT«Lexical 'self' not found␤  in 'foo' at line 1:/tmp/zYAZq7Mi1N␤  in main program body at line 22:/tmp/zYAZq7Mi1N␤»
20:48 lue so you're saying I should dump src/core/, then compile it, and it'll work just fine?
20:49 pmichaud in theory, we could bundle a core.pir in the repository I bet.
20:49 pmichaud and it gets used as long as none of the other dependencies have been violated
20:49 amkrankruleuen left #perl6
20:49 pmichaud might be a problem with timestamps, though.
20:50 jnthn pmichaud: Want me to push your patch also?
20:50 pmichaud jnthn: I'd prefer to do it here
20:50 pmichaud the patch is very incomplete
20:50 pmichaud it was just enough to show the issue I was having.
20:50 amkrankruleuen joined #perl6
20:50 loloiiiijj left #perl6
20:51 jnthn k
20:52 dalek rakudo/nom: 4e224d9 | jonathan++ | src/Perl6/Metamodel/MultiMethodContainer.pm:
20:52 dalek rakudo/nom: Avoid a really obscure NQP bug. Nesting packages inside roles may well just be something we want to outlaw anyway, though...
20:52 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4e224d9d5d
20:52 jnthn pmichaud: OK, your patch seems to apply cleanly now
20:52 jnthn pmichaud: And not bust the build
20:53 masak nom: sub foo($a: $b) { say "OH HAI" }; foo(1, 2)
20:53 p6eval nom: OUTPUT«Rebuild in progress␤»
20:53 masak awww!
20:53 jnthn std: sub foo($a: $b) { say "OH HAI" }; foo(1, 2)
20:53 p6eval std 37a0cdd: OUTPUT«Potential difficulties:␤  $b is declared but not used at /tmp/UKYCAwuX_8 line 1:␤------> [32msub foo($a: [33m⏏[31m$b) { say "OH HAI" }; foo(1, 2)[0m␤  $a is declared but not used at /tmp/UKYCAwuX_8 line 1:␤------> [32msub foo([33m⏏[31m$a: $b) { say "OH HAI" };…
20:53 jnthn std: sub foo($a: $b) { say "OH HAI" }; foo(1, 2) # OK don't panic...
20:53 masak huh.
20:53 p6eval std 37a0cdd: OUTPUT«Potential difficulties:␤  $b is declared but not used at /tmp/GMDNoRGFNa line 1:␤------> [32msub foo($a: [33m⏏[31m$b) { say "OH HAI" }; foo(1, 2) # OK don[0m␤  $a is declared but not used at /tmp/GMDNoRGFNa line 1:␤------> [32msub foo([33m⏏[31m$a: $b) { say "O…
20:54 jnthn std: sub foo($a: $b) { say "$a $b" }; foo(1, 2)
20:54 p6eval std 37a0cdd: OUTPUT«ok 00:01 125m␤»
20:54 pmichaud afk for a bit
20:54 masak std: sub foo($a: $b) { say "OH HAI" }; foo(1, 2) #OK
20:54 p6eval std 37a0cdd: OUTPUT«ok 00:01 124m␤»
20:54 jnthn ah, that's it
20:54 prettyrobots joined #perl6
20:54 masak prettyrobots! \o/
20:54 prettyrobots perl6: say 3
20:54 p6eval pugs, rakudo b2bc99, niecza v6-199-g90117b3: OUTPUT«3␤»
20:54 jnthn nom: say "alive"
20:54 p6eval nom: OUTPUT«alive␤»
20:54 prettyrobots per6: say 3;
20:55 masak nom: say "dead"
20:55 p6eval nom: OUTPUT«dead␤»
20:55 jnthn nom: sub foo($a: $b) { say "$a $b" }; foo(1, 2)
20:55 p6eval nom: OUTPUT«Lexical 'self' not found␤current instr.: 'foo' pc 308 ((file unknown):38884163) (:1)␤»
20:55 jnthn LTA
20:55 masak yeah
20:55 prettyrobots Anyone using Perl6 in production anywhere yet?
20:55 jnthn rakudo: sub foo($a: $b) { say "$a $b" }; foo(1, 2)
20:55 masak prettyrobots: I am.
20:55 p6eval rakudo b2bc99: OUTPUT«Lexical 'self' not found␤  in 'foo' at line 1:/tmp/V6vcuSrsSS␤  in main program body at line 22:/tmp/V6vcuSrsSS␤»
20:55 prettyrobots masak: Yeah? Having fun with it?
20:55 prettyrobots Getting a lot done?
20:55 jnthn masak: We may already have an RT for that.
20:55 prettyrobots Or is it slow going.
20:56 masak prettyrobots: it builds my blog entries since a year back now.
20:56 masak prettyrobots: the speed is not much of an issue since it's done once, statically.
20:56 prettyrobots Is perl6 slow?
20:56 masak prettyrobots: but you're right, it would suck for speed-intensive things. people are working on it.
20:56 masak jnthn++ sorear++
20:56 prettyrobots Okay. Fine.
20:56 masak prettyrobots: the whole nom branch thing is aimed at performance and memory consumption.
20:57 prettyrobots Cool.
20:57 masak it lands this summer, in a distribution near you :)
20:57 prettyrobots Is there anything like Event Machine or Twisted?
20:57 PacoLinux joined #perl6
20:57 tadzik prettyrobots: perl6 is not, some of the implementations are. Is English slow?
20:57 prettyrobots Evented I/O bindings? I'd build something with that.
20:57 kaare_ left #perl6
20:58 masak prettyrobots: I took a quick look at eventmachine. it's not 100% clear to me what it does.
20:58 masak care to explain a bit further?
20:59 sorear lue: why aren't you playing with niecza yet?
20:59 prettyrobots A binding to kqueue or epoll.
20:59 masak hm, the Reactor pattern seems to presuppose concurrency. Niecza has that, I think, but I haven't seen an event framework on top of Niecza.
21:00 sorear lue: anti-Mono zealotry?
21:01 lue no, lemme see (I remember searching for Mono in portage yesterday, don't know why I didn't go ahead and install it.)
21:04 felher x/go 1
21:10 lue I'll finally give niecza a try, first I have to install Mono...
21:10 sorear lue: ppc linux right?  what Gentoo version?
21:10 pmichaud jnthn: I'm planning to work on whatever currying next, unless you wanted to do it (or need me to work on something else)
21:10 jnthn pmichaud: wfm
21:11 jnthn pmichaud: Now we've got spectestability back there's loads of LHF to attack
21:11 pmichaud then I'll come back to parcels and arrays with holes
21:11 pmichaud yes, most of the spectest I've been playing with fail on whatever
21:11 jnthn That and things like meta-ops
21:11 pmichaud hmmm, meta-ops
21:11 * sorear plans to do '@foo[2] := $x', '$*PID etc', 'correcter $/' today
21:12 jnthn pmichaud: Question. Where should the generating meta-ops be installed?
21:12 sorear lue: I can help with Mono installs.  I've done too many of them.
21:12 pmichaud heh
21:12 jnthn pmichaud: At the moment we shove them in UNIT
21:12 pmichaud I was just about to ask you the same question.
21:12 jnthn Where "at the moment" means "in master"
21:12 pmichaud I think UNIT is fine with me for now.
21:12 jnthn It seems like that's a reasonable place.
21:12 jnthn OK
21:12 jnthn did I do...
21:12 pmichaud for a first cut, at least.
21:13 sorear perl6: if 1 { sub infix:<@>($x,$y) { $y ~ $x }; say [@] 1..5 }
21:13 jnthn nom: sub a($b, $c) { say "$b $c" }; my $bar = &a.assuming(1); $bar(2)
21:13 p6eval rakudo b2bc99: OUTPUT«===SORRY!===␤Could not find sub &infix:<@>␤»
21:13 p6eval ..pugs, niecza v6-199-g90117b3: OUTPUT«54321␤»
21:13 p6eval nom: OUTPUT«Method 'assuming' not found for invocant of class 'Sub'␤current instr.: '_block1002' pc 87 ((file unknown):40526012) (:1)␤»
21:14 sorear I think master's metaop implementation is overcomplicated and broken.
21:14 jnthn Rakudo I am disappoint.
21:14 jnthn sorear: Well, the issue in that case is mostly the scoping thing, I think.
21:15 jnthn pmichaud: Shall we want to use meta-ops in the setting?
21:15 pmichaud much of what ails master is broken lexical scoping
21:15 pmichaud jnthn: I'd prefer to avoid it unless there's a big reason to use them there.
21:15 masak I'm now suspecting https://gist.github.com/1045125 is actually flawed in some way. my calculations consistently give that the size-4 sierpinski should have 16 nodes, not 11. :/
21:16 sorear jnthn: what's the scoping problem?  just have [@] 1..5 mean reduce(&infix:<@>, :left, 1..5)
21:16 pmichaud sorear: that's essentially what we do, but we also install &infix:<[@]>
21:17 sorear pmichaud: why?  the installation is the reason your metaops aren't working
21:17 sorear in this case
21:17 lue Gentoo 10.0 I believe [ not that version numbers mean much in Gentooland :) ] It's going fine so far.
21:17 masak aha! http://oeis.org/A067771
21:18 sorear pmichaud: because anything installed at the UNIT level cannot see &infix:<@>
21:18 eebrah joined #perl6
21:19 jnthn pmichaud: UNIT is probably an issue in so far as if we do the currying thing we may curry the wrong multi
21:19 * jnthn tries to remember the situation where we need the symbol installed...
21:19 jnthn (e.g. rather than compiling to a bunch of function calls...)
21:20 sorear masak: 3, (* * 3 - 3) ... * # the natural Perl 6 is more concise than the Mathematica, wow
21:20 masak sorear: :)
21:20 sorear jnthn: I just assumed it was premature optimization
21:21 masak sorear: are the parens needed there?
21:21 jnthn sorear: I don't think it was optimization.
21:21 jaldhar_ joined #perl6
21:21 jnthn sorear: I think it was because you could do something like &[>>+<<] or such
21:22 sorear jnthn: niecza does whateverlike currying in that case
21:22 sorear in particular this includes stuff like »+=«
21:23 jnthn Feels a bit icky to have two code paths for it.
21:23 pmichaud partially it's also that we didn't want to construct a separate closure for each instance of += that occurs in code.
21:24 pmichaud yes, we could probably do it without closures to some extent.
21:24 pmichaud also, istr that at one time the spec made noises to the effect that metaoperators were generated and installed... the specs may not say that any longer.
21:25 * masak gives up trying to blog tonight and saves his strength for tomorrow
21:27 pmichaud jnthn: if you want to do an implementation along the lines of what sorear-suggests (just a macro translation), I'm not opposed to trying that either.
21:27 pmichaud would save some lexical nastiness
21:28 pmichaud s/would/could/
21:28 jnthn pmichaud: Since they're all subs, I suspect the inliner may have a good shot at inlining at least the first level of a meta-op also.
21:29 pmichaud right
21:29 pmichaud so, I think let's try that.
21:29 pmichaud we can generate the closure in the &[>>+<<] case.  And it's perhaps only one level of clousre anyway.
21:30 pmichaud if it doesn't work out long term, at least we have += and friends working soonish.
21:36 cooper left #perl6
21:36 cooper joined #perl6
21:38 sorear hmm.  problem with using multi methods in the niecza compiler, they require types to be visible at compile time
21:38 sorear which interferes with my dependency injection stuff
21:39 sorear nom: 1 := 1
21:39 p6eval nom: OUTPUT«Cannot use bind operator with this LHS at line 1, near " 1"␤current instr.: 'nqp;HLL;Grammar;panic' pc 23569 (src/stage2/gen/NQPHLL.pir:6311)␤»
21:42 Psyche^ joined #perl6
21:45 Patterner left #perl6
21:45 Psyche^ is now known as Patterner
21:46 wamba joined #perl6
21:49 jnthn nom: my %h; say ?%h
21:49 p6eval nom: OUTPUT«Bool::True␤»
21:49 jnthn nom: my @a; say ?@a
21:49 p6eval nom: OUTPUT«Bool::False␤»
21:49 jnthn pmichaud: Empty hash should be false, iiuc?
21:49 pmichaud nyi, I think.
21:50 jnthn ah
21:50 jnthn can do it
21:50 jnthn perl6: my %h = a = 1, b => 2; say %h.elems
21:50 p6eval pugs: OUTPUT«*** No such subroutine: "&a"␤    at /tmp/91bEx7MO1y line 1, column 9-22␤»
21:50 p6eval ..rakudo b2bc99: OUTPUT«Could not find sub &a␤  in main program body at line 22:/tmp/7xZMjAFzW5␤»
21:50 p6eval ..niecza v6-199-g90117b3: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤Any()Preceding context expects a term, but found infix = instead at /tmp/jbc3oEe4xG line 1:␤------> [32mmy %h = a [33m⏏[31m= 1, b => 2; say %h.elems[0m␤␤Parse failed␤␤»
21:50 pmichaud method Bool() { nqp::p6bool(nqp::elems($!storage)) }     or somesuch
21:50 jnthn perl6: my %h = a => 1, b => 2; say %h.elems
21:51 p6eval pugs, rakudo b2bc99: OUTPUT«2␤»
21:51 p6eval ..niecza v6-199-g90117b3: OUTPUT«Unhandled exception: Unable to resolve method elems in class Hash␤  at /tmp/rxCQidDg_z line 1 (MAIN mainline @ 1) ␤  at /home/p6eval/niecza/lib/CORE.setting line 1790 (CORE C847_ANON @ 2) ␤  at /home/p6eval/niecza/lib/CORE.setting line 1791 (CORE module-CO…
21:51 jnthn yeah, just checking if I should add a .elems while I'm there :)
21:52 * jnthn is still learning his nqp:: op set :)
21:56 sorear jnthn: in nom, how deep is an our alias?
21:57 sorear nom: our $x = 3; say $GLOBAL::x; $x := 5; say $GLOBAL::x
21:57 p6eval nom: OUTPUT«Cannot use bind operator with this LHS at line 1, near " 5; say $G"␤current instr.: 'nqp;HLL;Grammar;panic' pc 23569 (src/stage2/gen/NQPHLL.pir:6311)␤»
21:57 y3llow_ joined #perl6
21:57 pothos_ joined #perl6
21:57 sorear jnthn: can't bind package vars ever?
21:57 sorear jnthn: or just NYI?
21:57 jnthn sorear: I suspect that one should be made to work.
21:57 jnthn sorear: We don't handle any binding to aggregates yet.
21:58 wamba left #perl6
21:58 sorear $x isn't an aggregate, is it?
21:58 jnthn Hm
21:58 jnthn Guess not, though a stash is ;)
21:58 sorear or is each occurence of $x expanded to GLOBAL::.<$x> ?
21:58 jnthn But I guess that doesn't apply here
21:58 jnthn No, I don't do it like that
21:59 jnthn It's an lexical alias set up at block entry for now.
21:59 jnthn *a
21:59 bitpart joined #perl6
21:59 sorear What kind of lexical alias?
21:59 jnthn Anyway, I think binding should work there.
21:59 jnthn Just NYI
21:59 sorear Does it point to the hash slot, or to the Scalar?
21:59 jnthn To the Scalar at the moment.
21:59 pothos left #perl6
21:59 y3llow left #perl6
22:00 jnthn Binding is syntactic though, so that can go hunt down the hash slot if need be.
22:00 pothos_ is now known as pothos
22:00 sorear But I take it you plan to change this?
22:00 y3llow_ is now known as y3llow
22:00 sorear ah.
22:00 jnthn TMTOVTII :)
22:00 jnthn I could go either way at the moment.
22:00 sorear What about our $x; sub_that_rebinds_GLOBAL_x(); say $x ?
22:00 jnthn Making it work the same way $foo::bar::baz := ... works could be tempting though.
22:01 jnthn Yeah, right now that'd be an issue.
22:01 jnthn Maybe we need to alias deeper.
22:01 sorear niecza's solution basically involves typeglobs
22:01 * jnthn slurps his beer harder
22:01 jnthn :)
22:01 sorear which is slightly uck, so I'm asking you
22:01 jnthn Maybe it wants a deeper binding.
22:02 jnthn Or maybe we make the alias more syntactic.
22:02 PacoLinux left #perl6
22:02 jnthn Though that may not be wise
22:02 jnthn our $x; eval(' ...uses $x.... ')
22:02 sorear Why not wise?
22:03 jnthn The eval case.
22:04 jnthn nom: my %h = a => 1, b => 2; say %h<b a>.join('|')
22:04 p6eval nom: OUTPUT«duplicate named argument in call␤current instr.: '_block1002' pc 125 ((file unknown):24240768) (:1)␤»
22:04 jnthn nom: my %h = a => 1, b => 2; say %h<b a>
22:04 p6eval nom: OUTPUT«duplicate named argument in call␤current instr.: '_block1002' pc 125 ((file unknown):28577520) (:1)␤»
22:06 sorear I don't see what eval matters here
22:06 mj41 left #perl6
22:07 pmichaud jnthn: ping
22:09 pmichaud I don't have hash slices implemented in nom yet.
22:09 Kivutarrr joined #perl6
22:10 pmichaud I need to redo slicing now that we have Positional and Associative working again.
22:10 jnthn pmichaud: oh, ok
22:10 pmichaud I've got a draft for whatever_curry, but I don't know what I need to do to create an anonymous closure from Actions.pm (more)
22:10 pmichaud here's what I have so far:
22:10 pmichaud http://gist.github.com/1048049
22:11 pmichaud i.e., I don't know how we create lexical pads and blocks now.
22:11 pmichaud or signatures and parameters, for that matter :)
22:13 jnthn pmichaud: a PAST::Block has the familiar 2-node structure.
22:13 jnthn pmichaud: That is, first for decl-y stuff, second for the rest
22:13 jnthn pmichaud: You'd need to put a PAST::Var.new( :name($pname), :scope('lexical_6model'), :isdecl(1) ) into [0] for each of the parameters
22:14 pmichaud as well as creating the entry in @params, yes?
22:14 jnthn Yes
22:14 jnthn Your entry in params looks correct
22:15 pmichaud it would go into [0] of the newly created block?
22:15 jnthn Yes
22:15 jnthn create_signature_object call looks right, as does add_signature_binding_code
22:16 jnthn You then need to create a code object.
22:16 pmichaud okay
22:16 pmichaud just a moment
22:16 jnthn $*ST.create_code_object($block, 'WhateverCode', $signature)
22:16 jnthn Where I presume WhateverCode is the type of code object you want.
22:16 jnthn It should be a subclass of Code (directly or indirectly)
22:17 pmichaud ah yes, I need to create that type also.  no problem :-)
22:17 jnthn Note that what you get back from create_code is actually going to be a WhateverCode, *not* a PAST tree :)
22:18 pmichaud right, so then I create a reference_to_code_object from that?
22:18 jnthn If you want closure semantics, do like:
22:18 jnthn my $closure := block_closure(reference_to_code_object($code, $block));
22:18 pmichaud yes, closure semantics here
22:18 jnthn Drop the block_closure call if you don't need closure semantics.
22:18 jnthn That gives you a PAST node that will dtrt.
22:19 jnthn Note that you also should probably install your PAST::Block in the appropriate lexical scope.
22:19 jnthn $*ST.cur_lexpad()[0].push($block);
22:20 jnthn (creating code objects is fairly divorced from handling the PAST tree; generally, you can put the code object wherever you like, and your outer chain is handled by getting things right in the PAST tree.)
22:21 jaldhar_ left #perl6
22:21 dalek rakudo/nom: ace0918 | jonathan++ | src/ (6 files):
22:21 dalek rakudo/nom: Fix up attributive parameter finding somewhat.
22:21 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ace0918dfc
22:21 dalek rakudo/nom: 9d200e0 | jonathan++ | src/core/EnumMap.pm:
22:21 dalek rakudo/nom: EnumMap.Bool, EnumMap.elems.
22:21 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9d200e0473
22:21 pmichaud jnthn: second draft:  http://gist.github.com/1048055
22:23 jferrero joined #perl6
22:23 dalek roast: 1b8dee3 | jonathan++ | S12-methods/attribute-params.t:
22:23 dalek roast: Re-fudge attribute-params.t for nom. We win a test we used to get wrong, but lose two for hash slicing.
22:23 dalek roast: review: https://github.com/perl6/roast/commit/1b8dee3f1c
22:24 Reaganomicon left #perl6
22:24 dalek rakudo/nom: 49a6622 | jonathan++ | t/spectest.data:
22:24 pmichaud third draft:  http://gist.github.com/1048058
22:24 dalek rakudo/nom: Another passing test file.
22:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/49a6622ba3
22:25 pmichaud (second draft forgot to pass the WhateverCode params to the WhateverCode)
22:25 jnthn pmichaud: Installing block seems to be missing too
22:25 wolfman2000 left #perl6
22:25 jnthn < jnthn> $*ST.cur_lexpad()[0].push($block);
22:25 pmichaud immediately after block is created
22:26 jnthn oh
22:26 jnthn yeah, I missed it
22:26 jnthn see it now
22:26 pmichaud line 15
22:26 pmichaud :)
22:26 jnthn yeah
22:26 jnthn Looks sane
22:26 jnthn But...does it work? :)
22:26 pmichaud okay, I'll play with this a bit and see if I can get it to work.
22:27 pmichaud if not, I'll just leave what I have thus far and maybe you'll be able to hack it into place later/tomorrow or something :)
22:27 jaldhar_ joined #perl6
22:28 * pmichaud tries compiling
22:29 masak 'night, #perl6
22:29 masak left #perl6
22:29 sorear jnthn: what happens if you try to call a code object from within the compiler?
22:32 jnthn sorear: It runs it.
22:32 jnthn sorear: Though outer lexical scopes are still not sorted out yet.
22:33 jnthn BEGIN uses the same mechanism, though, so once I fix it for one, I fix it for both.
22:44 dalek rakudo/nom: 813e46c | jonathan++ | src/ (2 files):
22:44 dalek rakudo/nom: Fix my Dog $fido .= new() style things, which show up in quite a few spectests.
22:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/813e46ca84
22:45 Kivutarrr left #perl6
22:46 sorear jnthn: how does calling a code object from the compiler arrange to run PAST::Compiler?
22:47 bluescreen10 joined #perl6
22:49 lichtkind joined #perl6
22:49 jaldhar_ left #perl6
22:52 jaldhar_ joined #perl6
22:52 wolfman2000 joined #perl6
22:53 Mowah left #perl6
22:55 pmichaud > say (*+*)(4,5)
22:55 pmichaud 9
22:55 pmichaud > say 1,1,(*+*)...{$_ > 100}
22:55 pmichaud 1 1 2 3 5 8 13 21 34 55 89 144
22:55 pmichaud \o/
22:55 pmichaud jnthn++
22:55 jnthn pmichaud++
22:56 jnthn sorear: We stick a "thunk" in the $!do that knows to do that.
22:57 bitpart left #perl6
22:59 lichtkind pm can always be ++ed :)
23:01 lichtkind jnthn: o/
23:02 dalek rakudo/nom: 6a3bb07 | pmichaud++ | src/ (2 files):
23:02 dalek rakudo/nom: Restore whatever currying.
23:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6a3bb0752e
23:04 mikehh left #perl6
23:14 daniel-s joined #perl6
23:21 dalek rakudo/nom: 6885197 | jonathan++ | src/Perl6/Actions.pm:
23:21 dalek rakudo/nom: our and my scoped methods.
23:21 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6885197aa8
23:21 dalek rakudo/nom: c55e033 | jonathan++ | src/core/traits.pm:
23:21 dalek rakudo/nom: Stub in returns trait.
23:21 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c55e0337c7
23:21 dalek rakudo/nom: 91c3937 | jonathan++ | t/spectest.data:
23:21 dalek rakudo/nom: Two more passing tests.
23:21 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/91c3937ace
23:24 dalek rakudo/nom: f0b4aea | jonathan++ | / (2 files):
23:24 dalek rakudo/nom: Correct Code.ACCEPTS sig, winning another test file.
23:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f0b4aea23b
23:24 flatwhatson joined #perl6
23:26 prettyrobots left #perl6
23:31 prettyrobots joined #perl6
23:31 sorear hello, prettyrobots
23:32 prettyrobots hello
23:32 pernatiy left #perl6
23:32 sorear lue!
23:32 dalek niecza: 9850df9 | sorear++ | src/ (3 files):
23:32 dalek niecza: Refactor binds to improve error messages, implement @foo[5] := @foo[2] syntax
23:32 dalek niecza: review: https://github.com/sorear/niecza/commit/9850df9560
23:33 prettyrobots Looking forward to playing with Perl6. Need to fine an appropriate project.
23:33 pmichaud ...I'm going to be reviewing a lot of commits in the next two days, I see :)
23:33 jnthn pmichaud: oh? :)
23:33 sorear prettyrobots: heehee
23:33 tokuhirom joined #perl6
23:33 prettyrobots I'm doing all my development now in CoffeeScript.
23:34 sorear prettyrobots: I was planning to write an irc client in Perl6, but I wound up writing Perl6 instead...:)
23:34 prettyrobots So, I'm happy to use new languages.
23:34 prettyrobots Yeah, I don't have time for that kind of a commitment.
23:36 pmichaud afk for a bit -- break
23:39 dalek rakudo/nom: dc3f6cf | pmichaud++ | Test.pm:
23:39 dalek rakudo/nom: Make sure isa_ok properly reports the type object.
23:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/dc3f6cf281
23:39 dalek rakudo/nom: 4f6bb1c | pmichaud++ | src/core/Array.pm:
23:39 dalek rakudo/nom: Add Array.new().
23:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4f6bb1c251
23:39 dalek rakudo/nom: 16c2f0d | pmichaud++ | src/ (2 files):
23:39 dalek rakudo/nom: Clean up for -> map translation, add Parcel.item.
23:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/16c2f0d498
23:42 dalek roast: 2c98722 | sorear++ | S02-magicals/file_line.t:
23:42 dalek roast: Make $?FILE testing more tolerant of odd paths
23:42 dalek roast: review: https://github.com/perl6/roast/commit/2c98722c5d
23:42 dalek roast: 0ef3a04 | sorear++ | S03-operators/binding-arrays.t:
23:42 dalek roast: Fudge binding-arrays for Niecza and fix obsolete slurpy syntax
23:42 dalek roast: review: https://github.com/perl6/roast/commit/0ef3a04dc1
23:47 sorear rakudo: say { :a, :b }.Str.perl
23:47 p6eval rakudo b2bc99: OUTPUT«"a\tBool::True\nb\tBool::True\n"␤»
23:48 jnthn pmichaud: In S04-statements, no-implicit-block.t and return.t are both one test of passing, with some little list fixes.
23:55 jnthn OK, time for sleep &
23:55 dalek rakudo/nom: e6459bc | jonathan++ | src/Perl6/Actions.pm:
23:55 dalek rakudo/nom: Fix setting of PAST::Block.arity so if $foo -> $x { ... } style things work.
23:55 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e6459bc567
23:56 dalek niecza: 4024e22 | sorear++ | / (3 files):
23:56 dalek niecza: Add a bunch of binding tests to spectest.data
23:56 dalek niecza: review: https://github.com/sorear/niecza/commit/4024e229df

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

Perl 6 | Reference Documentation | Rakudo