Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-03-07

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:02 raydiak J-L: : so instead of $b ~= chr(66) you'll want $b[+*] = 66, or $b ~= Blob.new(66), (Blob is just immutable Buf) or if you're really intent on looking at bytes as characters, you could do $b ~= chr(66).decode
00:03 jercos m: say chr(0x2603).encode
00:03 camelia rakudo-moar 1b74e4: OUTPUT«utf8:0x<e2 98 83>␤»
00:03 jercos ;)
00:04 raydiak erm, right, encode not decode...I do that a lot
00:04 raydiak and jercos++ for demonstrating why you *shouldn't* :)
00:05 jercos I probably wouldn't have noticed that at all if not for my own habits of making the same mistake :)
00:05 jercos I suppose the question of if you *should* do that comes down to what you want to happen when something non-ASCII shows up...
00:05 jercos I uh, believe...
00:05 jercos m: say chr(0xAA).encode
00:05 camelia rakudo-moar 1b74e4: OUTPUT«utf8:0x<c2 aa>␤»
00:06 retupmoca m: say chr(0xAA).encode('latin-1')
00:06 camelia rakudo-moar 1b74e4: OUTPUT«Blob[uint8]:0x<aa>␤»
00:06 jercos m: say chr(0xF7).encode('latin-1')
00:06 camelia rakudo-moar 1b74e4: OUTPUT«Blob[uint8]:0x<f7>␤»
00:08 raydiak J-L: so, the point of treating binary as binary instead of strings, is that you don't get ^^^^^^ all that kinda stuff
00:08 jercos m: say chr(0xBA).encode('latin-1')
00:08 camelia rakudo-moar 1b74e4: OUTPUT«Blob[uint8]:0x<ba>␤»
00:08 TimToady you are supposed to be able to mixed string/buf ops as long as you limit yourself to ASCII, but we're not there yet
00:09 TimToady "abc" should know that it is allomorphically both a Str and an ascii blob
00:09 japhb .ask jnthn I've got a user of one of my very-concurrent r-j apps who is getting the "Unhandled exception in code scheduled on thread" error from src/core/Scheduler.pm.  How should I be starting my threads so that I can arrange to last-chance catch the exception?
00:09 yoleaux japhb: I'll pass your message to jnthn.
00:10 timotimo hmm
00:10 timotimo in the start { ... } you could have a CATCH?
00:10 timotimo but then there's a catch :P
00:10 japhb timotimo: That was going to be my fallback technique if there was no better option
00:11 timotimo mhm
00:11 timotimo hm, there's no catch thingie you cna put in?
00:11 J-L How do I encode a Str to Buf as just straight raw bytes?  And vice-versa?  (How do decode a Buf to Str as just straight bytes?)
00:11 J-L I tried using :raw, but I found anything works.
00:12 raydiak J-L: why are you intent on putting Str into this workflow?
00:12 japhb timotimo: Some of my 'start { }' expressions are in modules, and some are in the mainline.  If I end up having to add catch blocks all over, I would have to figure out some generic way for them to handle the error that will work for *all* of my concurrent programs, and integrate with whatever I do in each mainline.
00:13 timotimo in the scheduler there's an &.uncaught_handler
00:13 timotimo (is rw)
00:13 japhb But if there's some standard way to pass along a handler function, I can probably do that
00:13 japhb Hmmm, just replace that is what you're suggesting?
00:13 jercos CATCH { when 22 { say "Damned if you do..."; } }
00:13 J-L I'm used to reading in complicated binary files as one long string in Perl5, then picking apart that string and reporting what the data means.  (I do it often, despite the fact that I've been told you can't do that in Perl.)  However, I'm having trouble doing that in Perl6 with the differences between Str and Buf.
00:13 raydiak japhb: long story short, 'latin-1' encoding likely does what you're asking for, but what you're asking for is *not* what you want in P6
00:14 raydiak s/japhb/J-L/ :)
00:14 japhb .oO( Oh no!  I'm changing! )
00:14 retupmoca J-L: you probably just want to read in the complicated binary file as one large Buf
00:15 J-L In this script that I'm porting from p5 to p6, I'm composing one large string of binary data, then writing out to file.
00:15 raydiak J-L: b/c in P6 you can read, manipulate, and write, entirely on the level of bytes and numbers, no Str nor chr nor ord anywhere to be found unless you really *want* that
00:16 J-L raydiak:  Is there any sample code that does that?  My former p5 knowledge doesn't seem to translate very well.
00:16 raydiak J-L: just read in the whole thing with :bin so it gives you a buf instead of str, manipulate it like an array, and pass the buf back when writing
00:21 raydiak m: ~«".".IO.dir
00:21 camelia rakudo-moar 1b74e4: ( no output )
00:21 raydiak m: say ~«".".IO.dir
00:21 camelia rakudo-moar 1b74e4: OUTPUT«nqp-js rakudo-inst-2 ugexe-was-here evalbot test .viminfo rakudo-inst-1 rakudo-star-2015.01 .bashrc .ssh std mbox niecza p2 rakudo-star-2014.12.tar.gz .cpanm rakudo-inst bin rakudo2 rakudo-star-2015.02 perl5 rakudo-star-2014.12 p1 .local .perlbrew rakudo1 …»
00:21 raydiak m: say ~«".".IO.dir.grep: *.f
00:21 camelia rakudo-moar 1b74e4: OUTPUT«test .viminfo .bashrc mbox rakudo-star-2014.12.tar.gz rakudo-star-2015.01.tar.gz .bash_history rakudo-star-2015.02.tar.gz evalbot.log␤»
00:23 raydiak m: my $b = "test".IO.slurp: :bin; say $b[^5]; $b[2] = 0; say $b[^5]; # could write or spurt or whatever here, just using the $b directly
00:23 camelia rakudo-moar 1b74e4: OUTPUT«␤0 0 0␤»
00:23 J-L I'd like to look into that, Right now I gotta go, so I'll log off.  Thanks for all your help, everyone!
00:23 raydiak you're welcome!  later J-L
00:23 raydiak m: my $b = "test".IO.slurp: :bin; say $b[^5]; $b[2] = 123; say $b[^5];
00:23 camelia rakudo-moar 1b74e4: OUTPUT«␤0 0 123␤»
00:23 J-L Wait... what does the ^ in $b[^5] do?
00:23 raydiak it's a range constructor
00:24 raydiak in this case it means 0..4
00:24 raydiak aka 0..^5
00:24 J-L How would writing out a Buf work?
00:25 raydiak same way you write anything
00:25 raydiak e.g. spurt "filename", $b
00:25 J-L Is $b a Buf, though, or is it a Str?
00:25 raydiak it's a Buf
00:26 timotimo why can you slurp and IO? camelia is supposed to use the restricted setting ...
00:26 raydiak timotimo: maybe it's read-only? idk
00:26 raydiak nativecall works too, which could be bad to worse
00:26 timotimo hum
00:27 raydiak m: spurt "baz", Buf.new(^8)
00:27 camelia rakudo-moar 1b74e4: OUTPUT«spurt is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting:1␤  in sub spurt at src/RESTRICTED.setting:17␤  in block <unit> at /tmp/6vKKzweQvu:1␤␤»
00:27 J-L Okay, now I'm off for reals.  ;)  Again, thanks for all the help!
00:27 timotimo bye J-L
00:28 raydiak \o J-L
00:40 japhb m: sub uncaught_handler($exception) { say "Oops!" }; PROCESS::<$SCHEDULER> = ThreadPoolScheduler.new(:&uncaught_handler); say $*SCHEDULER.uncaught_handler.defined;
00:40 camelia rakudo-moar 1b74e4: OUTPUT«False␤»
00:40 japhb Wait, what? ^^^
00:41 timotimo i believe $*SCHEDULER gets initialized with PROCESS::<$SCHEDULER>
00:41 timotimo but if it's already created (maybe?) it wouldn't carry over
00:41 japhb It should *be* PROCESS::<$SCHEDULER>.
00:41 timotimo you can just $*SCHEDULER.uncaught_handler = ...
00:41 japhb Here, I can prove it:
00:42 japhb m: sub uncaught_handler($exception) { say "Oops!" }; PROCESS::<$SCHEDULER> = ThreadPoolScheduler.new(:&uncaught_handler, :max_threads(42)); say $*SCHEDULER.uncaught_handler.defined; say $*SCHEDULER.max_threads;
00:42 camelia rakudo-moar 1b74e4: OUTPUT«False␤42␤»
00:44 japhb m: sub uncaught_handler($exception) { say "Oops!" }; say ThreadPoolScheduler.new(:&uncaught_handler).uncaught_handler.defined;
00:44 camelia rakudo-moar 1b74e4: OUTPUT«False␤»
00:44 japhb m: sub uncaught_handler($exception) { say "Oops!" }; say Scheduler.new(:&uncaught_handler).uncaught_handler.defined;
00:44 camelia rakudo-moar 1b74e4: OUTPUT«Method 'cue' must be implemented by Scheduler because it is required by a role␤  in any compose_method_table at src/gen/m-Metamodel.nqp:2585␤  in any apply at src/gen/m-Metamodel.nqp:2595␤  in any compose at src/gen/m-Metamodel.nqp:2743␤  in any ma…»
00:45 japhb m: sub uncaught_handler($exception) { say "Oops!" }; class MyScheduler does Scheduler { method cue { say "Cued." }; method loads { 0 } }; say MyScheduler.new(:&uncaught_handler).uncaught_handler.defined;
00:45 camelia rakudo-moar 1b74e4: OUTPUT«True␤»
00:45 japhb m: sub uncaught_handler($exception) { say "Oops!" }; class MyScheduler does Scheduler { method cue { say "Cued." }; method loads { 0 }; submethod BUILD() { } }; say MyScheduler.new(:&uncaught_handler).uncaught_handler.defined;
00:45 camelia rakudo-moar 1b74e4: OUTPUT«False␤»
00:45 japhb Ah-ha!
00:46 japhb m: sub uncaught_handler($exception) { say "Oops!" }; class MyScheduler is Scheduler { method cue { say "Cued." }; method loads { 0 }; submethod BUILD() { } }; say MyScheduler.new(:&uncaught_handler).uncaught_handler.defined;
00:46 camelia rakudo-moar 1b74e4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/4uhSJpjv89␤Method 'cue' must be implemented by Scheduler because it is required by a role␤at /tmp/4uhSJpjv89:1␤------> ␤»
00:46 japhb OK, so no workaround there.
00:46 japhb But it's clearly the BUILD that's breaking it, though *why* I can't tell.
00:54 timotimo hmm
00:54 timotimo it has a custom BUILD, so perhaps it's not inheriting one from the role Scheduler that's mixed in?
00:55 raydiak it is the empty BUILD
00:55 timotimo so the BUILDALLPLAN should just put its &uncaught_handler in there?
00:56 laouji joined #perl6
00:56 timotimo well, i gotta go see my bed from aclose
00:56 raydiak g'night timotimo
01:00 japhb I would think it a rather bad thing if a class containing a BUILD fails to initialize attributes declared in roles it composes, but that seems to be what happens here.  :-(
01:01 raydiak japhb: remember if you define a BUILD, it disables all the default constructor argument processing...which is usually not usually a problem for your parents, because BUILDALL calls all of them in the inheritance chain...but it's a role, there is no inheritance chain...the empty BUILD in MyScheduler (which only inherits from Any and Mu) fails to initialize any of the attributes it composed into itself from
01:01 raydiak Schedular
01:01 raydiak iow a class can only have one BUILD *after* composition
01:05 japhb raydiak: I'm not arguing the current reality.  I'm saying that submethods, by their very nature, should be independent in roles as well as classes.  (They shouldn't be handled like methods, where the class method masks the role method, but rather role submethods should be essentially transparent to composing classes.)
01:05 skids joined #perl6
01:06 skids m: for qw(Bab Babb Babby Bbbbb) { $_ ~~ / <?before Bab <?!before <[ a b ]> > > || B <[ a b ]>* <?!after b> /; $/.gist.say }
01:06 camelia rakudo-moar 1b74e4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/64_n7U_zCx␤Undeclared names:␤    Bab used at line 1. Did you mean 'Bag'?␤    Babb used at line 1␤    Babby used at line 1␤    Bbbbb used at line 1␤Undeclared routine:␤    qw used at line 1␤␤»
01:06 japhb skids: < >, not qw()
01:06 skids m: for <Bab Babb Babby Bbbbb> { $_ ~~ / <?before Bab <?!before <[ a b ]> > > || B <[ a b ]>* <?!after b> /; $/.gist.say }
01:06 camelia rakudo-moar 1b74e4: OUTPUT«「Ba」␤「Ba」␤「Ba」␤「B」␤»
01:07 raydiak japhb: I'd like that too, in some form...I was more answering the "though *why* I can't tell"
01:09 japhb Oh, I was in a philosophical way (why does it work this way?), not literally (what is going on?)
01:09 japhb I can't English, sheesh.
01:09 raydiak ah, got it :)
01:10 raydiak as to how it *should* work precisely...not sure...I mean, how it works now if I understand, all the methods are copied into the class at compose time, far before any object's construction
01:11 geekosaur (is that like "...in a family way"? :p )
01:12 japhb Right.  I just think submethods should work more like chaining them or doing them in series, rather than just overwrite.
01:12 japhb geekosaur: :-)
01:12 japhb .oO( Pregnant with conception )
01:14 laouji joined #perl6
01:14 raydiak so I guess we could just walk the roles as well as the classes when calling BUILDs but isn't that kinda a bastardization of the idea of composition?
01:16 japhb submethods are kindof a bastardization (or special case, if you prefer) already ....
01:17 raydiak true, but it's by *limiting* them...*extending* roles to have ref-like semantics instead of just copying...idk, seems like it'd run into far more serious issues
01:18 raydiak though I'm not familiar enough with those internals to really have much intelligent to say about the implementation, I'm more trying to goad smarter people into joining the conversation :)
01:19 raydiak unfortunately, I gotta run for now... o/
01:20 bayprogrammer joined #perl6
01:21 ab5tract ciao raydiak
01:26 ruoso joined #perl6
01:33 bayprogrammer joined #perl6
01:33 skids https://github.com/skids/perl6sum/blob/master/lib/Sum/SHA.pm6#L97 Shows how to work around the role+BUILD limitations in a whacky hacky way, until some spec fairy comes andresolves them.
01:36 japhb skids: OH GOD THE HACK
01:36 skids Yeah.
01:37 skids Also my hacks around the crony problem are pretty ugly.
01:37 skids I would so like them to go away.
01:38 japhb crony problem?
01:39 skids When you diamond-compose a role, it's methods conflict with itself.
01:39 japhb ewww
01:42 skids https://github.com/skids/perl6sum/blob/master/lib/Sum.pm6#L578 ...which results in an even uglier set of hacks
01:43 b2gills m: say FatRat.new(1,3).base-repeating(10)
01:43 camelia rakudo-moar 1b74e4: OUTPUT«0. ???␤»
01:46 japhb m: await start { die "foo" }  # If this isn't an uncaught exception in a thread, what is?
01:46 camelia rakudo-moar 1b74e4: OUTPUT«===SORRY!===␤foo␤»
01:48 japhb The problem now is that I can't figure out what circumstances may have brought on the uncaught exception in the first place, nor how to test that my installed uncaught_handler actually does anything.
01:51 * japhb decides to work on something completely different, then gets stuck trying to decide which task to pull off the giant pile
01:57 laouji joined #perl6
02:07 ostomachion joined #perl6
02:08 * raydiak is extending Inline::Lua to repsect metatables wrt being able to call non-functions, index into non-tables, etc
02:09 raydiak tempted to eventually write a class which respects *all* the metatable stuff, like overloading math and comparison ops
02:14 * raydiak is thankful that the diamond composition thing came up right before he ran into the same issue
02:20 Osto joined #perl6
02:32 kaare__ joined #perl6
03:06 raydiak did not realize that invoke is another magical name we've taken, to back postcircumfix:<( )>
03:09 * raydiak is having difficulties with all these method names you have to expose for rakudo to treat your objects in certain ways, and still provide a user-oriented interface which has it's own set of short well-named methods
03:10 raydiak I guess that's what you get when you want an object to act like a hash, array, object, and sub, simultaneously
03:11 raydiak not to mention wanting to expose all of the methods on the object it's actually wrapping, if any
03:12 raydiak sorta wish there was a way to expose one API to rakudo's internals, and another to the rest of the world, or something...like a namespace of sorts, but for methods
03:13 raydiak though I guess we cuold just do it with obnoxious method names if we wanted...like "method RAKUDO-at_pos"
03:18 Patterner joined #perl6
03:21 yeahnoob joined #perl6
03:22 laouji joined #perl6
03:28 laouji joined #perl6
03:29 noganex_ joined #perl6
03:34 kaare__ joined #perl6
03:37 raiph joined #perl6
03:45 raydiak dunno if anyone is around, but...need 2 words for Inline::Lua's public API, 1 for calling a method and the other for calling a function; if "invoke" is one of them, it must go to the function...but calling a method with "call" and a function with "invoke" has the opposite english connotation at least to me
03:46 raydiak also would like to avoid just plain nouns like "method" and "function" as method names unless it's a getter, which this isn't (at least not necessarily)
03:46 raydiak could use .dispatch for a method call I guess
03:47 raydiak assuming that doesn't have internal rakudo magicalness too :P
04:00 laouji joined #perl6
04:18 raydiak heh just called inline::lua -> rakudo -> nqp -> moar -> nativecall -> luajit -> ffi -> printf :)
04:19 raydiak and with that, I'll stop talking to myself in public again...
04:39 MilkmanDan joined #perl6
04:39 MilkmanDan joined #perl6
04:48 aborazmeh joined #perl6
04:48 aborazmeh joined #perl6
05:14 rhr joined #perl6
05:28 Mouq m: say Cool.^methods(:all)».name.grep(/dispatch/) # raydiak :P
05:28 camelia rakudo-moar 1b74e4: OUTPUT«dispatch:<var> dispatch:<::> dispatch:<!> dispatch:<.^> dispatch:<.=> dispatch:<.?> dispatch:<.+> dispatch:<.*> dispatch:<hyper>␤»
05:29 Mouq I think there was a motion by TimToady++ to have at_pos/at_key/invoke et al. become AT_POS/AT_KEY/INVOKE ET AL.
05:33 Mouq I kind of feel that we should have a general get_pos/get_key method that covers all of {at,assign,bind}_pos/_key… although that effect can be accomplished (AFAIK) by adding a multi postcircumfix:<[ ]>(MyClass $, Int $pos, \assignee?, *%keys)
05:34 lsm01 joined #perl6
05:36 Mouq Also, I really like the "method @.[@pos] { }", "method &.(|call) { }", "method %.{$key} { }" sugar we had planned before the subifying of the various postcircumfixes… perhaps they could either be reimplemented as sugars for subs or implemented as sugars for invoke and *_pos/key
05:38 Mouq m: class Don'tUseThisYet { method &.(|args) { say args.perl } }; Don'tUseThisYet(15, "foo"); say Don'tUseThisYet.^methods
05:38 camelia rakudo-moar 1b74e4: OUTPUT«Capture.new(list => (15, "foo",))␤postcircumfix:<( )>␤»
05:38 Mouq We really need to deprecate postcircumfix:<( )>
05:39 Mouq I wasn't really sure how
05:48 raydiak oh please PLEASE all-caps the rakudo-facing methods! :P  maybe with the lowercase ones pointing to the uppercase ones unless you override them
05:48 raydiak and thanks Mouq++, you mentioned a few things I didn't know
05:48 raydiak I remembered there was another syntax for it, but couldn't find it in the design docs
05:49 raydiak but I don't think a "dispatch" sub conflitcs with the dispatch syntactic category, does it?
05:49 raydiak s/sub/method/
05:51 raydiak but yeah supporting array, hash, function, object, all on one class is leaving me with fewer and fewer method names to the point where I allow a couple ways just around that problem
05:53 raydiak and am planning another one in the form of a slang or something similar
05:55 davido_ joined #perl6
05:56 raydiak maybe just export a special postfix for lua method call
06:01 davido__ joined #perl6
06:07 Mouq raydiak: Nah, dispatch on it's own should be fine. dispatch and dispatch:foo are different names
06:08 Mouq m: sub infix($, $) { say "ok" }; infix 1, 2
06:08 camelia rakudo-moar 1b74e4: OUTPUT«ok␤»
06:09 raydiak good cuz I already pushed :)  seemed to pass the few tests, so...
06:09 * Mouq is happily surprised that doesn't wrongly blow up
06:10 raydiak postfix:<£> would be neat for a lua method call
06:10 gfldex joined #perl6
06:11 raydiak or...infix?  or...maybe I do need a slang to do that
06:12 raydiak anyway, I don't know so much about those things, so that can wait until it's more functionally complete
06:15 laouji joined #perl6
06:19 mr-fooba_ joined #perl6
06:21 robinsmidsrod joined #perl6
06:30 krish_ joined #perl6
06:32 krish_ left #perl6
06:44 aborazmeh joined #perl6
06:44 aborazmeh joined #perl6
06:51 wicope joined #perl6
06:58 robinsmidsrod joined #perl6
06:58 telex joined #perl6
06:59 rindolf joined #perl6
07:07 xfix joined #perl6
07:16 laouji joined #perl6
07:27 moritz \o
07:28 moritz .tell azawawi your modules ncurses and net-curl declare a dependency on NativeCall, but that is now shipped with rakudo. Please remove it from the deps
07:28 yoleaux moritz: I'll pass your message to azawawi.
07:29 moritz .tell dagurval your module perl6-gd-raw  declares a dependency on NativeCall, but that is now shipped with rakudo. Please remove it from the deps
07:29 yoleaux moritz: I'll pass your message to dagurval.
07:29 moritz .tell grondiulu your module openssl declares a dependency on NativeCall, but that is now shipped with rakudo. Please remove it from the deps
07:29 yoleaux moritz: I'll pass your message to grondiulu.
07:38 Ven joined #perl6
08:00 integral joined #perl6
08:00 integral joined #perl6
08:02 raydiak morning moritz
08:10 prime joined #perl6
08:10 prime joined #perl6
08:13 isBEKaml joined #perl6
08:14 darutoko joined #perl6
08:15 pmurias joined #perl6
08:15 pmurias re dependency on NativeCall wouldn't it have been better if we just made panda recognize rakudo ships NativeCall instead of removing it as a dependency?
08:15 pmurias it's propably too late for that
08:16 pmurias (keeping the dependency)
08:20 raydiak is there a way to get a list of modules which the running rakudo provides internally?
08:22 raydiak it probably is too late for NativeCall, but there's no reason to think we won't have other module move in or even out of core over the years
08:22 raydiak *modules
08:25 Cpiral joined #perl6
08:27 Sqirrel joined #perl6
08:28 Rounin joined #perl6
08:36 Cpiral joined #perl6
08:38 pmurias we should try to make coreness easily reversable
08:40 Cpiral :ju
08:41 pmurias vim?
08:49 raydiak m: say @*INC[0].candidates: "NativeCall" # a check along these lines in panda?
08:49 camelia rakudo-moar 1b74e4: OUTPUT«NativeCall:/home/camelia/rakudo-inst-1/languages/perl6/lib/NativeCall.pm␤»
09:00 raydiak g'night #perl6
09:00 Woodi joined #perl6
09:05 laouji joined #perl6
09:17 nine_ .tell PerlJam muraiki's segfault was caused by PERLINC pointing to modules for a different perl version. I guess your case is different?
09:17 yoleaux nine_: I'll pass your message to PerlJam.
09:18 coffee` joined #perl6
09:27 virtualsue joined #perl6
09:47 laouji joined #perl6
09:55 diana_olhovik_ joined #perl6
09:59 eli-se joined #perl6
10:04 espadrine joined #perl6
10:09 eli-se hi
10:10 espadrine_ joined #perl6
10:12 virtualsue joined #perl6
10:12 timotimo o/
10:18 [Sno] joined #perl6
10:21 [Tux] nine_, need further help or info?
10:21 [Tux] on Inline::Perl5 with Text::CSV_XS that is
10:26 masak antenoon, #perl6
10:33 perl6_newbee joined #perl6
10:38 jnthn o/
10:38 yoleaux 00:09Z <japhb> jnthn: I've got a user of one of my very-concurrent r-j apps who is getting the "Unhandled exception in code scheduled on thread" error from src/core/Scheduler.pm.  How should I be starting my threads so that I can arrange to last-chance catch the exception?
10:39 jnthn .tell japhb $*SCHEDULER.uncaught_handler = -> $ex { #`( do something ) }
10:39 yoleaux jnthn: I'll pass your message to japhb.
10:40 timotimo i tried to tell him that, but there's another problem ...
10:42 rurban joined #perl6
10:58 virtualsue joined #perl6
11:10 spider-mario joined #perl6
11:21 Ven joined #perl6
11:28 dalek rakudo/nom: b497d41 | lizmat++ | src/Perl6/Actions.nqp:
11:28 dalek rakudo/nom: Unbreak build on JVM
11:28 dalek rakudo/nom:
11:28 dalek rakudo/nom: Apparently, you cannot nqp::bool a null on JVM
11:28 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b497d416b3
11:29 jnthn lizmat++
11:29 amaliapomian joined #perl6
11:31 lizmat .tell donaldh seems like I fixed the JVM build
11:31 yoleaux lizmat: I'll pass your message to donaldh.
11:44 kjs_ joined #perl6
11:46 Ven joined #perl6
11:51 aborazmeh joined #perl6
11:51 aborazmeh joined #perl6
11:55 cognominal joined #perl6
11:56 anaeem1 joined #perl6
11:57 sqirrel_ joined #perl6
12:02 aborazmeh joined #perl6
12:02 aborazmeh joined #perl6
12:13 FROGGS joined #perl6
12:15 FROGGS o/
12:25 Ugator joined #perl6
12:30 Ugator Hi perl6
12:30 Ugator I try to build perl6 on an IBM-system. I downloaded everything via «git clone git://github.com/rakudo/rakudo.git» then I tried «perl Configure.pl --gen-moar --backends=moar» but it says:
12:30 Ugator ATTENTION: no --prefix supplied, building and installing to /pf/b/b380272/perl6/rakudo/install
12:30 Ugator sh: /pf/b/b380272/perl6/rakudo/install/bin/nqp-m:  not found.
12:30 Ugator Initialized empty Git repository in /pf/b/b380272/perl6/rakudo/nqp/.git/
12:30 Ugator error: SSL certificate problem, verify that the CA cert is OK. Details:
12:30 Ugator error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed while accessing https://github.com/perl6/nqp.git/info/refs
12:30 Ugator fatal: HTTP request failed
12:30 Ugator Command failed (status 32768): git clone https://github.com/perl6/nqp.git nqp
12:30 Ugator any pointers?
12:32 timotimo you can "git clone git://github.com/perl6/nqp.git" and also "git clone git://github.com/moarvm/moarvm.git"
12:34 Ugator so I create a .../rakudo/nqp and try "git clone git://github.com/perl6/nqp.git"?
12:34 anaeem1 joined #perl6
12:34 moritz Ugator: git clone will create the nqp/ dir for you
12:34 Ugator ah ok :) Ill try that
12:50 anaeem1 joined #perl6
12:50 eli-se joined #perl6
12:53 eli-se hi
13:01 diana_olhovik_ joined #perl6
13:03 Ugator somehow the configured git-commands wont work here :( I try to build moarvm and it fails:
13:03 Ugator Updating submodules .................................... FAIL
13:03 Ugator git error: error: SSL certificate problem, verify that the CA cert is OK. Details:
13:03 Ugator error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed while accessing https://github.com/MoarVM/dynasm.git/info/refs
13:03 Ugator fatal: HTTP request failed
13:03 Ugator Initialized empty Git repository in /pf/b/b380272/perl6/rakudo/moarvm/3rdparty/dynasm/.git/
13:03 Ugator Clone of 'https://github.com/MoarVM/dynasm.git' into submodule path '3rdparty/dynasm' failed
13:03 Ugator git has version 1.6.4 here, is that too old maybe? when I try to access with my browser https://github...dynasm.git I get a deprecated warning :/
13:04 Ugator so is there an offline version of perl6?
13:04 moritz Ugator: you can download the rakudo star tarball
13:05 Ugator okay... I'll try that
13:05 moritz just a sec
13:05 moritz http://rakudo.org/downloads/star/
13:07 Ugator thanks (-:
13:20 skids Possible alternative idea for role BUILD problem: instead of keeping/calling all submethods a) don't allow identical proto submethods to conflict so roles can force other submethods to multis and b) call all multi candidates of submethod BUILD in some composition-defined order.  Then roles just define 'multi submethod build'.
13:21 skids *BUILD
13:23 timotimo are submodules really supposed to be mixed into classes when roles apply to them?
13:23 masak waitwait
13:23 skids submodules?
13:23 masak "submodules" is a Git thing.
13:24 eli-se joined #perl6
13:24 moritz submethods
13:24 masak oh phew
13:24 timotimo submethods, yes
13:24 masak so a submethod from a role?
13:24 masak yes, I think so.
13:24 masak since even private attrs mix in. why not submethods.
13:24 * skids trawls synopsis.
13:24 timotimo mhm
13:25 timotimo ok, so how do submethods handle conflicting definitions
13:25 masak onlys collide immediately.
13:25 jnthn Same rules as normal methods at present.
13:25 masak multis may or may not collide at runtime.
13:25 skids Yeah it's raosted as such.
13:25 jnthn The only thing being a submethod gets you really is differnet dispatch rules.
13:26 masak more philosophically, submethods say that they don't participate in inheritance. but that's OK, because roles work by composition.
13:27 jnthn Nicely put
13:27 * masak drops mic
13:27 jnthn The thing is that some common uses of submethods lead to struggles with composition.
13:31 skids maybe a generic "stackmethod" contruct that is specced to stack up in a chain/tree on both roles and classes?
13:31 masak I'd be wary of introducing any such layering wrt roles.
13:31 masak cf Ovid's comments on role commutativity and associativity.
13:32 masak introducing layering would be counter to that.
13:32 skids Yeah run anything by Ovid first for sure.
13:32 skids Maybe ask Ovid what to do :-)
13:32 masak well, except that this idea is obviously diametrically opposed to what he's suggesting
13:34 skids He might have a nice out-of-the-box opinion on how to solve the problem then :-)
13:37 * colomon kind of lost track of the debate (sorry) but still worries that Ovid is very far off from p6 O-O
13:41 skids Well, he's obviously got some experience with big-codebase-maintainability so it's good to draw on experience.
13:41 masak I'm not so sure of that. his concerns had less to do with "how we do it here in Perl 6" and more to do with what causes real-life headaches in development due to big effects from small changes.
13:41 masak notable small changes that *one doesn't expect should change the program*.
13:41 masak like changing the order of imports.
13:42 masak well, hrm. changing the order of imports in general does create different results. but one wouldn't expect *roles* to cause that.
13:42 masak at least I wouldn't.
13:42 smls joined #perl6
13:42 skids yeah roles are supposed to be "throw it all in a big bucket and don't worry"
13:43 masak right.
13:43 masak and that's basically what his commutativity/associativity message is all about.
13:43 smls m: say IO("test")
13:43 camelia rakudo-moar b497d4: OUTPUT«Cannot invoke this object (REPR: Uninstantiable, cs = 0)␤  in block <unit> at /tmp/5PaoQLj7HT:1␤␤»
13:43 smls ^^shouldn't this work the same as "test".IO ?
13:44 colomon changing the order of roles included does not change anything
13:44 skids So the problem would really boild down to ensuring what is in the BUILDs cannot care about the excution order of the BUILDs.
13:44 colomon changing the ordering of role inheritance changes everything, and should
13:46 colomon so role A; role B; class C does A does B should be the same as class C does B does A
13:47 colomon but role A; role B does A; class C does B is not at all the same as role B; role A does B; class C does A
13:47 colomon nor should it be
13:52 skids Not so sure I get that from reading S14.
13:52 masak colomon: I'm curious where you get that "should" from.
13:53 colomon masak: consider p6 math
13:53 skids (and there's no such things a "role inheritance" IIRC)
13:53 colomon skids: our numeric types depend on role inheritance
13:54 skids Howso?
13:54 prime joined #perl6
13:54 colomon role Real does Numeric, for instance
13:54 timotimo Bridge and stuff
13:54 timotimo there is role inheritance
13:54 timotimo yeah
13:54 skids The spec calls that composition not inheritance.
13:55 * masak has never quite understood what Bridge is, nor why it needs to be among the numeric types
13:55 skids "A role may not inherit from a class, but may be composed of other roles.  However, this "crony" composition is not evaluated until class  composition time"
13:55 moritz m: Bridge
13:55 camelia rakudo-moar b497d4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/SEcBp8jZ0g␤Undeclared name:␤    Bridge used at line 1␤␤»
13:57 colomon forget Bridge, Real and Numeric are more than sufficient to talk about this
13:57 moritz iirc Bridge is just a method name
13:58 timotimo yes, sorry
13:58 colomon So Numeric has a method log
13:58 colomon and Real does Numeric
13:59 colomon and also has a method log, which is more specific than the Numeric version
13:59 colomon this works fine in rakudo, and makes perfectly good sense
13:59 colomon but even more generally
14:00 colomon it’s perfectly clear that anything which does Real must also do Numeric
14:00 colomon it is completely wrong that anything which does Numeric must also do Real
14:00 masak colomon: did you follow the 'claim' keyword discussion? because it sounds relevant to what you're saying.
14:00 masak colomon: sounds like Real claims Numeric's .log method.
14:01 colomon masak: nope, that’s the first time I’ve heard of it
14:01 masak I could dig you out the relevant backlog.
14:01 masak I think that's the resolution to what you consider problematic, at least with this particular case.
14:01 masak there's a Rakudo branch 'claim-prototype'. I think I can find the backlog from the commit dates in that.
14:02 nine_ |Tux|: no, just meed time. Family weekend
14:02 skids This works because "A role that brings in two conflicting crony roles may resolve them as if it were a class."
14:02 skids Though without the second crony in this case.
14:03 masak colomon: http://irclog.perlgeek.de/perl6/2015-01-20#i_9975733 and surroundings. (the day after that, the branch was created.)
14:04 masak hm -- coming back to that topic, my immediate question is this: does `nextsame` interact with `claim`? (i.e. can you `nextsame` et al. to the overridden method from the new one?)
14:04 masak seems to me that could be a good thing.
14:07 skids But anyway that does prove the role A does B versus role B does A point colomon++ brought up.
14:07 masak in the presence of `claim`, sure.
14:07 skids No, even without claim.
14:07 skids (see above)
14:08 colomon yeah, claim is just added syntax to reinforce the idea that role A does B means something completely different from role B does A
14:08 colomon :)
14:08 masak I think if we ever actually get `claim`, then the situation with .log would be an outright collision.
14:08 masak at least unless I'm missing something.
14:09 skids I thought claim was more something to deal with more esoteric class/role overrides.
14:09 colomon I’m assuming so as well
14:09 colomon (outright collision, I mean)
14:09 masak skids: `claim` is only for overrides between roles.
14:09 masak colomon: data point for that: jnthn++ who implemented `claim` in that branch reported a lot of collisions in the setting. and fixed them, AFAIK. in the branch.
14:10 colomon no doubt
14:10 colomon actually, now I’m having doubts about claim
14:10 masak haven't checked more closely, but I bet the branch is interesting reading.
14:11 colomon going back to numbers for a sec
14:11 colomon (and this probably isn’t an actual example, but you’ll see what I mean)
14:11 colomon role Rational does role Real (which does role Num)
14:12 masak Numeric, surely?
14:12 colomon right, Numeric
14:12 colomon it would be perfectly sensible for Rational to also “claim” log if it had a rational-specific version
14:12 masak right; sure.
14:13 colomon but if we treat role inheritance as a set rather than something ordered, now we’ve got two different roles claiming log
14:13 colomon and that also should be a conflict
14:13 colomon shouldn’t it?
14:13 masak I don't think so.
14:13 masak I can see situations where it can go wrong.
14:14 masak but not here -- because Rational is somehow "most dervied"
14:14 masak a concept which I think applies to roles even though we're not doing inheritance
14:14 colomon but the point to “no inheritance in roles” (as I understand the concept) is there is no “most derived”
14:15 masak before composition there is still a relation saying who does who
14:15 masak that's not inheritance -- that's just information that's about to be flattened out in the composition
14:15 masak but I don't see it as wrong to act on that information as long as it's still around
14:15 colomon but if you have that, you don’t need claim for anything other than providing information to people who read the code.
14:16 colomon it’s just taken the “problem” from before and added another layer to it
14:16 colomon so before, the most derived log won
14:16 colomon now, the most derived claimed log wins
14:16 skids 'claim' was initialliy considered as 'exclude' to say 'we do everything from role A which we composed but not this method, which we may or may not actually provide'
14:16 masak I think that's the purpose of `claim` -- to make explicit the fact that the role is overriding something from another role
14:17 colomon the issues are exactly the same, just punted down one level
14:17 masak another way of saying that is, we now handle more use cases. a few very weird ones still error out.
14:18 colomon I don’t see that at all
14:18 colomon we used to handle more use cases
14:19 colomon this isn’t anti-claim, mind you — it still might be a good idea just to “make explicit” what is going on
14:20 colomon but at best it’s just sorting out really shallow issues.
14:20 masak I'm sorry, I seem to have a too-small brain on today. I can't see what you find worrying without a really concrete example... like, say, in a gist.
14:20 colomon and there will be plenty of big, real-world cases that are still confusing.
14:21 skids It might work to explicitly say which of the other roles in the flat set you override a method from.  But there's no syntax for it (especially WRT parametrics)
14:23 * colomon opens up wordpress
14:25 masak ++colomon
14:27 skids (and just getting the claim/override things resolved to remove ordering dependencies doesn't get us closer to a role/BUILD resolution)
14:31 timotimo colomon: you bloggin? about what? :)
14:32 colomon timotimo: backlog, my friend
14:32 timotimo so much
14:33 coffee` joined #perl6
14:38 timotimo about claim?
14:38 colomon timotimo: yes
14:38 timotimo ok
14:40 skids Were there something like the "stackmethod" idea it would also need syntax to say explcitly 'run role A's method before mine' and then all those directives would have to be checked for conflicts/loops.
14:41 skids And then there is the issue that sometimes if you say "claim foo from A" depending on the use case if A is not in the set that could be an error, or a noop.
14:43 Ugator :( installation still not working here. I'm trying to build moarvm:
14:43 Ugator Configuring 3rdparty libs .............................. FAIL
14:43 Ugator no idea how to build '3rdparty/libuv/libuv.a'
14:43 Ugator I'm not supposed to build libuv by myself, right?
14:44 skids I guess that could be indicated by whether or not the claiming role has a line up to A in the not-really-inheritance tree.
14:44 jnthn Ugator: What platform are you trying to build on?
14:45 Ugator aix - thats an IBM-machine
14:45 Ugator powerpc-ibm-aix6.1.0.0 to be precise
14:46 Ugator cc compiler is available
14:52 jnthn Ugator: Is there a (maybe packaged) system libuv build available? I think there's a Configure flag that lets you use that if so
14:52 Ugator Ill check...
14:53 jnthn Ugator: Otherwise, I'm not immediately sure. I know there's code in the libuv repo that relates to aix..
14:55 rmgk_ joined #perl6
14:57 jnthn Ugator: The "no idea how to build" error comes from MoarVM's Configure script, rather than libuv itself, so there's some hope for this to work with some Configure patch. Sadly, I don't personally know anything useful about aix. :(
14:58 Ugator okay - thanks, Ill try to investigate...
15:00 virtualsue joined #perl6
15:01 perl6_newbee hi all. How can I transform the content of a Buf into binary data in order to write them into a file?
15:01 skids It already is.
15:02 perl6_newbee hmm
15:02 perl6_newbee But the content of the file starts with: Buf:0x<89 50 4e 47 0d 0a 1a 0a 00 00 00
15:02 jnthn $fh.write($the_buf)
15:03 perl6_newbee oh I used say... thanks once more
15:04 perl6_newbee and say prints .gis that in turn is a string...
15:04 perl6_newbee Facebalm
15:05 jnthn .oO( I'd heard of lipblam, but... )
15:05 skids You don't get to take the _newbee off quite yet I am afraid :-)
15:05 jnthn *balm :)
15:06 perl6_newbee skids: I think the same...
15:06 perl6_newbee :-)
15:06 perl6_newbee facepalm ...
15:06 Ben_Goldberg joined #perl6
15:07 perl6_newbee not only a perl6 newbee also an English newbee
15:08 skids .oO(lipblam sounds painful)
15:08 marchelzo_ joined #perl6
15:10 * timotimo profiles the run of an xml parse ...
15:10 timotimo 69.15user 0.21system 1:09.40elapsed 99%CPU (0avgtext+0avgdata 709440maxresident)k
15:11 marchelzo_ Hi. I'm on OS X. What is the easiest way to get perl6 up and running on my machine
15:13 jnthn If you want to be on the bleeding edge, https://github.com/tadzik/rakudobrew and if you want the latest release grab the latest tarball from http://rakudo.org/downloads/star/
15:13 timotimo run_alt has 13.26% exclusive time, interesting
15:13 jnthn I think there may be some other option (portfile?), somebody else may know about that :)
15:13 [particle] joined #perl6
15:14 jnthn timotimo: Very LTM :)
15:14 marchelzo_ jnthn: Cool. Is the bleeding edge relatively stable, or should I stick to the latest tarball if I want a stable experience?
15:14 skids Nothing is horribly broken at the moment IIRC.
15:15 timotimo unsurprisingly, the second place is taken by ListIter's reify method ... >_>
15:15 timotimo (because i also happen to grep through the nodes and >>.name.perl.say
15:15 jnthn marchelzo_: We try to keep it pretty stable; we do time-based releases, so don't like to diverge very far from the main branch being something releasable :)
15:15 timotimo next is List's gimme method
15:16 timotimo 22396938 allocations of BOOTCode
15:16 timotimo 15339473 Scalar
15:16 timotimo 3410547 XML::Grammar
15:16 timotimo 3393397 BOOTIntArray
15:17 * jnthn is a bit curious about the first of those
15:17 marchelzo_ Ok. Forgive me if this is a stupid question, but what is Rakudo and what is its relation to perl.org / the perl foundation?
15:17 timotimo BUILDALL of Mu gets 5387610 BOOTCode allocations
15:17 skids rakudo is one implementation of Perl 6
15:18 skids And the primary one for development at this time.
15:18 timotimo Cursor's INTERPOLATE gets 2085744 BOOTCode allocations
15:18 timotimo another 1824924 come from Cursor's MATCH
15:19 timotimo and another 1684562 in MATCH
15:19 marchelzo_ skids: I see. When perl6 is "done", will it be available at perl.org?
15:19 timotimo and another 1613188 in MATCH
15:19 skids perl.org isn't really a distro site as far as I know.
15:20 skids But the releases promised lately will be rakudo-based, almost certainly.
15:20 timotimo and more in INTERPOLATE ... so basically loads and loads of allocations of BOOTCode inside the Cursor methods
15:20 marchelzo_ I see. Thank you.
15:20 jnthn marchelzo_: Think of it a bit like the relationship between C and clang/gcc/msvc.
15:21 jnthn timotimo: Any chance you can get a cut-down version of this into perl6-bench if it ain't there already?
15:21 timotimo INTERPOLATE also wins in scalar allocations against gimme, reify, then MATCH
15:22 timotimo it's a big data file, but that data file is publically available; it's the opengl api specification
15:23 jnthn Interpolate is not the fastest thing...
15:23 jnthn timotimo: Got a link to the grammar?
15:24 timotimo it's just https://github.com/supernovus/exemel/
15:24 timotimo Of 62459049 specialized or JIT-compiled frames, there were 2701839 deoptimizations (that's 4.33% of all optimized frames).
15:24 timotimo ^- so wow
15:25 timotimo parse-node has 30k deopts, MATCH has 15k
15:27 jnthn I suspect some of the slowness is due to https://github.com/supernovus/exemel/blob/master/lib/XML/Grammar.pm6#L25
15:29 timotimo ah
15:30 Ugator .seen nwc10
15:30 yoleaux I saw nwc10 6 Mar 2015 20:45Z in #perl6: <nwc10> how is Damian?
15:31 timotimo what is STOPPER for, i wonder ... /me greps
15:31 timotimo ah, this nibbles?
15:32 Ugator nwc10: I heard you got/tried to get perl6 working an an aix machine? any success?
15:32 colomon https://justrakudoit.wordpress.com/2015/03/07/role-inheritance/
15:36 jnthn timotimo: Yeah. It's a very pretty solution, but causes a lot of (not so fast) interpolation.
15:43 [particle] joined #perl6
15:45 Ugator .tell nwc10: I heard you got/tried to get perl6 working an an aix machine? any success?
15:45 yoleaux Ugator: What kind of a name is "nwc10:"?!
15:45 Ugator .tell nwc10 I heard you got/tried to get perl6 working an an aix machine? any success?
15:45 yoleaux Ugator: I'll pass your message to nwc10.
16:01 nine_ raydiak: still catching up with the backlog. I try to be consistent with the use of "call" for functions and "invoke" for methods in my Inline modules.
16:14 raiph joined #perl6
16:23 MadcapJake joined #perl6
16:24 timotimo jnthn: i made a "simplification", hopefully that'll improve things a little bit
16:28 timotimo i'm not actually sure if i really made it better ... but it went from 1:17 to 1:09
16:32 timotimo Of 62459049 specialized or JIT-compiled frames, there were 2701839 deoptimizations (that's 4.33% of all optimized frames).
16:32 timotimo Of 52946393 specialized or JIT-compiled frames, there were 1554781 deoptimizations (that's 2.94% of all optimized frames).
16:32 timotimo that seems like a nice improvement
16:32 timotimo (although deopts are very cheap to do)
16:33 eli-se joined #perl6
16:33 eli-se hola
16:34 timotimo all deopts inside src/gen/m-CORE.setting:15382 and char:sym<common> are gone, though \o/
16:34 timotimo hello eli-se!
16:35 timotimo 1195 GCs -> 999 GCs, whee
16:36 Ven nice :)
16:36 masak hi eli-se
16:37 timotimo jnthn: char:sym<common> only used to take 12.46% inclusive, but now it's taking only 4.53% inclusive
16:37 timotimo it was quite a good spot :)
16:37 jnthn :)
16:37 jnthn timotimo++ # turning my spot into a patch
16:38 timotimo run_alt is at 14.6% now
16:39 colomon \o/
16:39 timotimo used to be 13.26%, but time-wise it decreased
16:41 raydiak nine_: are you aware of the magical meaning of "invoke" in rakudo? it is the reason I cannot follow your example in this case
16:41 raydiak relatedly...'mornin all
16:41 timotimo mornin' raydiak!
16:42 timotimo it feels like i just read you write your good-night :)
16:42 raydiak heh hi timo :)
16:43 raydiak yeah feels that way to me too...though I assume that's because I wasn't concious of time passing when I was unconcsious
16:43 timotimo :D
16:43 geekosaur mbn
16:44 geekosaur (lucid dreaming is less effective sleep, sigh)
16:44 nine_ raydiak: Unfortunately I've been wondering the same thing. I don't know anymore how knew that I had to add a method invoke and I don't seem to have documented it in the commit message...
16:45 raydiak geekosaur: sorry to hear it...that...didn't work out too well for me, so I try not to flip those switches if I can help it
16:45 nine_ raydiak: maybe we can find it in the IRC log
16:48 raydiak nine_: basically I have problems b/c a lua object can act like a table or function or etc when it isn't...so I need "invoke" to do what rakudo needs it to (call as a function), but I need a different method for calling methods as if the object were a table, and I need to support these uses and more on the exact same object
16:49 nine_ raydiak: what's a "table" in this context?
16:49 raydiak so I can't call the method call "invoke", because it needs to be the thing that gets called for postcircumfix:<( )>
16:50 raydiak a table in lua represents objects and arrays and hashes
16:50 raydiak generally
16:51 rurban joined #perl6
16:52 b2gills m: my $a = 1/3; say $a.base-repeating(10); say $a.FatRat.base-repeating(10);
16:52 camelia rakudo-moar b497d4: OUTPUT«0. 3␤0. ???␤»
16:52 mraynham joined #perl6
16:53 raydiak but if any lua object (table, function, userdata, thread) has a metatable, it can be called, indexed/subscripted, concatenated, or respond to numeric ops and comparisons
16:53 timotimo C printf has no letter for "i want to have this number printed to base2"?
16:54 geekosaur nope
16:54 zakharyas joined #perl6
16:56 timotimo hum.
16:58 raydiak nine_: to put it a simpler way, I need to support "$luaobj()" and "$luaobj.invoke()" on the same object and have it mean different things, so I renamed invoke to "dispatch"
16:58 nine_ raydiak: I guess invoke-as-method or the like would just not be usable
17:00 raydiak nine_: no I'd prefer not to inflict that on my users :)
17:00 nine_ raydiak: I guess it depends on how common such calls are
17:00 raydiak nine_: method calls?
17:01 nine_ raydiak: are normal methods not called like $luaobj.whatever_method_you_want_to_invoke()?
17:02 raydiak nine_: only the ones that aren't masked out by the dozens of methods my objects already have to provide to act in all those different ways at the same time
17:04 raydiak nine_: I could additionally allow .invoke :method to give us some vague notion of consistency, since lua doesn't have named arguments anyway
17:05 mraynham Hi. I started to look at Perl 6 yesterday, and found the "How to get Rakudo Perl 6" page on rakudo.org a bit confusing. PerlJam kindly set me up as an editor on the site so that I could make some changes.  Rather than making lots of newbie mistakes on the live page, I've put my work-in-progress into a GitHub gist: https://gist.github.com/mikeraynham/8c9a4a211a4d5cf6190c
17:05 mraynham Comments and suggestions are welcome...
17:06 raydiak nine_: but e.g. if someone wants to do something as simple as calling .new on the lua object instead of perl...that doesn't work with any of our Inline::* modules, does it?
17:07 nine_ raydiak: true
17:09 rindolf joined #perl6
17:10 raydiak nine_: btw another thing I've done wrt that problem is provide a .obj method, which returns a version meant to be used as an object so doesn't have a bunch of extra perl methods on it for the function and array and hash bits and so forth
17:12 raydiak nine_: also, I thought it'd be really cool to come up with a special syntax for the method call...e.g. if I took £ or something for Inline::Lua, and then $luaobj£new could make sure it actually calls to lua
17:12 nine_ raydiak: I came across a similiar problem when preparing my FOSDEM talk. During the talk jnthn++ mentioned that there's a way to fix it with some meta class magic.
17:14 raydiak hrm; I figured we could probably do that some way, but I was worried about making objects which are too magical...e.g. if I give a user an object and they use it in a flattening list, does it try to dispatch things like .list and .flat to lua then?
17:15 nine_ I guess using a different meta class gives you quite a lot of control in such situations
17:18 raydiak suppose I'll have to learn more about that eventually, then
17:18 timotimo i'm getting more memory usage with the faster variant of exemel on this xml file :(
17:18 nine_ raydiak: we both do :)
17:19 raydiak nine_: wrt £, I'd be open to a more generic "call into this foreign thing" syntax which we could use across all of Inline:: if you're interested in such a construct..."invoke" is just too overloaded for me to track that one precisely as-is
17:20 nine_ raydiak: how about -> ;)
17:21 nine_ raydiak: still, I'd much rather move the special methods out of the way. I want my Inline modules to be as seamless as possible. Objects really should feel like they are just normal Perl 6 objects.
17:23 raydiak nine_: well I got this far by blatantly ripping off a ton of your research and hard work so hurry up and make me another working example ;)
17:24 nine_ raydiak: I'd love to :) But it seems like I'm spending more time tracking problems in rakudo than in my modules :)
17:24 nine_ raydiak: right now I'm trying to bisect |Tux|++'s performance regression which I suspect is caused by merging the native support
17:25 b2gills mraynham: I don't see any glaring issues
17:27 mraynham b2gills: thanks for taking a look.
17:29 b2gills I only use rakudobrew so take it with a grain of salt
17:29 raydiak nine_: nice, good luck...my joking aside, I will give metaclasses a shot when I get to the point where it's my largest problem if you haven't gotten there first
17:30 kjs_ joined #perl6
17:31 raydiak mraynham++: "Building from source not as easy" missing an "is"
17:33 mraynham raydiak: fixed, thanks.
17:34 raydiak mraynham: yw...other than that, it looks great :)  really like it
17:35 raydiak though, now that I think about it...it also needs all mention of parrot removed :P
17:36 mraynham raydiak: great, thanks. It's taken me a while to figure out what's going on with Parrot, MoarVM and JVM.  I got the impression that Parrot was now no longer recommended, but wasn't 100% sure - I must have scanned a few hundred blog posts and forums in the past few hours.
17:37 timotimo used to be:
17:37 timotimo 69.20user 0.23system 1:09.47elapsed 99%CPU (0avgtext+0avgdata 705276maxresident)k
17:37 timotimo 60.20user 0.20system 1:00.44elapsed 99%CPU (0avgtext+0avgdata 704412maxresident)k
17:37 timotimo ^- what it's at now
17:39 timotimo m: say 1 - 60 / 69
17:39 camelia rakudo-moar b497d4: OUTPUT«0.130435␤»
17:39 raydiak mraynham: we recently dropped parrot support from rakudo entirely; the jvm backend is still alive, but moar is probably the fastest and most complete atm
17:41 raydiak mraynham: also there is a JS backend coming, but that's just FYI, nothing that ought to be documented as an option for users yet
17:41 xfix http://codegolf.stackexchange.com/a/47535/3103 - I wonder if it could be shorter.
17:41 timotimo well, after a bit of runtime, the jvm backend can win in many cases, but it has a very hefty startup time penalty
17:42 Ulti m: macro circumfix:<` `> ($x) { "\"$x\"" } say `hello`;
17:42 camelia rakudo-moar b497d4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/UagIHzWjNz␤Two terms in a row␤at /tmp/UagIHzWjNz:1␤------> 3macro circumfix:<` `> ($x) { "\"$x\"" }7⏏5 say `hello`;␤    expecting any of:␤        postfix␤        infix stopper␤        infix …»
17:42 Ulti well imagine those were on different lines, should it have worked?
17:42 raydiak timotimo: at least for Pray, that hasn't been true for a long time
17:42 timotimo m: say {$^a>none [\+] 0,@^b}(5, (1, 2, 3, 4, 5))
17:42 camelia rakudo-moar b497d4: OUTPUT«none(True, True, True, False, False, False)␤»
17:42 timotimo m: say {$^a>none [\+]0,@^b}(5, (1, 2, 3, 4, 5))
17:42 camelia rakudo-moar b497d4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Q3g4PMWexB␤Two terms in a row␤at /tmp/Q3g4PMWexB:1␤------> 3say {$^a>none [\+]7⏏0,@^b}(5, (1, 2, 3, 4, 5))␤    expecting any of:␤        infix stopper␤        infix or meta-infix␤        p…»
17:42 timotimo mhm
17:43 raydiak m: macro circumfix:<` `> ($x) { "\"$x\"" }; say `hello`;
17:43 camelia rakudo-moar b497d4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Wrol_9GlRV␤Undeclared routine:␤    hello used at line 1. Did you mean 'shell'?␤␤»
17:44 raydiak Ulti: so...guess not
17:44 timotimo not quite like that; the "hello" doesn't get nibbled
17:44 timotimo you'd need an "is parsed" macro, but i don't know what the current stance on those is
17:45 raydiak m: macro circumfix:<` `> ($x) is parsed { "\"$x\"" }; say `hello`;
17:45 camelia rakudo-moar b497d4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/I_s5664ksF␤Can't use unknown trait 'is parsed' in a macro declaration.␤at /tmp/I_s5664ksF:1␤------> ␤    expecting any of:␤        rw parcel hidden_from_backtrace hidden_from_USAGE␤        pure defa…»
17:45 xfix But I actually like how readable this program is, despite being golfed.
17:46 xfix J is like */@:<:0,+/\ - too many symbols
17:46 Ulti raydiak well thats good and bad, at least it means that slang was worthwhile
17:46 Ulti but I think something like that should work, right?
17:46 telex joined #perl6
17:46 timotimo xfix: i'm glad to see you back on the channel :)
17:47 xfix I also find Haskell solution quite readable. f t=all(>=t).scanl(+)0
17:47 xfix Beautiful, and I believe it's very similar to Perl 6 solution.
17:48 TimToady the problem with J is that the symbols are all equally huffmanized, so it doesn't tell you visually which bits are important
17:48 mraynham raydiak: okay, I'm editing it out now.  Thanks.
17:50 timotimo mraynham: i'd like it if you put the windows section first, so that it doesn't seem like we're putting windows support last
17:52 timotimo mraynham: i wonder about the last section on gcc; is that even still relevant? especially since it seems to refer to parrot only?
17:52 timotimo i don't remember that bug anyway ...
17:54 raydiak Ulti: idk what the state of our macros are, or even our macro design docs, but masak++ would know more...I think it's one of the corners of P6 which is still more experimental, so you might have the most luck just experimenting and trying to read the pertinent rakudo sources than anything else
17:54 timotimo should we really recommend the linux packages? they are typically extremely out of date :(
17:54 timotimo well, at least you mention that in the text
17:54 raydiak Ulti: I think we've had some nice macro posts on the advent calendars too
17:55 mraynham timotimo: I see your point. I don't have access to Windows at the moment, so haven't been able to test it, hence its lowly position.  Prior to the 2015.02 versions, there are '-parrot.msi', '-moar.msi' and plain '.msi' versions.  The 2015.02 version doesn't include those files - so which version is it?
17:56 timotimo if in doubt, it's moar
17:56 timotimo FROGGS makes most of these
17:57 timotimo one of our core developers does pretty much all his development on windows, so the windows releases usually work pretty well
17:57 mraynham timotimo: re gcc, 4.1.2 is from 2007, so probably not relevant any more.  I'll remove that section.
17:57 timotimo and we have a few more windows perl6 users in the channel since a week or so
17:58 timotimo i suspect that the shorter the whole page, the less chance for confusion (only 2 cents worth of opinion here, though)
17:58 Ulti raydiak I'll check it out, I saw some macro examples on a video about Pugs and wondered if they were how things acted in Rakudo
17:59 raydiak heh good question
18:02 xfix http://codegolf.stackexchange.com/a/17909/3103
18:02 xfix I like this particular Perl 6 code golf solution for a task.
18:03 xfix It's as short as APL solution.
18:03 mraynham timotimo: re linux packages. There are some less than complimentary comments at the bottom of the original page about packages, which is why I thought it worth including them.  But as it's under active development, the ease of installing packages is probably a false economy.  How about if I put a section at the end of the page about packages, which says that they are available for some distros, but are likely to be out-of-d
18:03 xfix (although I would say it's also quite unreadable as well, and does various language misuse, like $/ for storing a tuple)
18:04 Ven joined #perl6
18:04 xfix (but it could be argued that $/ for storing tuples is actually a feature)
18:04 zby_home joined #perl6
18:04 virtualsue joined #perl6
18:08 TimToady std: $/=split ".",get;say ($0+($1+$2/(9 x$2.chars||1))/10**$1.chars).nude
18:08 camelia std 28329a7: OUTPUT«5===SORRY!5===␤Unsupported use of $/ variable as input record separator; in Perl 6 please use the filehandle's :irs attribute at /tmp/FD15umwtY3 line 1:␤------> 3$/7⏏5=split ".",get;say ($0+($1+$2/(9 x$2.cha␤Parse failed␤FAILED 00:00 134m␤»
18:08 xfix :-(
18:08 xfix Well, it works in current Perl 6, at least.
18:09 timotimo mraynham: cut off after "but are likely to be out-of-da", but i expect that's already the end of what you wrote
18:09 xfix Eh, Perl 6 was once more code golf friendly, with stuff like space not required after [+], and so on.
18:09 mraynham timotimo: Yes, that was the end of my message.
18:10 TimToady no, rakudo was was more friendly, not Perl 6...
18:10 xfix Although, it doesn't really matter. I like Perl 6 as code golfing language, because the programs are short, but the programs don't look as unreadable as in real code golfing languages.
18:12 xfix Currently code golf on Stack Exchange is pretty much clones of GolfScript, APL, and Mathematica (if it happens to have a function that does exactly what the question asks about).
18:12 timotimo %)
18:12 timotimo i prefer "[\+]" to "cumsum" very much
18:12 TimToady code golf should be measured in morphemes, not characters
18:12 zakharyas joined #perl6
18:13 xfix Mathematica has crazy standard library. Like, it has practically everything.
18:13 lizmat m: my $a; $a[0] := 42  # shouldn;'t this also work ?
18:13 camelia rakudo-moar b497d4: OUTPUT«No such method 'bind_pos' for invocant of type 'Any'␤  in sub postcircumfix:<[ ]> at src/gen/m-CORE.setting:3340␤  in block <unit> at /tmp/crRvXvrlnl:1␤␤»
18:13 lizmat std: my $a; $a[0] := 42
18:13 camelia std 28329a7: OUTPUT«ok 00:00 139m␤»
18:14 xfix std: $/:=split ".",get;say ($0+($1+$2/(9 x$2.chars||1))/10**$1.chars).nude
18:14 camelia std 28329a7: OUTPUT«ok 00:01 140m␤»
18:25 xfix https://www.youtube.com/watch?v=uzUTIffsc-M&amp;t=292
18:25 xfix Mathematica pretty much.
18:26 jnthn lizmat: I guess it could, though we tend to view binding as somewhat more "low level" than assignment, so maybe it doesn't deserve the magic. Could go either way.
18:27 jnthn lizmat: Checking STD doesn't tell much given it's a semantic question rather than a syntactic one :)
18:28 dalek rakudo/nom: 80d506d | lizmat++ | / (46 files):
18:28 dalek rakudo/nom: Migrate from at_key c.s. to AT-KEY
18:28 dalek rakudo/nom:
18:28 dalek rakudo/nom: This is a proof-of-concept of changing the infamous implementation specific
18:28 dalek rakudo/nom: internal methods for accessing arrays and hashes into something more release
18:28 dalek rakudo/nom: ready.  The following transformations were done:
18:28 dalek rakudo/nom:
18:28 dalek rakudo/nom: OLD             NEW
18:28 dalek rakudo/nom: at_pos          AT-POS
18:28 dalek rakudo/nom: exists_pos      EXISTS-POS
18:28 dalek rakudo/nom: delete_pos      DELETE-POS
18:28 dalek rakudo/nom: assign_pos      ASSIGN-POS
18:28 dalek rakudo/nom: bind_pos        BIND-POS
18:28 dalek rakudo/nom: at_key          AT-KEY
18:28 dalek rakudo/nom: exists_key      EXISTS-KEY
18:28 dalek rakudo/nom: delete_key      DELETE-KEY
18:28 dalek rakudo/nom: assign_key      ASSIGN-KEY
18:28 dalek rakudo/nom: bind_key        BIND-KEY
18:28 dalek rakudo/nom:
18:28 dalek rakudo/nom: All of the methods have a catch method with DEPRECATION message to ensure
18:28 dalek rakudo/nom: anyting out there in the ecosystem will continue to work.
18:28 dalek rakudo/nom:
18:28 dalek rakudo/nom: Please feel free to revert if this change does not get consensus.
18:28 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/80d506dfaf
18:28 xfix That's a long commit description.
18:28 dalek perl6-examples: ad4dce0 | paultcochrane++ | categories/module-management/Fletcher.pl:
18:28 dalek perl6-examples: [module-management] use v6; add vim coda
18:28 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/ad4dce00be
18:28 dalek perl6-examples: 27fa3dc | paultcochrane++ | categories/module-management/Fletcher.pl:
18:28 dalek perl6-examples: [module-management] purge trailing whitespace
18:28 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/27fa3dc2ba
18:28 dalek perl6-examples: a1d2c40 | paultcochrane++ | categories/module-management/Fletcher.pl:
18:28 dalek perl6-examples: [module-management] convert comments into pod
18:28 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/a1d2c40150
18:28 dalek perl6-examples: 6c64b9a | paultcochrane++ | categories/module-management/Fletcher.pl:
18:28 dalek perl6-examples: [module-management] replace hard tabs with spaces
18:28 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/6c64b9a3f9
18:29 lizmat xfix: it's a big commit: 46 files changed, 486 insertions(+), 435 deletions(-)
18:29 xfix (and then 4 extra commits as if to add to the length)
18:29 TimToady what about invoke?
18:29 lizmat TimToady: I hadn't considered invoke() just yet
18:30 TimToady that's kinda what triggere the whole discussion
18:30 TimToady *ed
18:30 lizmat s/invoke/INVOKE/ as well then ?
18:31 TimToady well, there's been some discussion that invoke is the wrong word anyway
18:31 TimToady but INVOKE is better than invoke anyway
18:32 b2gills I think it might be a good idea to add a synopsis that discusses what the "Perl 6 Spec" actually is, and what it is not ( see pmichaud's FOSDEM talk http://video.fosdem.org/2015/devroom-perl/perl6_lang_spec_lessons_learned.mp4 )
18:32 nine_ jnthn: |Tux| reported a 40 % performance regression using Inline::Perl5 that is caused by rakudo and I bisected it down to the commits in https://gist.github.com/niner/83f73cfbcf3f38a88ae8
18:32 tadzik oh, big changes
18:32 nine_ jnthn: unfortunatly the build is broken in those commits, so I cannot shorten it further
18:32 flussence invoke() is the one for calling an object like a function, right? Having that named that, and then FALLBACK for methods seems a bit wonky to me...
18:33 nine_ .tell |Tux| the performance regression is not caused by Inline::Perl5 but by Rakudo. I suspect it's jnthn++'s native work.
18:33 yoleaux nine_: I'll pass your message to |Tux|.
18:33 flussence IMO, the method one should be a bit more huffmanized than the sub one...
18:33 TimToady it's more like "invoked" or "called"
18:34 TimToady if we're going with the "comefrom-ness" of HOOKNAMES
18:34 flussence oh wait, I think I'm getting confused again...
18:35 TimToady CALL for Callable, I suppose
18:36 raydiak \o/ lizmat++ !  I dared not hope for such a sweeping change so soon
18:37 TimToady nine_: looks like it's the native changes, which are known to have regressed a bit
18:37 TimToady (temporarily, it is hoped)
18:38 nine_ TimToady: as I suspected
18:38 b2gills TimToady: FatRat.base-repeating doesn't work ( i'm pointing this out to you since `git blame` blames you )
18:38 b2gills m: my $a = 1/3; say $a.base-repeating(10); say $a.FatRat.base-repeating(10);
18:38 camelia rakudo-moar b497d4: OUTPUT«0. 3␤0. ???␤»
18:38 Mouq xfix: I don't think you need that "0,"
18:38 TimToady you can put it outside the [\+] too
18:39 Mouq xfix: To http://codegolf.stackexchange.com/a/47535/3103 that is
18:39 TimToady Mouq: [\+] doesn't start with the identity element
18:39 xfix Mouq: https://gist.github.com/xfix/2cc0ea88050a915d53c2
18:39 xfix I need it.
18:40 Mouq Oh, okay, sorry :)
18:40 xfix No problem.
18:40 xfix Thanks for proposing $/ in one of my code golf solutions, by the way.
18:41 TimToady perhaps we can warn on $/= only if followed by a quote
18:42 dalek rakudo/nom: 19f4bc2 | lizmat++ | src/core/Any.pm:
18:42 dalek rakudo/nom: Fix missing "is rw" on DEPRECATED catcher methods
18:42 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/19f4bc23a0
18:43 Mouq xfix: Is it too late to note you can cut two chars by using 'comb' instead of 'chars'?
18:43 Mouq :9
18:44 TimToady also, if we allwed mg/\d+/ in place of m:g/\d+/ you could get another
18:44 TimToady now that we have locals terms overriding quoters, maybe we could relax that
18:44 TimToady *local
18:45 xfix Not really.
18:45 TimToady get~~m:g/\d+/ works
18:45 Mouq TimToady: It needs to work for "2..142857" though
18:45 TimToady but is same length
18:45 TimToady ah
18:45 jnthn lizmat, TimToady: We can do INVOKE, and I want to kill postcircumfix:<( )>, and I want something else for coercion, I think.
18:46 xfix Mouq: Done.
18:47 jnthn Well, would be happy with names other than INVOKE too :)
18:47 jnthn Main thing is the method postcircumfix:<( )> should go away.
18:47 TimToady seems they're all Callables
18:48 TimToady CALL-ME-ANYTHING-BUT-CALL-ME
18:49 jnthn nine_: Did you build them against latest NQP/Moar, or against their NQP_REVISION one, ooc?
18:49 TimToady all the others have a - now, so CALL-ME ain't so bad
18:49 jnthn nine_: But I suspect a --profile will be indicative.
18:56 TimToady lizmat: I think I like CALL-ME the best, unless someone can think of a major objection
18:57 Mouq jnthn: Does putting a deprecation check in Metamodel::MethodContainer.add_method seem sane?
18:57 [Tux] nine_, understood
18:57 TimToady it's self-documenting from the definers viewpoint, less so from the, er, caller's viewpoint, but users won't generally see a .CALL-ME() call
18:59 jnthn Mouq: Uh...why would we be putting a deprecation check in add_method?
18:59 * Mouq just realized he had missed lizmat++'s AT-KEY etc. commit
18:59 Mouq jnthn: postcircumfix:<*>
19:00 jnthn Oh...hm
19:00 TimToady that's not a...oh, whatever...
19:00 Mouq jnthn: Or do we just want to try to catch it in the grammar?
19:00 jnthn tbh I'd just catch it in Actions or so
19:00 jnthn I think we have prior art for deprecations there.
19:00 jnthn Not sure we do in the MOP
19:00 TimToady depredations, anyway
19:01 [Tux] does lizmat's change mean I have to rename my «method at_pos (int $i) {» to «method AT-POS (int $i) {» ?
19:02 lizmat [Tux]: if you don't want to see deprecation messages, yes
19:02 lizmat (or incur the performance penalty of calling a deprecated method)
19:02 [Tux] Inline::Perl5 fails again on current checkout
19:03 lizmat gist?
19:03 [Tux] one sec. testing ...
19:03 [Tux] https://gist.github.com/Tux/5774f0e94a82335d3312
19:04 [Tux] Text::CSV still passes \o/
19:05 nine_ jnthn: I rm -rf'ed install/ after every step
19:06 Mouq Has there been any discussion re http://irclog.perlgeek.de/perl6/2015-03-07#i_10238947 ?
19:07 Mouq (Since I'm in that section of code rn)
19:09 jnthn nine_: Yeah, I didn't keep NQP_REVISION up to date while working in the branch...
19:09 lizmat [Tux]: seems like some AT-POS candidates are missing an "is rw"
19:10 lizmat but this was already *before* my change, so I wonder why it would make a difference now
19:10 TimToady Mouq: I suspect most people's current opinion is that they're a bit too huffmanized for how often they're used
19:10 lizmat anyways, spectesting a fix
19:10 TimToady and that shouting is probably more important than swearing :)
19:11 TimToady s/important/understandable/
19:12 jnthn nine_: I don't think that bisecting any further will learn us more, though
19:12 Mouq TimToady: Heh, true :) Shall I just deprecate the method forms then? (at least for now)
19:13 jnthn nine_: A before/after profile might point out an easy static optimization that helps
19:13 jnthn nine_: Or it may fall under the more general optimization work at VM level for native ref stuff that's still to come
19:13 TimToady Mouq: or depredate 'em
19:18 dalek rakudo/nom: de36866 | lizmat++ | src/core/Any.pm:
19:18 dalek rakudo/nom: Add more missing "is rw"
19:18 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/de3686690a
19:18 lizmat [Tux]: could you try with this commit ?
19:21 [Tux] building
19:23 [Tux] Cannot modify an immutable TypedCArray[Pointer]
19:23 [Tux] in method ASSIGN-POS at src/gen/m-CORE.setting:2167
19:23 [Tux] in sub postcircumfix:<[ ]> at src/gen/m-CORE.setting:3389
19:26 xfix m: ('' xx 2, 'Fizz') xx * Z~ ('' xx 4, 'Buzz') xx * Z|| 1..100
19:26 camelia rakudo-moar 19f4bc: OUTPUT«5===SORRY!5=== Error while compiling /tmp/rt51_G2k3e␤Operators 'Z~' and 'Z||' are non-associative and require parentheses␤at /tmp/rt51_G2k3e:1␤------> 3'Fizz') xx * Z~ ('' xx 4, 'Buzz') xx * Z7⏏5|| 1..100␤    expecting any of:␤        i…»
19:26 xfix I'm not exactly sure why is this a problem.
19:27 xfix (I tried to do FizzBuzz in functional Perl 6 style)
19:27 Mouq std: ('' xx 2, 'Fizz') xx * Z~ ('' xx 4, 'Buzz') xx * Z|| 1..100
19:27 camelia std 28329a7: OUTPUT«5===SORRY!5===␤"Z~" and "Z||" are non-associative and require parens at /tmp/O0IvusgfQl line 1:␤------> 3zz') xx * Z~ ('' xx 4, 'Buzz') xx * Z|| 7⏏1..100␤Check failed␤FAILED 00:00 139m␤»
19:28 xfix I know it's a syntax error, but why it has to be?
19:29 xfix Meaning is quite obvious, zip with three lists.
19:29 flussence m: say ('' xx 2, 'Fizz') xx (* Z~ ('' xx 4, 'Buzz') xx (* Z|| 1..100))
19:29 Mouq xfix: It means ( … Z~ …) Z|| 1..100, right?
19:29 camelia rakudo-moar 19f4bc: OUTPUT«  Fizz␤»
19:30 xfix m: say for (('' xx 2, 'Fizz') xx * Z~ ('' xx 4, 'Buzz') xx *) Z|| 1..100
19:30 camelia rakudo-moar 19f4bc: OUTPUT«5===SORRY!5=== Error while compiling /tmp/JoH2BiBf5O␤Unsupported use of bare "say"; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument␤at /tmp/JoH2BiBf5O:1␤------> 3say7⏏5 for (('' xx 2, 'Fizz') xx * Z~ ('' xx…»
19:30 xfix m: .say for (('' xx 2, 'Fizz') xx * Z~ ('' xx 4, 'Buzz') xx *) Z|| 1..100
19:30 camelia rakudo-moar 19f4bc: OUTPUT«1␤2␤Fizz␤4␤Buzz␤Fizz␤7␤8␤Fizz␤Buzz␤11␤Fizz␤13␤14␤FizzBuzz␤16␤17␤Fizz␤19␤Buzz␤Fizz␤22␤23␤Fizz␤Buzz␤26␤Fizz␤28␤29␤FizzBuzz␤31␤32␤Fizz␤34␤Buzz␤Fizz␤37␤38␤Fizz␤Buzz␤41␤Fizz␤43…»
19:30 xfix Yep.
19:33 xfix I was porting an expression I wrote in Python: [a + b or c for a, b, c in zip(cycle([''] * 2 + ['Fizz']), cycle([''] * 4 + ['Buzz']), range(1, 101))]
19:33 xfix Perl 6 is clearly shorter, but I don't understand the need for parens in this case.
19:34 masak m: my $start = 468_395_662_504_823; my $step = 205_619 * 223_092_870; for 0..23 -> $n { say is-prime $start + $step * $n } # https://en.wikipedia.org/wiki/Green%E2%80%93Tao_theorem
19:34 camelia rakudo-moar 19f4bc: OUTPUT«True␤True␤True␤True␤True␤True␤True␤True␤True␤True␤True␤True␤True␤True␤True␤True␤True␤True␤True␤True␤True␤True␤True␤True␤»
19:34 masak \o/
19:36 FROGGS lizmat++ # Unbreak build on JVM
19:37 masak m: my $start = 6_171_054_912_832_631; my $step = 366_384 * 223_092_870; say so all (is-prime $start + $step * $_ for 0..24)
19:37 camelia rakudo-moar 19f4bc: OUTPUT«True␤»
19:37 nwc10 .tell ugator I have built it on IBM hardware, yes, but the machine is running Fedora (ie Linux)
19:37 yoleaux 15:45Z <Ugator> nwc10: I heard you got/tried to get perl6 working an an aix machine? any success?
19:37 yoleaux nwc10: I'll pass your message to ugator.
19:38 masak m: my $start = 43_142_746_595_714_191; my $step = 23_681_770 * 223_092_870; say so all (is-prime $start + $step * $_ for 0..25)
19:38 camelia rakudo-moar 19f4bc: OUTPUT«True␤»
19:38 masak amazing.
19:38 FROGGS m: my $start = 43_142_746_595_714_191; my $step = 23_681_770 * 223_092_871; say so all (is-prime $start + $step * $_ for 0..25)
19:38 camelia rakudo-moar 19f4bc: OUTPUT«False␤»
19:38 FROGGS k
19:39 Mouq m: say zip(('' xx 2, 'Fizz') xx *;('' xx 4, 'Buzz') xx *;1..100).tree».first(?*)
19:39 camelia rakudo-moar 19f4bc: OUTPUT«1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 Fizz 16 17 Fizz 19 Buzz Fizz 22 23 Fizz Buzz 26 Fizz 28 29 Fizz 31 32 Fizz 34 Buzz Fizz 37 38 Fizz Buzz 41 Fizz 43 44 Fizz 46 47 Fizz 49 Buzz Fizz 52 53 Fizz Buzz 56 Fizz 58 59 Fizz 61 62 Fizz 64 Buzz Fizz 6…»
19:39 nwc10 .tell ugator I have tried building it on AIX. IIRC one or two of the dependecy libraries are a pain (not libuv). I don't think that dyncall supports AIX. IIRC libffi does - unless you know PPC assembler, I'd guess that the route of least resistance is actually to abstract the dynamic call stuff to be able to use dyncall or libffi. I think that would get us most of HP/UX too.
19:39 yoleaux nwc10: I'll pass your message to ugator.
19:40 xfix Mouq: Doesn't handle FizzBuzz case.
19:40 nwc10 itell ugator also, IIRC, the MoarVM build system annoyingly picks the GNU make specific Makefile, instead of the most generic "embedding" makefile
19:40 Mouq xfix: Yeah, just realized :)
19:40 nwc10 .tell ugator also, IIRC, the MoarVM build system annoyingly picks the GNU make specific Makefile, instead of the most generic "embedding" makefile
19:40 yoleaux nwc10: I'll pass your message to ugator.
19:44 nwc10 http://en.wikipedia.org/wiki/Typescript says "TypeScript adds support for features such as classes, modules and an arrow function syntax as proposed" - is that the next thing from Perl 6 that JS wants to steal? (after ~)
19:44 flussence wait wait, JS has sane concatenation now? :)
19:44 nwc10 *wants*
19:45 lizmat [Tux]: seems I forgot NativeCall
19:46 atweiden joined #perl6
19:46 TimToady m: {say $^a ~ $^b || $^c} for ('' xx 2, 'Fizz') xx * Z ('' xx 4, 'Buzz') xx * Z 1..100
19:46 camelia rakudo-moar de3686: OUTPUT«1␤2␤Fizz␤4␤Buzz␤Fizz␤7␤8␤Fizz␤Buzz␤11␤Fizz␤13␤14␤FizzBuzz␤16␤17␤Fizz␤19␤Buzz␤Fizz␤22␤23␤Fizz␤Buzz␤26␤Fizz␤28␤29␤FizzBuzz␤31␤32␤Fizz␤34␤Buzz␤Fizz␤37␤38␤Fizz␤Buzz␤41␤Fizz␤43…»
19:47 dalek rakudo/nom: 727f96f | lizmat++ | lib/NativeCall.pm:
19:47 dalek rakudo/nom: Bring NativeCall upto AT/ASSIGN-POS
19:47 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/727f96f25f
19:47 lizmat [Tux]: could you try again?
19:47 Mouq nwc10: http://wiki.ecmascript.org/doku.php?id=harmony:arrow_function_syntax
19:49 * [Tux] expects NativeCall to be somewhat essential to Inline::Perl5 :)
19:49 nwc10 oh, not quite. it's =>, not ->
19:49 mraynham Further to comments from timotimo, I've simplified the installaiton notes and removed references to Parrot.  I've limited the page to the basics, as more detailed info is available in the README files.  https://gist.github.com/mikeraynham/8c9a4a211a4d5cf6190c
19:49 Mouq nwc10: Also has inverted parameters to allow for blockless forms
19:49 b2gills m: multi sub python-range ($start,$stop,$inc = 1){ $start, { $^prev + $inc } ...^ { $^check >= $stop } }; say python-range 0, 11, 2
19:49 camelia rakudo-moar de3686: OUTPUT«0 2 4 6 8 10␤»
19:50 mraynham Going to fire up an AWS EC2 Windows instance and have a look at the installation details.
19:50 * lizmat didn't fully incorporate NativeCall into her mental image of the core just yet
19:50 [Tux] All tests successful.
19:50 [Tux] Files=19, Tests=289, 12 wallclock secs ( 0.07 usr  0.02 sys + 11.27 cusr  0.86 csys = 12.22 CPU)
19:50 [Tux] Result: PASS
19:50 Mouq nwc10: Which I think makes more sense for Coffeescript than JS, but I'm no JS guru
19:53 [Tux] still slow though
19:54 nwc10 I'm no guru in any of this
19:55 nwc10 I just had no idea what Typescript was, or why AngularJS needs a "scripting language"
19:55 nwc10 (or why PHP needs a templating language)
19:59 dalek rakudo/nom: f4ef3c1 | lizmat++ | src/core/Any.pm:
19:59 dalek rakudo/nom: Fast-forward a year, don't change history
19:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f4ef3c1001
20:01 beastd joined #perl6
20:04 timotimo [Tux]: for the TypedCArray thing, maybe you forgot to .new the TypedCArray before trying to assign to it?
20:12 lizmat hmmm... just realised that the catch at_xxx c.s. methods don't work if a module is defining its own
20:12 lizmat guess I would need to do some metamodel magic for that  :-(
20:12 lizmat afk for a while&
20:12 Mouq lizmat: That's what I was looking into
20:13 Mouq lizmat++ again though :)
20:13 Mouq The issue with deprecating them is that Any already has the fallbacks… which means that we try to warn when compiling the setting…
20:23 b2gills I wouldn't be too bothered if the way to implement .AT-KEY was `method HASH:<at-key>` or similar ( I'm assuming it doesn't modify the parser ) That way it definitely doesn't collide with normal methods
20:23 b2gills m: class C { method HASH:<at-key>(|c){ say 'hi' }}; C.HASH:<<at-key>>
20:23 camelia rakudo-moar f4ef3c: OUTPUT«hi␤»
20:24 Ben_Goldberg joined #perl6
20:24 mjreed joined #perl6
20:26 Mouq m: class C { method HASH:at-key(|c){ say 'hi' }}; C.HASH:at-key
20:26 camelia rakudo-moar f4ef3c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/hsmVCDmLHi␤Colon pair value '|c' too complex to use in name␤at /tmp/hsmVCDmLHi:1␤------> 3s C { method HASH:at-key(|c){ say 'hi' }7⏏5}; C.HASH:at-key␤»
20:26 Mouq m: class C { method HASH:at-key (|c){ say 'hi' }}; C.HASH:at-key
20:26 camelia rakudo-moar f4ef3c: OUTPUT«No such method 'HASH' for invocant of type 'C'␤  in block <unit> at /tmp/U0hDcWPqf2:1␤␤»
20:27 Mouq m: class C { method HASH:at-key<>(|c){ say 'hi' }}; C.HASH:at-key<>
20:27 camelia rakudo-moar f4ef3c: OUTPUT«Potential difficulties:␤    Pair with <> really means an empty list, not null string; use :at-key('') to represent the null string,␤      or :at-key() to represent the empty list more accurately␤    at /tmp/hkQKA_7v3I:1␤    ------> 3class C { meth…»
20:27 Mouq I tried :P
20:31 dalek rakudo/nom: b57f135 | Mouq++ | src/Perl6/ (2 files):
20:31 dalek rakudo/nom: Make `method postcircumfix:<* *>` and `method <sigil>` obsolete
20:31 dalek rakudo/nom:
20:31 dalek rakudo/nom: We probably want a custom typed_worry for the postcircumfix case.
20:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b57f1358ab
20:31 dalek rakudo/nom: 8df4617 | Mouq++ | src/core/Any.pm:
20:31 dalek rakudo/nom: Merge branch 'nom' of https://github.com/rakudo/rakudo into nom
20:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8df46178c0
20:31 b2gills I already succeeded it's spelled `HASH:«at-key»`
20:32 Mouq b2gills: I just think the extra < > is icky
20:32 Mouq HASH:at-key is a valid name
20:32 b2gills that's part of the point, it is usually called by the implementation not user code
20:34 b2gills m: class C { method HASH:at-key (|c){ say 'hi' }}; C.'HASH:at-key'()
20:34 camelia rakudo-moar f4ef3c: OUTPUT«hi␤»
20:34 * Mouq &
20:49 raydiak is there any way to do a different thing in STORE depending on what kind of container you're bound into if any?  e.g. my %h := $o; my @a := $o;, then have %h = <a b c d> and @o = <a b c d> both work normally?
20:53 [Tux] Mouq, you broke Inline::Perl5: https://gist.github.com/Tux/b3060a13a6211bd1cb9d
20:58 eli-se joined #perl6
20:58 eli-se woo
20:58 dalek perl6-examples: 54e42d2 | paultcochrane++ | doc/README:
20:58 dalek perl6-examples: [doc] correct minor typo
20:58 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/54e42d2255
20:58 dalek perl6-examples: 10e9f5d | paultcochrane++ | categories/rosalind/README:
20:58 dalek perl6-examples: Purge trailing whitespace in READMEs
20:58 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/10e9f5dcb1
20:58 dalek perl6-examples: c546c70 | paultcochrane++ | .gitignore:
20:58 dalek perl6-examples: Ignoring automatically generated files from running examples
20:58 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/c546c70540
20:58 dalek perl6-examples: ac749ad | paultcochrane++ | / (16 files):
20:58 dalek perl6-examples: Rename all READMEs to README.md
20:58 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/ac749adc74
20:58 dalek perl6-examples: 82ac038 | paultcochrane++ | / (8 files):
20:58 dalek perl6-examples: Convert READMEs to Markdown
20:58 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/82ac038379
20:58 b2gills m: role Asdf { method Asdf:<jkl>{...} }; class C does Asdf { method Asdf:<jkl>{say 'hi'} }; my Asdf $v = C; $v.Asdf:<jkl> # this is my line of thinking
20:58 camelia rakudo-moar 8df461: OUTPUT«hi␤»
21:05 zakharyas joined #perl6
21:06 raydiak .tell mraynham looking awesome; mraynham++ !  I think my only suggestion is that, since rakudobrew is under Installing Rakudo Star, you could mention that once rakudo and panda are installed, you can do "panda install Task::Star" to install all of the star modules
21:06 yoleaux raydiak: I'll pass your message to mraynham.
21:15 perigrin joined #perl6
21:20 mraynham joined #perl6
21:31 cognominal joined #perl6
21:35 Ulti nine_ have you tried your grammar highlighter with std?
21:46 raiph http://design.perl6.org/S12.html#Lvalue_methods says "Setter methods that expect the new value as an argument do not [work]"
21:47 raiph What's the intended way to create (the equivalent of) validating setter methods?
21:48 jnthn raiph: Preferably, fold the validation into the type (using subset types)
21:49 raiph jnthn: will a subset type on an attribute support access to self?
21:49 dolmen joined #perl6
21:49 jnthn raiph: No
21:50 jnthn raiph: If you want an l-value-ish interface where you can do what you like, there's Proxy
21:50 raiph jnthn: thanks
21:50 jnthn raiph: But an object with interesting enough invariants that you want to do more sophisticated things probably deserves an interface expresed in terms of meaningful method names rather than just getter/setter logic.
21:51 Mouq m: class C { has $.canfoo; subset Foo of Int where { $.canfoo and $_ ~~ -50..50 }; has Foo $.foo }
21:51 camelia rakudo-moar 8df461: OUTPUT«5===SORRY!5=== Error while compiling /tmp/JrRXRlAGod␤Variable $.canfoo used where no 'self' is available␤at /tmp/JrRXRlAGod:1␤------> 3nfoo; subset Foo of Int where { $.canfoo7⏏5 and $_ ~~ -50..50 }; has Foo $.foo }␤    expecting any of:…»
21:52 Mouq [Tux]: That's weird
21:53 jnthn This is one of the places I think Perl 6 is a little opinionated on OO, but I agree with its opinions. :)
21:55 Mouq m: class C { has $.canfoo; has subset Foo of Int where { $.canfoo and $_ ~~ -50..50 }; has Foo $.foo }
21:55 camelia rakudo-moar 8df461: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Nv9lr9SgLh␤Virtual call $.canfoo may not be used on partially constructed objects␤at /tmp/Nv9lr9SgLh:1␤------> 3; has subset Foo of Int where { $.canfoo7⏏5 and $_ ~~ -50..50 }; has Foo $.foo }␤   …»
21:56 mraynham raydiak: msg received. Thanks for positive comments. Will check out suggestion.
21:56 yoleaux 21:06Z <raydiak> mraynham: looking awesome; mraynham++ !  I think my only suggestion is that, since rakudobrew is under Installing Rakudo Star, you could mention that once rakudo and panda are installed, you can do "panda install Task::Star" to install all of the star modules
21:56 ugexe are there any plans for build reports on rakudo itself? say if i wanted to lookup if jvm was building for other arm6 processors or with X amount of memory?
21:58 hoelzro joined #perl6
22:02 dalek rakudo/nom: 67b7ba1 | Mouq++ | lib/NativeCall.pm:
22:02 dalek rakudo/nom: [NativeCall] postcircumfix:<( )> -> invoke
22:02 dalek rakudo/nom:
22:02 dalek rakudo/nom: Gets us closer to being able to run Inline::Perl5 before also fixing the
22:02 dalek rakudo/nom: method there. [Tux]++
22:02 dalek rakudo/nom:
22:02 dalek rakudo/nom: Unfortunately, Inline::Perl5's precomp.t still dies with:
22:02 dalek rakudo/nom:     ===SORRY!===
22:02 dalek rakudo/nom:     Serialization Error: Unimplemented case of read_ref
22:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/67b7ba16c6
22:03 raiph jnthn: thanks. fwiw the use case is an Interval class with lower/upper bounds; setters for those; and the invariant lower <= upper. I'll try a Proxy. jnthn++
22:03 jnthn raiph: I lack context, but off-hand, Interval sounds to me like a value object, and so the kinda thing where I'd go for an immutable design.
22:05 mraynham_ joined #perl6
22:07 jnthn (And validate at construction time)
22:08 raiph jnthn: That makes a lot of sense. Thanks!
22:08 raydiak is there any way to bind instead of assign attribute defaults?
22:08 raydiak m: class C { has $.foo = Proxy.new: FETCH => method () { rand } }; my $o = C.new; say $o.foo; say $o.foo;
22:08 camelia rakudo-moar 8df461: OUTPUT«0.701982881641943␤0.701982881641943␤»
22:08 raydiak m: class C { has $.foo := Proxy.new: FETCH => method () { rand } }; my $o = C.new; say $o.foo; say $o.foo;
22:08 camelia rakudo-moar 8df461: OUTPUT«5===SORRY!5=== Error while compiling /tmp/IgU7Ekh1Sr␤Cannot use := to initialize an attribute␤at /tmp/IgU7Ekh1Sr:1␤------> 3= Proxy.new: FETCH => method () { rand }7⏏5 }; my $o = C.new; say $o.foo; say $o.fo␤    expecting any of:␤      …»
22:09 Mouq raydiak: NYI
22:09 raydiak I guess you could bind it in a BUILD then?
22:10 raydiak m: class C { has $.foo; submethod BUILD (|) { $!foo := Proxy.new: FETCH => method () { rand } } }; my $o = C.new; say $o.foo; say $o.foo;
22:10 camelia rakudo-moar 8df461: OUTPUT«0.792309262432954␤0.947388834466232␤»
22:10 jnthn Yeah, you can bind it in a BUILD
22:10 jnthn Mouq: Along with .= :)
22:10 jnthn Mouq: Those two may be worth handling at the same time.
22:11 Mouq jnthn: I think I fudged handling of .= a few weeks ago; I'm not sure what the "proper" way to do it would be
22:11 Mouq *un-scarequote proper
22:11 Mouq m: class Foo { has Rat $.r .= new(1, 2) }; say Foo.new.r
22:11 camelia rakudo-moar 67b7ba: OUTPUT«0.5␤»
22:12 Mouq That just rewrites it as Rat.new(1, 2)
22:12 Mouq Essentially
22:12 jercos joined #perl6
22:16 jnthn hm
22:16 jnthn mebbe close enough
22:16 jnthn If implementing := is easy in terms of what you did, it's probably about the right factoring. Otherwise it's maybe not :)
22:19 raydiak is is just me or is writing rw routines with a body consisting of only a Proxy.new with all the logic in the fetch and store blocks going to be common enough to maybe warrant a more pleasant way to declare such a construct?
22:19 Mouq jnthn: https://github.com/rakudo/rakudo/commit/df5b31eae
22:20 mraynham joined #perl6
22:20 Mouq And I kinda doubt my way's going to have real relevance to :=… :)
22:20 jnthn Mouq: Hm :)
22:21 jnthn No :)
22:21 mraynham left #perl6
22:21 jnthn Though probably the whole 3 (=, .=, and :=) may want a refactor
22:21 Mouq jnthn: On the other hand, a good implementation of := may have a lot of relevance to doing .= right…
22:21 jnthn Yeah, I think maybe the block itself should do the operation on the attribute.
22:22 jnthn Then it's easy to just delegate to assign_op, bind_op, etc.
22:22 Mouq m: my $a .= perl; say $a
22:22 camelia rakudo-moar 67b7ba: OUTPUT«Any␤»
22:28 raiph raydiak: related afaict: http://design.perl6.org/S06.html#The_want_function
22:29 raiph raydiak: well, not related, but maybe to be considered at the same time
22:33 raiph raydiak: the speculated ContextProxy looks like a multi case FETCH depending on context
22:35 kaare__ joined #perl6
22:37 raydiak raiph: ah, neat...and thanks, I'll keep that in mind as I contemplate
22:39 jnthn Also note that if there's a strong pattern in what you're doing with the Proxy you can always factor out its creation.
22:41 * Mouq doesn't see what ContextProxy would do that class :: is Proxy { … } wouldn't
22:42 * jnthn wonders if he should try and find time for a blog post on his ideas about object design and when to consdier/not consider Proxy
22:42 jnthn *consider
22:43 raydiak how else do you implement lvalue routines?
22:43 aborazmeh joined #perl6
22:43 aborazmeh joined #perl6
22:46 raydiak custom class with a STORE method maybe?
22:50 colomon jnthn: +1 to that post idea
22:56 Ben_Goldberg joined #perl6
23:09 cognominal joined #perl6
23:15 dalek rakudo/nom: 5acaa4a | lizmat++ | t/01-sanity/22-KEY.t:
23:15 dalek rakudo/nom: Add basic xx-KEY sanity tests
23:15 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5acaa4a2f5
23:21 lizmat .tell Mouq b57f1358abf seems to break the NativeCall sanity tests (make t/04-nativecall/*.t) , and later commits don't fix
23:21 yoleaux lizmat: I'll pass your message to Mouq.
23:21 lizmat .tell Mouq maybe we should revert those commits to not hurt the bleeding edge ecosystem too much ?
23:21 yoleaux lizmat: I'll pass your message to Mouq.
23:22 lizmat sleep&
23:24 mreed joined #perl6
23:25 mreed m: rx:i/hello/.perl.say
23:25 camelia rakudo-moar 67b7ba: OUTPUT«regex ($: *%_) { #`(Regex|69167504) ... }␤»
23:25 mreed ^ that’s not very useful. :)
23:27 dalek rakudo-star-daily: 6ccbb92 | coke++ | log/ (9 files):
23:27 dalek rakudo-star-daily: today (automated commit)
23:27 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/6ccbb924ba
23:27 dalek rakudo-star-daily: e734be0 | coke++ | log/ (9 files):
23:27 dalek rakudo-star-daily: today (automated commit)
23:27 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/e734be0400
23:27 dalek perl6-roast-data: ee4df57 | coke++ | / (9 files):
23:27 dalek perl6-roast-data: today (automated commit)
23:27 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/ee4df57974
23:27 dalek perl6-roast-data: da1990b | coke++ | / (9 files):
23:27 dalek perl6-roast-data: today (automated commit)
23:27 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/da1990b2d7
23:30 woshty joined #perl6
23:35 masak mreed: agreed.
23:36 masak mreed: I wonder if it could simply output the regex itself?
23:36 mreed I guess rules are a bit complicated for easy stringification in general..
23:36 mreed spitting the original regex back out would be a distinct improvement..
23:37 dalek rakudo/nom: 161550a | Mouq++ | src/Perl6/Actions.nqp:
23:37 dalek rakudo/nom: Fix nativecall tests; lizmat++
23:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/161550a5b4
23:37 Mouq .botsnack
23:37 yoleaux 23:21Z <lizmat> Mouq: b57f1358abf seems to break the NativeCall sanity tests (make t/04-nativecall/*.t) , and later commits don't fix
23:38 yoleaux :D
23:38 yoleaux 23:21Z <lizmat> Mouq: maybe we should revert those commits to not hurt the bleeding edge ecosystem too much ?
23:39 Mouq .tell lizmat Fixed what was breaking the tests, but we may still want to revert… Inline::Perl5's t/precomp.t currently dies because of some internal mishandling of the postcircumfix:<( )> error, it seems
23:39 yoleaux Mouq: I'll pass your message to lizmat.
23:42 masak 'night, #perl6
23:47 ugexe Mouq: DBDish gave my smoker that error too i think
23:48 ugexe cant seem to get panda to install on jvm as of the last 24 hours either
23:50 mreed joined #perl6
23:53 mreed joined #perl6
23:56 [Coke] (OS X) will hopefully have a macports version by midyear. (takes a while to get new things approved, it seems)
23:58 mreed joined #perl6

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

Perl 6 | Reference Documentation | Rakudo