Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-02-21

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:04 skids joined #perl6
00:13 hoverboard joined #perl6
00:16 jnthn o/
00:17 lue \o
00:18 btyler the itty-bittiest request: can someone bump the MoarVM version so nqp / rakudo Configure.pl will let it build again? complains about being too old at the moment
00:23 jnthn ah shit
00:23 jnthn That shoulda been bumped *before* the release :/
00:26 jnthn No commits since the release. That makes for an easy fix...
00:28 masak does this mean the release guide is missing a step or two?
00:28 jnthn No, it's right there and I'm sure I did it :/
00:28 jnthn oh argh
00:29 jnthn I apparently did it, then switched over to the Linux VM 'cus make release works there :/
00:29 jnthn And left the version bump behind.
00:33 masak argh.
00:33 jnthn Yeah
00:33 jnthn Well, I did the Naughty Thing and fixed stuff.
00:40 masak jnthn++
00:43 reznite joined #perl6
00:48 DrEeevil joined #perl6
00:49 LV joined #perl6
00:50 grondilu joined #perl6
00:50 integral_ joined #perl6
00:50 integral_ joined #perl6
00:50 nwc10_ joined #perl6
00:51 Ulti_ joined #perl6
00:51 Gothmog__ joined #perl6
00:54 cooper_ joined #perl6
00:56 masak 'night, #perl6
00:56 cooper joined #perl6
00:57 shinobicl joined #perl6
00:57 lee_ joined #perl6
00:57 breinbaas joined #perl6
00:57 apejens joined #perl6
00:57 risou_awy_ joined #perl6
00:57 dayangkun joined #perl6
00:57 lue joined #perl6
00:57 Tene joined #perl6
00:58 kbaker joined #perl6
01:02 shinobicl joined #perl6
01:02 lee_ joined #perl6
01:02 breinbaas joined #perl6
01:02 apejens joined #perl6
01:02 risou_awy_ joined #perl6
01:02 dayangkun joined #perl6
01:02 lue joined #perl6
01:02 Tene joined #perl6
01:02 clsn joined #perl6
01:03 slavik joined #perl6
01:04 lue .oO( .net.split for @users )
01:13 xinming_ joined #perl6
01:16 BenGoldberg Why is the quit message "*.net *.split", instead of, say, "*.split *.net" ?
01:17 geekosaur because everyone calls it a netsplit?
01:17 geekosaur and it wants to keep that format because IRC clients that recognize netsplits mostly do so by looking for that message format (on not-freenode, it's a pair of hostnames indicating what link when down)
01:17 geekosaur *went down
01:46 shinobicl joined #perl6
01:58 d^_^b joined #perl6
01:59 pdcawley joined #perl6
02:07 skids joined #perl6
02:10 mavcunha joined #perl6
02:28 mavcunha joined #perl6
03:00 colomon joined #perl6
03:35 hoverboard joined #perl6
03:54 virtualsue joined #perl6
04:04 molaf joined #perl6
04:04 lue Can anybody tell me why perl6-any --doc=HTML won't render this =TITLE properly ? https://gist.github.com/lue/2312fa89ebaa4fa64f5e
04:05 lue It works if I put the title on the same line as =TITLE, and annoyingly putting the title on the next line works every test pod file I've tried so far.
04:06 lue Oh! I see what it is; having whitespace at the end of the =TITLE line is what breaks it. Somehow.
04:41 konnjuta joined #perl6
05:28 felipe joined #perl6
05:34 SamuraiJack joined #perl6
05:36 colomon_ joined #perl6
05:42 lue r: say "[A]" ~~ / ["[" ~ "]" | "{" ~ "}"] A /
05:42 camelia rakudo-parrot 9d0eb5, rakudo-jvm 9d0eb5, rakudo-moar 9d0eb5: OUTPUT«[31m===[0mSORRY![31m===[0m�Unrecognized regex metacharacter ~ (must be quoted to match literally)�at /tmp/tmpfile:1�------> [32msay "[A]" ~~ / ["[" ~ "]" [33m�[31m| "{" ~ "}"] A /[0m�Unable to pars…»
05:42 lue kinda hoping that would've worked :)
06:27 berekuk joined #perl6
06:32 moritz \o
06:35 [Sno] joined #perl6
06:57 darutoko joined #perl6
07:17 berekuk joined #perl6
07:26 dmol joined #perl6
07:42 hoelzro joined #perl6
07:46 pdcawley joined #perl6
07:47 timotimo o/
07:50 timotimo huh
07:50 FROGGS joined #perl6
07:50 timotimo if moarvm's version wasn't bumped
07:51 timotimo how come i could build rakudo-moar on the released tarball without trouble?
08:04 tadzik the appropriate version was in your path?
08:04 moritz timotimo: or maybe you didn't configure?
08:05 timotimo i started from a clean checkout
08:05 tadzik heh, 5.19.9 includes a "return at end of sub optimised out" optimisation
08:05 timotimo with --gen-moar
08:05 tadzik so we're not that far behind :)
08:23 pdcawley_ joined #perl6
08:37 [Sno] joined #perl6
08:41 Ven joined #perl6
08:45 tgt joined #perl6
08:48 bjz joined #perl6
09:15 fhelmberger joined #perl6
09:16 kaleem joined #perl6
09:32 nwc10 so, Rakudo atop MoarVM on 32 bit Debian with 512M of RAM needed 130M of swap, and I think mostly to evict other long running processes from RAM
09:32 tadzik nice!
09:33 nwc10 Rakudo atop Parrot on the same machine peaked at IIRC 500M of swap, and rattled the disk like crazy
09:33 nwc10 so. MoarVM uses a lot less memory.
09:38 masak good antenoon, #perl6
09:38 moritz \o masak, nwc10, tadzik, timotimo, *
09:39 tadzik o/
09:40 SamuraiJack joined #perl6
09:54 pecastro joined #perl6
09:55 * masak just realizes with a shock that "Guido" means "leader"
09:55 masak no such happenstance for "Larry" or "Matz", though :)
10:09 nwc10 but Guido seems to lead, whereas Larry and Matz seem to prefer to inspire
10:11 bjz_ joined #perl6
10:11 masak "Larry" seems to ultimately derive from the Latin word for "laurel".
10:12 jnthn nwc10: Hope we'll be able to get it to not swap at all... :)
10:12 masak "a symbol of highest status" according to Wikipedia.
10:12 masak so that checks out, too :)
10:12 nwc10 me too
10:21 mathw o/
10:26 masak \o
10:42 fridim_ joined #perl6
10:49 kurahaupo_mobile joined #perl6
10:49 masak I have no idea about the etymology of "Yukihiro"... :)
10:54 [Sno] joined #perl6
11:03 sqirrel joined #perl6
11:10 virtualsue joined #perl6
11:23 Rotwang joined #perl6
11:29 kanishka joined #perl6
11:42 Ven joined #perl6
11:57 vendethiel joined #perl6
12:04 Pleiades` joined #perl6
12:09 zakharyas joined #perl6
12:19 dayangkun joined #perl6
12:19 masak quiet today.
12:20 masak are you all worn out after the Rakudo release yesterday? :P
12:20 jnthn $dayjob :P
12:21 fhelmberger joined #perl6
12:21 mavcunha joined #perl6
12:21 dayangkun joined #perl6
12:23 * moritz is worn out after $work_week
12:24 fhelmberger joined #perl6
12:25 fhelmberger joined #perl6
12:32 masak $work_week is not over yet!
12:33 Biohazard left #perl6
12:46 Rotwang joined #perl6
12:49 tadzik but it almost is \o/
12:49 tadzik I really can't complain though. Visiting other office, teambuilding every day :)
12:51 masak sounds nice.
12:51 * masak is working from home, as he often does
12:51 fhelmberger joined #perl6
13:13 Pleiades` joined #perl6
13:23 Rotwang joined #perl6
13:33 Ven m: sub a([$a, $b, $c]) { say $b.perl; }; a([1, 2, 3]);
13:33 camelia rakudo-moar 9d0eb5: OUTPUT«2␤»
13:34 Ven m: sub a([$a, @_, $c]) { say $b.perl; }; a([1, 2, 3]);
13:34 camelia rakudo-moar 9d0eb5: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/nMstD3yC9vâ�¤Variable '$b' is not declaredâ�¤at /tmp/nMstD3yC9v:1â�¤------> [32msub a([$a, @_, $c]) { say $b.perl[33mâ��[31m; }; a([1, 2, 3]);[0mâ�¤    expecting any of:â�¤        method argumen…»
13:34 Ven m: sub a([$a, @*, $c]) { say $b.perl; }; a([1, 2, 3]);
13:34 camelia rakudo-moar 9d0eb5: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/RzEZstFpm6â�¤Unable to parse expression in formal parameter; couldn't find final ']' â�¤at /tmp/RzEZstFpm6:1â�¤------> [32msub a([$a, @[33mâ��[31m*, $c]) { say $b.perl; }; a([1, 2, 3]);[0mâ�¤   …»
13:34 Ven m: sub a([$a, *@, $c]) { say $b.perl; }; a([1, 2, 3]);
13:34 camelia rakudo-moar 9d0eb5: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/KuRicySWKZâ�¤Cannot put required parameter $c after variadic parametersâ�¤at /tmp/KuRicySWKZ:1â�¤------> [32msub a([$a, *@, $c[33mâ��[31m]) { say $b.perl; }; a([1, 2, 3]);[0mâ�¤    expecting any…»
13:34 Ven :(
13:34 masak Ven: two things:
13:34 masak you use $b in that sub, but don't declare it.
13:34 nebuchadnezzar joined #perl6
13:34 Ven doesn't matter here
13:35 masak you can't declare positional parameters (like $c) after variadic ones (like *@)
13:35 masak it simply doesn't make sense.
13:35 Ven it does, though
13:35 masak the *@ means "ok, now, take all the rest of the positionals"
13:35 moritz and the error message tells you so
13:35 masak no, it doesn't, not when you know that binding is one-pass.
13:35 masak (it doesn't make sense, that is)
13:35 Ven multiple variadic doesn't make sense, but if you can add required params *before* variadics, it should allow one to put some after
13:35 masak Ven: you're not listening.
13:36 masak parameter binding is one-pass.
13:36 masak Ven: what you want can't work, and for a good reason.
13:36 Ven masak: I am. But it being one-pass seems like an impl. detail to me
13:36 moritz Ven: think of lazy/infinite arrays for a moment
13:36 masak yes, but in your case, it's *the* implementation detail. :)
13:36 masak the one that prevents your impossible wish from coming true.
13:36 moritz also, not just implementation detail. It's a very simple mental model.
13:36 Ven m: sub a([*@, $c]) { say $c.perl; }; a([1, 2, 3]);
13:36 camelia rakudo-moar 9d0eb5: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/Uv_VamjYFXâ�¤Cannot put required parameter $c after variadic parametersâ�¤at /tmp/Uv_VamjYFX:1â�¤------> [32msub a([*@, $c[33mâ��[31m]) { say $c.perl; }; a([1, 2, 3]);[0mâ�¤    expecting any of:…»
13:36 masak Ven: please wish something possibler.
13:37 Ven masak: some languages allow it :p
13:37 Ven it just so happens I'm used to them
13:37 moritz Ven: do those languages also flatten arrays?
13:37 Ven (also @moritz)
13:37 Ven moritz: no, and I thank them for that
13:37 ajr joined #perl6
13:38 moritz Ven: well, that's be big difference
13:38 Ven that's my biggest issue with perl 6, actually : flattening
13:38 moritz Ven: you can add have positional parameters after an array param, no problem
13:38 mavcunha joined #perl6
13:38 Ven moritz: (add have?)
13:38 moritz s/add//
13:38 jnthn Ven: It's NOT an impl detail, if it wasn't true you could not rely on previous parameters having been bound when you write defaults for later ones.
13:39 Ven you mean like `sub a(@b, $a)` ?
13:39 moritz Ven: I don't like the current flattening semantics; but so far I haven't been able to come up with an alternative that doesn't feel totally clunky
13:39 moritz Ven: yes
13:39 Ven moritz: perl is the only language with flattening that I'm aware of
13:39 masak I don't like flattening semantics at all.
13:39 masak I don't think it's worth it.
13:39 Ven masak++
13:40 moritz what about forth?
13:40 masak I'm not sure "flattening" is definable in Forth ;)
13:40 masak because there aren't really parameters, just a stack.
13:40 Ven it makes it really harder for me to reason about, I always spend some time trying to think whether it's gonna flatten, can I foreach that, oh what I have to itemize item, wait I have deep stuff, tree, or this is giving me lol ?
13:41 masak Ven: don't get me wrong. I'm not campaigning for a removal of flattening semantics from Perl 6. I'm on moritz' side there.
13:41 masak but I think the cost of having it in the language is a fairly steep learning curve.
13:41 Ven masak: oh, I know. That'd be, anyway, far too late
13:42 jnthn Yes, anybody trying to change such deep things in Perl 6 today would be better hanging out on perl6-language, not here.
13:42 moritz Ven: actually it's not complicated. $, [] and {} indicate that something doesn't flatten; the rest does
13:43 moritz that covers 99% of all cases
13:43 Ven I just don't think, if you have a function to get (and remove) the first element and one to get (and remove) the last, it should allow it
13:43 masak moritz: sets don't flatten.
13:44 Ven moritz: by now, I know pretty okay the language itself and I - mostly - know what happens. But it is suprising at first ... a lot so.
13:44 moritz m: Set ~~ Associative
13:44 camelia rakudo-moar 9d0eb5: ( no output )
13:44 moritz m: say Set ~~ Associative
13:44 jnthn Positional
13:44 camelia rakudo-moar 9d0eb5: OUTPUT«True␤»
13:44 moritz masak: hm, Set, Bag etc. don't appear in my mental model at all :/
13:44 moritz so far
13:44 moritz I guess I just haven't done enough with them
13:46 jnthn Perl 5 also does flattening, and plenty of folks seem to have managed to learn/use that. :)
13:46 Juerd Flattening is nice as long as you can tell from syntax that it will happen :)
13:48 masak r: say "hoolahoop".comb.Bag
13:48 camelia rakudo-parrot 9d0eb5, rakudo-moar 9d0eb5: OUTPUT«bag(h(2), o(4), l, a, p)␤»
13:48 camelia ..rakudo-jvm 9d0eb5: OUTPUT«bag(o(4), p, a, l, h(2))␤»
13:48 masak \o/
13:48 masak that feature finally works!
13:48 masak lizmat++, I presume.
13:48 masak or maybe colomon++.
13:58 kivutar joined #perl6
14:27 kbaker joined #perl6
14:29 timotimo ohai
14:30 masak timotimo! \o/
14:31 timotimo that's me!
14:31 timotimo i'm at an event called "hack'n'play"
14:34 jnthn What are you hacking, and what are you playing with? :)
14:37 timotimo don't know yet
14:37 timotimo the event starts in the evening, i came extra early to help set it up
14:37 timotimo turns out it's not that much work :P
14:39 dalek rakudo-star-daily: 6313f73 | coke++ | log/ (5 files):
14:39 dalek rakudo-star-daily: today (automated commit)
14:39 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/6313f734bd
14:39 dalek perl6-roast-data: dc1acf4 | coke++ | / (6 files):
14:39 dalek perl6-roast-data: today (automated commit)
14:39 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/dc1acf46a4
14:39 timotimo we still need a star releaser :)
14:40 * masak read "star releaser" and immediately thought "oh dear, what is HJPEV going to do with those stars...?"
14:40 moritz :-)
14:41 nwc10 so plenty of time to hack on Moar Star? :-)
14:42 timotimo hjpev?
14:42 moritz timotimo: the harry potter from HPMoR
14:42 moritz (harry james potter evans-verres)
14:43 timotimo ah
14:43 timotimo right
14:43 * timotimo uses the time he's got now to let the desktop do jvm benchmarks
14:46 hoelzro moar star could benefit from fixing URI on Moar =)
14:46 hoelzro self.greet('#perl6', :tod(*))
14:46 Alina-malina joined #perl6
14:48 FROGGS tod?
14:49 masak typo of ":to", prolly.
14:49 timotimo time of day
14:49 masak unless hoelzro just wished us all dead... in German.
14:49 masak *gasp*
14:49 hoelzro timotimo got it =)
14:49 masak :)
14:49 FROGGS phew :o)
14:49 masak API moral: don't abbreviate too much.
14:49 tadzik that'd be Tot
14:49 hoelzro if I had wished you dead in German, I would have used proper capitalization =)
14:50 tadzik like in Die Toten Hosen
14:50 timotimo not necessarily
14:50 * hoelzro .oO( Die Lebenden Hosen )
14:50 timotimo tot is the adjective, tod is the noun
14:50 FROGGS no, it is Tod (noun), and tot (verb)
14:50 FROGGS err, yeah
14:51 moritz the verb is "sterben", how intuitive
14:52 timotimo one letter in common!
14:53 masak language design is hard, especially when done more or less unconsciously across millennia.
14:53 tadzik ah
14:54 tadzik well, it's beyond the scope of "Ich besischtige die sehenswuerdigkeiten", so I'm allowed to not know that :P
14:54 daxim perl6: my $s = set <foo bar baz quux>; say 'fnord23foo42' ~~ $s
14:54 camelia rakudo-parrot 9d0eb5, rakudo-jvm 9d0eb5, rakudo-moar 9d0eb5, niecza v24-109-g48a8de3: OUTPUT«False␤»
14:54 masak tadzik: I admire your modest goals wrt German :P
14:54 daxim perl6: my @s = set <foo bar baz quux>; say 'fnord23foo42' ~~ @s
14:54 camelia rakudo-parrot 9d0eb5, rakudo-jvm 9d0eb5, rakudo-moar 9d0eb5, niecza v24-109-g48a8de3: OUTPUT«False␤»
14:55 tadzik :)
14:55 masak tadzik: though I once figured out how to say "can I please have more sanity napkins?" in Slovenian, and that went down really well with the stewardesses on my flight... so I know the feeling.
14:55 daxim perl6: my $s = set <foo bar baz quux>; say 'fnord23foo42' ~~ $s.join('|')
14:55 camelia rakudo-parrot 9d0eb5, rakudo-jvm 9d0eb5, rakudo-moar 9d0eb5, niecza v24-109-g48a8de3: OUTPUT«False␤»
14:55 tadzik :D
14:56 tadzik what are Sanity Napkins?
14:56 masak tadzik: I felt so proud when they later told me "sir, you need to put up your tray" *in Slovenian*.
14:56 tadzik :>
14:56 johnmilton joined #perl6
14:56 tadzik I could understand insanity napkins: The Napkins of Insanity, like a DnD weapon
14:56 masak tadzik: it's a napkin in a plastic bag, used to clean the hands before a meal, for example. they tend to smell like lemon.
14:56 tadzik ach, sanity like sanitizer
14:56 tadzik not like mental sanity
14:56 daxim s/sanity/sanitary/
14:57 masak maybe their real name is actually something else.
14:57 masak English is not my native tongue.
14:57 FROGGS tadzik++ # ach
14:57 tadzik that's Polish for "ah"
14:57 masak er, Wikipedia seems to thing "sanitary napkins" are... something else.
14:58 FROGGS tadzik: well, in german too :o)
14:58 masak seems they are actually called https://en.wikipedia.org/wiki/Wet_wipe -- TIL.
14:59 masak or "moist towelette".
14:59 tadzik in Polish they're just "Wet napkins"
14:59 tadzik or at least everybody calls them that
15:07 _thou joined #perl6
15:12 skids joined #perl6
15:16 dalek rakudo/nom: 1ad937b | coke++ | docs/release_guide.pod:
15:16 dalek rakudo/nom: Fix, unify release date algorithm.
15:16 dalek rakudo/nom:
15:16 dalek rakudo/nom: (Fixes bug I introduced with an oversimplification)
15:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1ad937bd32
15:16 dalek rakudo/nom: aefddd8 | coke++ | docs/release_guide.pod:
15:16 dalek rakudo/nom: Claim a release
15:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/aefddd8b97
15:17 [Coke] ^^ as punishment.
15:19 masak [Coke]++
15:21 masak http://parrot.org is no more?
15:23 masak was there a Parrot release earlier this week?
15:24 PerlJam There was.
15:24 nwc10 yes.
15:24 PerlJam Parrot 6.1.0 "Black-collared Lovebird" released Feb 18
15:24 nwc10 more over, I think that NQP now has the 6.1.0 as minimum for Parrot
15:24 nwc10 note, English is my first language and I still get it wrong sometimes. And I can't spell :-)
15:25 jnthn Yeah, I'm a native too, and still do pretty bad. I'm trying to make less mistakes, though. :P
15:26 nwc10 is this where masak observes that it's *fewer* mistakes? :-)
15:26 TimToady It don't matter much.
15:27 jnthn nwc10: That's what I was trolling for, yes :D
15:29 nwc10 fell for that one, didn't I?
15:29 TimToady matsumoto means something "pine trunk", and yukihiro means "road wide", from the characters involved
15:29 TimToady *something like
15:32 TimToady that's "trunk" as in main and foundational, not trunk as in cut off
15:33 TimToady we might say "stem" except we don't tend to apply that to woody plants
15:33 TimToady also "root", except we limit that to the underground parts
15:36 TimToady "mainstem" maybe captures it as closely as any single word in English
15:36 TimToady but that's not a common word
15:37 PerlJam trunk is a perfectly fine word  :)
15:37 TimToady but a "pine trunk" is a trunk made out of pine
15:38 TimToady words are always such squishy things
15:38 awwaiid elephant trunk (*troll*)
15:39 PerlJam Well it conjured the right idea in my head which then made me wonder why you were expounding on it.
15:39 PerlJam Perhaps my neural machinery was just lucky this time.
15:40 TimToady Yes, we have this collective illusion that once we've understood something, it was obvious. :)
15:41 TimToady Which, on the speaking end, translates to the illusion that if I understand what I'm saying, why don't you?
15:41 PerlJam perhaps.   Time is also a little squishy in our heads
15:42 TimToady "I'm just using words in their plain meanings; why are you making it difficult?"
15:42 PerlJam And *that's* why we need to standardize the English language just like the French did!  ;>
15:43 PerlJam (er, with the appropriate analogous mapping of course)
15:44 TimToady just remember what happend the last time the French remapped English
15:47 masak jnthn++ # "less mistakes" :P
15:47 treehug88 joined #perl6
15:48 rjbs perl6: for 1,2,3,4,5 -> $i, $j { $i.say }
15:48 camelia rakudo-parrot 9d0eb5, rakudo-jvm 9d0eb5, rakudo-moar 9d0eb5: OUTPUT«1␤3␤Not enough positional parameters passed; got 1 but expected 2␤  in block  at /tmp/tmpfile:1␤␤»
15:48 camelia ..niecza v24-109-g48a8de3: OUTPUT«Potential difficulties:â�¤  $j is declared but not used at /tmp/tmpfile line 1:â�¤------> [32mfor 1,2,3,4,5 -> $i, [33mâ��[31m$j { $i.say }[0mâ�¤â�¤1â�¤3â�¤Â»
15:48 masak TimToady: well "road wide" makes me think of TIMTOWTDI.
15:48 rjbs Is it fatal to mismatch input size to block arity?
15:48 TimToady either that, or "Wide is the road that leads to destruction."  :0
15:48 TimToady :)
15:48 masak rjbs: only at runtime.
15:49 masak rjbs: you could put a $j? to have it work with odd inputs.
15:49 nwc10 perl6: say "Hi"; for 1,2,3,4,5 -> $i, $j { $i.say }
15:49 rjbs Okay.  Once I do that, I can tell that $j wasn't actually available because it's Mu?
15:49 camelia niecza v24-109-g48a8de3: OUTPUT«Potential difficulties:â�¤  $j is declared but not used at /tmp/tmpfile line 1:â�¤------> [32msay "Hi"; for 1,2,3,4,5 -> $i, [33mâ��[31m$j { $i.say }[0mâ�¤â�¤Hiâ�¤1â�¤3â�¤Â»
15:49 camelia ..rakudo-parrot 9d0eb5, rakudo-jvm 9d0eb5, rakudo-moar 9d0eb5: OUTPUT«Hi␤1␤3␤Not enough positional parameters passed; got 1 but expected 2␤  in block  at /tmp/tmpfile:1␤␤»
15:49 * TimToady wishes there were a form that would take the arguments (1,2), (2,3), (3,4), (4,5)
15:50 masak rjbs: yes.
15:50 rjbs masak: Thanks muchly.
15:50 nwc10 perl6: my @a = (1,2,3,4,5); say "Hi"; for @_ -> $i, $j { $i.say }
15:50 camelia niecza v24-109-g48a8de3: OUTPUT«[31m===[0mSORRY![3​1m===[0mâ�¤â�¤Placeholder variable @_ may not be used outside of a block at /tmp/tmpfile line 1:â�¤------> [32mmy @a = (1,2,3,4,5); say "Hi"; for [33mâ��[31m@_ -> $i, $j { $i.say }[0mâ�¤â�¤Potential difficulties:â�¤  $j is de…»
15:50 camelia ..rakudo-parrot 9d0eb5, rakudo-jvm 9d0eb5, rakudo-moar 9d0eb5: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Cannot use placeholder parameter @_ in the mainline�at /tmp/tmpfile:1�------> [32mmy @a = (1,2,3,4,5); say "Hi"; for @_[33m�[31m -> $i, $j…»
15:50 masak rjbs: or if you want to explicitly check for non-passedness, give it a default $j = SENTINEL
15:50 nwc10 bother.
15:50 Ven PerlJam: french people don't know how to french
15:50 rjbs nod
15:50 nwc10 perl6: my @a = (1,2,3,4,5); say "Hi"; for @a -> $i, $j { $i.say }
15:50 camelia niecza v24-109-g48a8de3: OUTPUT«Potential difficulties:â�¤  $j is declared but not used at /tmp/tmpfile line 1:â�¤------> [32m = (1,2,3,4,5); say "Hi"; for @a -> $i, [33mâ��[31m$j { $i.say }[0mâ�¤â�¤Hiâ�¤1â�¤3â�¤Â»
15:50 camelia ..rakudo-parrot 9d0eb5, rakudo-jvm 9d0eb5, rakudo-moar 9d0eb5: OUTPUT«Hi␤1␤3␤Not enough positional parameters passed; got 1 but expected 2␤  in block  at /tmp/tmpfile:1␤␤»
15:51 nwc10 what did I do wrong there? I was thinking it would be a runtime error
15:51 masak nwc10: it was.
15:51 masak look at the Rakudo output.
15:51 nwc10 aha yes
15:51 nwc10 read the error message
15:51 masak Niecza is just being a sissy about unused variables.
15:51 Ven I don't like it :p
15:52 Ven when you comment/uncomment stuff and you have to go back 3 times :(
15:52 TimToady you can always say $ instead of $j if you don't like it
15:54 Ven perl6:sub a(Int $a, Int $b) { say $a.perl; say $b.perl; }; a(1..Inf);
15:54 TimToady colon needs space
15:54 Ven perl6: sub a(Int $a, Int $b) { say $a.perl; say $b.perl; }; a(1..Inf);
15:54 camelia rakudo-parrot 9d0eb5: OUTPUT«Nominal type check failed for parameter '$a'; expected Int but got Range instead␤  in sub a at /tmp/tmpfile:1␤  in block  at /tmp/tmpfile:1␤␤»
15:54 camelia ..rakudo-moar 9d0eb5: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤  in sub a at /tmp/tmpfile:1␤  in block  at /tmp/tmpfile:1␤␤»
15:54 camelia ..niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Nominal type check failed in binding '$a' in 'a'; got Range, needed Int␤  at /tmp/tmpfile line 0 (a @ 1) ␤  at /tmp/tmpfile line 1 (mainline @ 4) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4595 (ANON @ 3) ␤  at /home/…»
15:54 Ven TimToady++
15:54 camelia ..rakudo-jvm 9d0eb5: OUTPUT«Nominal type check failed for parameter '$a'␤  in sub a at /tmp/tmpfile:1␤  in block  at /tmp/tmpfile:1␤␤»
15:55 Ven perl6: sub a(Int $a, Int $b) { say $a.perl; say $b.perl; }; a(|1..Inf);
15:55 camelia rakudo-parrot 9d0eb5, rakudo-jvm 9d0eb5, rakudo-moar 9d0eb5: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Variable '&prefix:<|>' is not declared�at /tmp/tmpfile:1�------> [32mnt $b) { say $a.perl; say $b.perl; }; a([33m�[31m|1..Inf);[0m�»
15:55 camelia ..niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Unable to resolve method Capture in type Int␤  at /home/p6eval/niecza/lib/CORE.setting line 3498 (prefix:<|> @ 4) ␤  at /tmp/tmpfile line 1 (mainline @ 4) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4595 (ANON @ 3) ␤  …»
15:55 Ven perl6: sub a(Int $a, Int $b) { say $a.perl; say $b.perl; }; a(|(1..Inf));
15:55 camelia rakudo-parrot 9d0eb5, rakudo-jvm 9d0eb5, rakudo-moar 9d0eb5: OUTPUT«Not enough positional parameters passed; got 0 but expected 2␤  in sub a at /tmp/tmpfile:1␤  in block  at /tmp/tmpfile:1␤␤»
15:55 camelia ..niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Unable to resolve method Capture in type Range␤  at /tmp/tmpfile line 1 (mainline @ 4) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4595 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4596 (module-CORE @ 576) …»
15:56 TimToady interesting
15:56 Ven well.
15:56 masak <TimToady> you can always say $ instead of $j if you don't like it
15:56 masak TimToady: it always felt like less-dire-than-a-warning to me.
15:56 TimToady perl6: sub a(Int $a, Int $b) { say $a.perl; say $b.perl; }; a(|[1..Inf]);
15:56 camelia niecza v24-109-g48a8de3: OUTPUT«(timeout)»
15:56 camelia ..rakudo-parrot 9d0eb5, rakudo-jvm 9d0eb5, rakudo-moar 9d0eb5: OUTPUT«Not enough positional parameters passed; got 0 but expected 2␤  in sub a at /tmp/tmpfile:1␤  in block  at /tmp/tmpfile:1␤␤»
15:56 masak *maybe* I would like to know these things at the make-a-commit resolution of the dev cycle.
15:56 masak but not with every compile; then it just turns to noise.
15:57 TimToady maybe it should randomly do it every 10th time :)
15:57 TimToady wait, if it's every 10th time, it's not random...
15:57 Ven what I was gonna say ^
15:57 TimToady squishy words
15:57 Ven TimToady: do you consider |Range not working a bug ?
15:57 btyler joined #perl6
15:58 TimToady perl6: sub a(Int $a, Int $b) { say $a.perl; say $b.perl; }; a(|[1..2];
15:58 camelia niecza v24-109-g48a8de3: OUTPUT«[31m===[0mSORRY![31m===[0m��Unable to parse argument list at /tmp/tmpfile line 1:�------> [32mnt $b) { say $a.perl; say $b.perl; }; a([33m�[31m|[1..2];[0m�Couldn't find final ')'; gave up at /tmp/tmpfile line 1 (EOF):�------> [32m…»
15:58 camelia ..rakudo-parrot 9d0eb5, rakudo-jvm 9d0eb5, rakudo-moar 9d0eb5: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Unable to parse expression in argument list; couldn't find final ')' �at /tmp/tmpfile:1�------> [32m say $a.perl; say $b.perl; }; a(|[1..2];[…»
15:58 TimToady perl6: sub a(Int $a, Int $b) { say $a.perl; say $b.perl; }; a(|[1..2]);
15:58 camelia rakudo-parrot 9d0eb5, rakudo-jvm 9d0eb5, rakudo-moar 9d0eb5, niecza v24-109-g48a8de3: OUTPUT«1␤2␤»
15:58 Ven perl6: sub a(Str $a, Str $b) { say $a.perl; say $b.perl; }; a(|<a b>);
15:58 camelia rakudo-parrot 9d0eb5, rakudo-jvm 9d0eb5, rakudo-moar 9d0eb5, niecza v24-109-g48a8de3: OUTPUT«"a"␤"b"␤»
15:58 TimToady I do expect that trying to feed an infinite number of arguments to prefix:<|> is going to come to grief
15:59 TimToady perl6: sub a(Int $a, Int $b) { say $a.perl; say $b.perl; }; a(|(1..2));
15:59 camelia rakudo-parrot 9d0eb5, rakudo-jvm 9d0eb5, rakudo-moar 9d0eb5: OUTPUT«1␤2␤»
15:59 camelia ..niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Unable to resolve method Capture in type Range␤  at /tmp/tmpfile line 1 (mainline @ 4) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4595 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4596 (module-CORE @ 576) …»
15:59 Psyche^_ joined #perl6
15:59 Ven Interesting.
15:59 Ven perl6: sub a(Int $a, Int $b) { say $a.perl; say $b.perl; }; a(|(1..3));
15:59 camelia niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Unable to resolve method Capture in type Range␤  at /tmp/tmpfile line 1 (mainline @ 4) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4595 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4596 (module-CORE @ 576) …»
15:59 camelia ..rakudo-parrot 9d0eb5, rakudo-jvm 9d0eb5, rakudo-moar 9d0eb5: OUTPUT«Too many positional parameters passed; got 3 but expected 2␤  in sub a at /tmp/tmpfile:1␤  in block  at /tmp/tmpfile:1␤␤»
15:59 Ven that's fine
16:00 Ven perl6: sub a(Int $a, Int $b) { say $a.perl; say $b.perl; }; a(|(1...2));
16:00 camelia rakudo-parrot 9d0eb5, rakudo-jvm 9d0eb5, rakudo-moar 9d0eb5: OUTPUT«1␤2␤»
16:00 camelia ..niecza v24-109-g48a8de3: OUTPUT«Rebuild in progress␤»
16:00 TimToady r: sub a(Int $a, @b) { say $a.perl; say $b.perl; }; a(|(1..*));
16:00 camelia rakudo-parrot 9d0eb5, rakudo-jvm 9d0eb5, rakudo-moar 9d0eb5: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Variable '$b' is not declaredâ�¤at /tmp/tmpfile:1â�¤------> [32ma(Int $a, @b) { say $a.perl; say $b.perl[33mâ��[31m; }; a(|(1..*));[0mâ�¤    ex…»
16:00 TimToady r: sub a(Int $a, @b) { say $a.perl; say @b.perl; }; a(|(1..*));
16:00 camelia rakudo-parrot 9d0eb5, rakudo-jvm 9d0eb5, rakudo-moar 9d0eb5: OUTPUT«Not enough positional parameters passed; got 0 but expected 2␤  in sub a at /tmp/tmpfile:1␤  in block  at /tmp/tmpfile:1␤␤»
16:00 TimToady r: sub a(Int $a, *@b) { say $a.perl; say @b.perl; }; a(|(1..*));
16:00 camelia rakudo-parrot 9d0eb5, rakudo-jvm 9d0eb5, rakudo-moar 9d0eb5: OUTPUT«Not enough positional parameters passed; got 0 but expected at least 1␤  in sub a at /tmp/tmpfile:1␤  in block  at /tmp/tmpfile:1␤␤»
16:01 TimToady that arguably could be made to work, but it seem difficile
16:01 TimToady r: sub a(Int $a, *@b) { say $a.perl; say @b.perl; }; a(|(1...*));
16:01 camelia rakudo-parrot 9d0eb5, rakudo-jvm 9d0eb5, rakudo-moar 9d0eb5: OUTPUT«Not enough positional parameters passed; got 0 but expected at least 1␤  in sub a at /tmp/tmpfile:1␤  in block  at /tmp/tmpfile:1␤␤»
16:02 TimToady "got 0" seems like a bug
16:02 jnthn I *think* underneath it's doing .gimme(*), which yields nothing on a known infinite list...
16:02 Ven TimToady++
16:02 jnthn I suspect the better answer is to explode earlier
16:03 jnthn "No, you can't use an infinite list with |"
16:03 Ven :D most definitely
16:03 TimToady or figure out when to call .gimme(1) instead
16:03 jnthn um
16:03 jnthn That means knowing what we're calling when we evaluate the arglist. So, no. :P
16:04 TimToady a capture is allowed to contain infinite lists
16:04 jnthn Yeah, but | is taking the thing after it and making a Capture out of it.
16:05 jnthn sub foo(*@a) { }; foo(1..Inf)
16:05 jnthn is quite different from
16:05 jnthn sub foo(*@a) { }; foo(|(1..Inf))
16:05 jnthn r: sub foo(*@a) { }; foo(\(1..Inf)) # should be fine
16:05 camelia rakudo-parrot 9d0eb5, rakudo-jvm 9d0eb5, rakudo-moar 9d0eb5: ( no output )
16:05 TimToady | doesn't make a capture, \ does
16:05 jnthn So yeah, capture containing is fine
16:05 jnthn Right
16:06 jnthn Well, it is making a Capture secretly as an implementation detail at the moment, iirc.
16:06 TimToady ahah!
16:06 jnthn But you never see it. It vanishes into the outer one.
16:06 jnthn And it won't stay that way because it's deeply suboptimal.
16:07 jnthn Still, even when I optimize that away I wasn't expecting a semantic change.
16:07 sqirrel joined #perl6
16:08 TimToady I demand that you consider it, but only in the French sense of "demand".  :)
16:08 nwc10 perl6: my @a = (1,2,3,4,5); say "Hi"; for @a -> $i, $j? { $i.say }
16:08 camelia niecza v24-109-g48a8de3: OUTPUT«Potential difficulties:â�¤  $j is declared but not used at /tmp/tmpfile line 1:â�¤------> [32m = (1,2,3,4,5); say "Hi"; for @a -> $i, [33mâ��[31m$j? { $i.say }[0mâ�¤â�¤Hiâ�¤1â�¤3â�¤Â»
16:08 camelia ..rakudo-parrot 9d0eb5, rakudo-jvm 9d0eb5, rakudo-moar 9d0eb5: OUTPUT«Hi␤1␤3␤5␤»
16:09 jnthn TimToady: Well, we've tried to avoid "look at what you're calling to know how to compile the call", and this feels like it's in that territory.
16:10 jnthn Of course, you can do the looking at runtime too, but that slows down every use of |
16:10 jnthn And again significantly complicates compilation.
16:10 TimToady well, the whole point of | is to cheat
16:11 TimToady it's a little escape valve like EVAL
16:11 TimToady so I'm not too concerned about the performance of |
16:13 jnthn It's the thing we use to write delegators, though...
16:13 jnthn Which can be on the odd hot path
16:14 TimToady are you talking about sig's | ?
16:14 TimToady that seems different from prefix:<|> in my mind
16:14 jnthn Well, you use both, no?
16:15 TimToady sub a (|foo) { say foo }; a 1 2 3;
16:15 TimToady r: sub a (|foo) { say foo }; a 1 2 3;
16:15 camelia rakudo-parrot 9d0eb5, rakudo-jvm 9d0eb5, rakudo-moar 9d0eb5: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Two terms in a rowâ�¤at /tmp/tmpfile:1â�¤------> [32msub a (|foo) { say foo }; a 1 [33mâ��[31m2 3;[0mâ�¤    expecting any of:â�¤        postfix…»
16:15 TimToady guh
16:15 jnthn method dispatch:<.^>(Mu \SELF: $name, |c) is rw is hidden_from_backtrace {
16:15 jnthn self.HOW."$name"(SELF, |c)
16:15 TimToady r: sub a (|foo) { say foo }; a 1, 2, 3;
16:15 jnthn }
16:15 camelia rakudo-parrot 9d0eb5, rakudo-jvm 9d0eb5, rakudo-moar 9d0eb5: OUTPUT«1 2 3␤»
16:16 jnthn There's a typical example
16:16 TimToady wouldn't that work without the prefix?
16:16 jnthn No
16:16 jnthn That'd pass the Capture as an argument.
16:17 jnthn I suspect simple cases like this we can have the optimizer do tricks for...
16:17 TimToady well, but surely c can contain an infinite arglist
16:18 jnthn The array part of a Capture doesn't flatten, though.
16:18 TimToady well, an arglist containing infinities anyway
16:18 jnthn So it contains the infinite thingy
16:18 TimToady right, well, I won't insist on it :)
16:19 TimToady carry on, and ignore the psychotic language designer behind the curtain :)
16:21 * TimToady refrains from making a pun on Ruby slippers
16:21 TimToady or on wide roads made of yellow bricks
16:23 jnthn r: sub foo(*@a) {}; sub bar(|c) { foo(|c) }; bar(1..Inf) # just making sure... :)
16:23 camelia rakudo-parrot 9d0eb5, rakudo-jvm 9d0eb5, rakudo-moar 9d0eb5: ( no output )
16:23 jnthn r: sub foo(*@a) { say @a[^5] }; sub bar(|c) { foo(|c) }; bar(1..Inf) # just making sure... :)
16:23 camelia rakudo-parrot 9d0eb5, rakudo-jvm 9d0eb5, rakudo-moar 9d0eb5: OUTPUT«1 2 3 4 5␤»
16:23 TimToady As you may have noticed, I am not really a language lawyer.  I am a language clown.
16:25 rjbs ha
16:25 TimToady As long as the jury is entertained, I don't care so much about the verdict...
16:25 rjbs …and Joe Pesci as Larry Wall
16:26 TimToady I am not a clown, but one plays me on TV.
16:26 TimToady or something like that
16:29 * TimToady wonders if he will still think he's funny after he's no longer drugged up to the eyeballs for pneumonia...
16:30 masak TimToady: get well soon.
16:30 * TimToady attempts to associate not quite so freely
16:31 TimToady good think I don't have gnumonia, or I'd have to share it
16:31 TimToady *thing
16:31 masak that's GNU/Monia!
16:31 masak Monia is just the kernel!
16:32 Gothmog_ joined #perl6
16:32 TimToady --King Richard IV
16:33 TimToady .oO(who had two humps?)
16:33 eiro is it related to pneu/monia ?
16:33 masak eiro: yes, that was the pun.
16:33 * masak .oO( punmonia )
16:34 molaf_ joined #perl6
16:34 eiro damn... i have to read the whole feed next time.
16:36 TimToady The road to purgatory is paved with melting snowclones all the way down.
16:36 kaleem joined #perl6
16:37 masak eiro: the WHOLE feed!?
16:38 TimToady well, only the parts that have been logged
16:39 * masak .oO( the feed to purgatory is logged with melting snowclones )
16:41 Ven r: my a(**@a) { say @a.perl; }; a(1, (2, (3, 4)));
16:41 eiro haha ... i meant: just enough to understand that gnu/monia was a pun on pneumonia (so i wouldn't try to make a pun about gnu/monia )
16:41 camelia rakudo-parrot aefddd, rakudo-jvm aefddd, rakudo-moar aefddd: OUTPUT«[31m===[0mSORRY![31m===[0m�Type 'a' is not declared�at /tmp/tmpfile:1�------> [32mmy a[33m�[31m(**@a) { say @a.perl; }; a(1, (2, (3, 4)[0m�Malformed my�at /tmp/tmpfile:1�------> [32mmy [33m…»
16:41 Ven r: sub a(**@a) { say @a.perl; }; a(1, (2, (3, 4)));
16:41 camelia rakudo-parrot aefddd, rakudo-jvm aefddd, rakudo-moar aefddd: OUTPUT«LoL.new(1, $(2, (3, 4)))␤»
16:42 Ven r: sub a(*@a) { say @a.perl; }; a(1, (2, (3, 4)));
16:42 camelia rakudo-parrot aefddd, rakudo-jvm aefddd, rakudo-moar aefddd: OUTPUT«Array.new(1, 2, 3, 4)␤»
16:42 eiro hello #perl6 btw.
16:42 Ven hi eiro!
16:43 TimToady r: sub a(**@a) { say @a.perl; }; a(1, (2, 1..*);
16:43 camelia rakudo-parrot aefddd, rakudo-jvm aefddd, rakudo-moar aefddd: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Unable to parse expression in argument list; couldn't find final ')' �at /tmp/tmpfile:1�------> [32m(**@a) { say @a.perl; }; a(1, (2, 1..*);[…»
16:43 TimToady r: sub a(**@a) { say @a.perl; }; a(1, 1..*);
16:43 camelia rakudo-parrot aefddd, rakudo-jvm aefddd, rakudo-moar aefddd: OUTPUT«LoL.new(1, 1..Inf)␤»
16:43 TimToady r: sub a(**@a) { say @a.perl; }; a(1, (2...*));
16:43 masak eiro! \o/
16:43 camelia rakudo-parrot aefddd, rakudo-jvm aefddd, rakudo-moar aefddd: OUTPUT«LoL.new(1, (ListIter.new(),).list.item)␤»
16:43 Ven I list how it doesnt flatten :p
16:44 * TimToady thinks of **@a as deeply related to multi-dimensional subscripts: .[1; 2..*]
16:49 TimToady since each dimension is sliced independently, you need a list of independent lists, each of which (in Perl 6 anyway) has normal flattening semantics
16:49 TimToady so there's this fundamental need for a list that itemizes one level down only, not all the way down
16:50 tadzik Norway <3
16:50 TimToady hence the attempts to distinguish .lol from .tree
16:50 tadzik a train that goes to the airport costs as much as one beer, and it has power and wifi
16:50 Ven # I only know .item and .tree :p
16:51 TimToady .lol is what ** binding is basically doing
16:51 TimToady it's a .tree(*.item) on the top level
16:51 TimToady (by current spec, not current rakudo behavior)
16:51 Ven r: sub a(**@a) { say @a.perl; }; a(1, (2, (3, (5, (6, 7)))));
16:51 camelia rakudo-parrot aefddd, rakudo-jvm aefddd, rakudo-moar aefddd: OUTPUT«LoL.new(1, $(2, (3, (5, (6, 7)))))␤»
16:51 Ven oh yeah, it won't flatten deeper.
16:52 TimToady we want to be able to use parens in a list for mere operator grouping
16:53 TimToady of the (1+2)*3 variety
16:53 TimToady overloading parens with mandatory structure is not the Perl way
16:53 Ven yeah, that too :p
16:53 TimToady but there is parcel structure there for when it matters
16:54 TimToady so parcels are about deciding lazily whether the parens matter
16:54 Ven that's why "tuples" are usually 2+ and other than that you use arrays, I guess
16:54 * TimToady agrees that the learning curve is steeper right there than in languages that force the user to clarify themselves continually :)
16:55 TimToady but it's an intentional tradeoff
16:55 Ven I guess I'm just not used to flattening, to start with
16:55 Ven never used p5
16:55 masak TimToady: yes, that's why I'm not raging against it. :)
16:55 masak TimToady: flattening is occasionally very nice. but it does require more mental model.
16:56 jnthn Well, when I don't have it, I find myself needing to call .Concat and .SelectMany :)
16:56 jnthn You pay somewhere.
16:56 Ven you always do
16:57 Ven I don't have that problem very much in c#, mostly because I almost never use arrays
16:57 dalek rakudo/nom: 5fe2db2 | Mouq++ | src/Perl6/Grammar.nqp:
16:57 dalek rakudo/nom: Fix parsing of abbreviated pod markers
16:57 dalek rakudo/nom:
16:57 dalek rakudo/nom: Now, "=TITLE \ncontent" (note the space) will be processed correctly
16:57 dalek rakudo/nom: lue++
16:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5fe2db2b83
16:57 jnthn Me either, but I use enumerables and lists all over.
16:58 TimToady The tricksy language designer merely figures out how to get the user to blame themselves for the WAT bits. :)
16:58 Ven the what :)?
16:59 TimToady around here, WAT is the reverse side of the coin that has DWIM on its face.
17:00 TimToady and conveniently, WAT is a shorter word than DWIM, which means we try to keep the WAT from feeling equal to the DWIM :)
17:00 TimToady otherwise we'd spell it MIWD, and all become dualists.
17:03 masak I was a dualist, until I took an arrow to the knee...
17:04 [Coke] I bow to your punnery.
17:04 jnthn masak: :P
17:04 TimToady thing is, thinking the good and the bad must always balance out is one-dimensional thinking.  as soon as you get into multiple dimensions, the path matters, and commutativity and associativity break down
17:05 jnthn masak: I've said that in multiple Rx talks now, and each time about 1 or 2 people in the room get it :P
17:05 TimToady which is why I think we can hide the WAT in the corners people don't get to so often
17:05 PerlJam .oO( The community breaks down?!? )
17:06 TimToady the community is all about group theory :P
17:06 masak TimToady: right. it's waterbed theory, but people don't sleep in the corners of the bed :)
17:07 geekosaur "this corner is wet"
17:07 TimToady the WAT is equal, but not opposite :)
17:07 PerlJam but ... but ... my bed is round!
17:11 mavcunha joined #perl6
17:12 telex joined #perl6
17:12 xfix joined #perl6
17:17 cognominal joined #perl6
17:20 sqirrel joined #perl6
17:35 fhelmberger joined #perl6
17:36 [Sno] joined #perl6
17:38 ajr__ joined #perl6
17:40 TimToady p6: my @s := set <a b c>
17:40 camelia rakudo-moar 5fe2db: OUTPUT«Type check failed in binding; expected 'Positional' but got 'Set'␤  in any bind_error at src/vm/moar/Perl6/Ops.nqp:216␤  in block  at /tmp/tmpfile:1␤␤»
17:40 camelia ..rakudo-parrot 5fe2db, rakudo-jvm 5fe2db: OUTPUT«Type check failed in binding; expected 'Positional' but got 'Set'␤  in block  at /tmp/tmpfile:1␤␤»
17:40 camelia ..niecza v24-109-g48a8de3: OUTPUT«Potential difficulties:â�¤  @s is declared but not used at /tmp/tmpfile line 1:â�¤------> [32mmy [33mâ��[31m@s := set <a b c>[0mâ�¤â�¤Â»
17:41 TimToady what I thought
17:41 jnthn yes, but what you wanted too? :)
17:42 TimToady indeed, sets are Assoc, not Pos
17:43 TimToady p6: my %s := set <a b c>; say %s
17:43 camelia rakudo-jvm 5fe2db: OUTPUT«set(b, a, c)␤»
17:43 camelia ..rakudo-parrot 5fe2db, rakudo-moar 5fe2db, niecza v24-109-g48a8de3: OUTPUT«set(a, b, c)␤»
17:43 TimToady p6: my %s := set <a b c>; print %s
17:43 camelia rakudo-parrot 5fe2db, rakudo-moar 5fe2db: OUTPUT«a b c»
17:43 camelia ..niecza v24-109-g48a8de3: OUTPUT«abc»
17:43 camelia ..rakudo-jvm 5fe2db: OUTPUT«b a c»
17:43 TimToady hah
17:44 TimToady rakudo is correct in a TMTOWTDI sort of way
17:48 jnthn Just hash ordering, I suspect
17:48 hoverboard joined #perl6
17:52 kurahaupo_mobile joined #perl6
18:00 treehug8_ joined #perl6
18:11 SamuraiJack joined #perl6
18:12 klapperl_ joined #perl6
18:12 FROGGS joined #perl6
18:19 bluescreen10 joined #perl6
18:29 kurahaupo_mobile joined #perl6
18:32 vendethiel do you know of another language that has both dynamic and lexical scoping ?
18:32 vendethiel (except for lisps, that is)
18:35 berekuk joined #perl6
18:37 kurahaupo_mobile vendethiel: I suspect PHP will soon, if it's to survive as a "serious" language.
18:37 vendethiel kurahaupo_mobile: uh ? why ?
18:37 vendethiel I mean - PHP has insane scoping rules, but it probably doesn't both lexical and dyanmic
18:45 kurahaupo_mobile vendethiel: mostly on the basis that PHP has decided to recapitulate the history of Perl in most respects
18:46 kurahaupo_mobile they seem incapable of learning ftom history
18:46 vendethiel kurahaupo_mobile: they did stop their own 6 version though :D
18:46 kurahaupo_mobile so eventually they'll meed lexical vars
18:47 kurahaupo_mobile need*
18:51 raiph joined #perl6
18:51 vendethiel kurahaupo_mobile: you consider globals as dynamic scoping ?
18:51 treehug88 joined #perl6
18:53 rurban joined #perl6
18:53 vendethiel "Perl: there’s more than one way to do it! PHP: Found the one way to do it wrong" ha
18:53 kurahaupo_mobile :)
19:01 kaare_ joined #perl6
19:02 timotimo too muc hbacklog :|
19:03 ajr joined #perl6
19:03 raiph timotimo: http://irclog.perlgeek.de/perl6/2014-02-21/summary
19:04 raiph parrot.org Registry Expiry Date: 2014-02-22 # attention parroteers
19:04 raiph (I've pasted that in #parrot too)
19:05 timotimo <3
19:06 [Coke] raiph: the parrot on irc.perl.org? don't see it.
19:07 moritz writing to parrot-dev might be better
19:07 moritz actually parrot-directors@lists.parrot.org
19:07 moritz I'll do that
19:08 raiph Well that email address ought to have received reminders anyway
19:08 raiph because it's the contact email of record for parrot.org
19:09 moritz I'll set parrot-dev CC
19:10 mtk joined #perl6
19:10 Sqirrel joined #perl6
19:11 raiph [Coke]: derp, I joined the freenode #parrot (and remained oblivious to obvious signs I was in the wrong place)
19:11 timotimo the developer of nimrod is going ta do a talk at the functional programmer's meetup group in my home town
19:12 timotimo seems interesting
19:13 kurahaupo_mobile joined #perl6
19:14 raiph [Coke]++ # posting about parrot.org on correct #parrot
19:16 ajr_ joined #perl6
19:18 dalek Heuristic branch merge: pushed 49 commits to rakudo/eleven by FROGGS
19:18 SamuraiJack joined #perl6
19:19 dalek panda/eleven: 934a4f3 | tadzik++ | ext/File__Find:
19:19 dalek panda/eleven: Update File::Find
19:19 dalek panda/eleven: review: https://github.com/tadzik/panda/commit/934a4f3152
19:19 dalek panda/eleven: 5e52ffd | (Tobias Leich)++ | ext/File__Find:
19:19 dalek panda/eleven: Merge branch 'master' of github.com:tadzik/panda into eleven
19:19 dalek panda/eleven: review: https://github.com/tadzik/panda/commit/5e52ffd6be
19:20 timotimo FROGGS: are you continuing work? :)
19:20 FROGGS timotimo: of course I do :o)
19:20 jnthn FROGGS++
19:20 timotimo like, right now?
19:21 timotimo also, the jvm benchmarks are still running >_>
19:21 FROGGS well, eleven is kinda working, so I might bring some sanity into it now
19:22 FROGGS or fix the panda bug raydiak is hitting
19:22 timotimo cool :)
19:22 timotimo what is he doing? =o
19:22 timotimo and will your work make it work well with moar and jvm? :)
19:22 FROGGS it is just about installing Math::ThreeD
19:22 FROGGS it has a Build.pm, and panda is passing the path wrongish
19:23 colomon eleven?
19:23 FROGGS eleven.
19:23 colomon 5 + 6?
19:23 FROGGS no
19:23 FROGGS S11
19:23 colomon ah
19:24 FROGGS about installing modules to a repository rather then flat on disk
19:24 FROGGS than*?
19:24 FROGGS probably
19:24 colomon than, yes
19:24 colomon cool
19:26 FROGGS I think it offers some very nice features
19:26 FROGGS so I'd like to get this live in the near future
19:28 FROGGS damn, I love this soo much! -->   @modules Z=> @module-files
19:30 FROGGS I'd be able to rewrite my latest project at work with like 30% loc than it is now and it would way more readable
19:30 FROGGS (no, it's not PHP, it is P5)
19:32 tadzik a train that goes to the airport costs as much as one beer, and it has power and wifi
19:32 tadzik or, sorry
19:32 FROGGS hmmmm, beer or wifi... that's hard man
19:33 tadzik there's one on the plane too :o
19:33 jnthn tadzik: Flying with Norwegian?
19:33 tadzik the ping is about 3-4 secs though, makes ircing on ssh hard
19:33 tadzik jnthn: yep
19:33 jnthn <3
19:33 jnthn I like them. Free wifi. :)
19:34 jnthn They probably have beer too, but sadly that's not free :)
19:34 tadzik Norwegian: distributing future evenly
19:35 jnthn Yeah. It's like, why don't all the airlines do this...
19:37 tadzik it's to different mentalities, sadly
19:37 tadzik "Let's make something good" vs "Let's make something we can suck money from constantly"
19:41 timotimo tadzik: there's a trai non the plane?!
19:41 jnthn I've been on a train on a boat... :)
19:41 geekosaur traiment?
19:43 tadzik timotimo: it's trains all the way down!
19:44 moritz jnthn: putgarden?
19:45 jnthn moritz: Yeah, and also one between Siciily and mainland Italy
19:48 tadzik http://imgur.com/JTMnJHp heh, the future is a bit slow :P
19:50 pmichaud moritz: (parrot.org domain)  I messaged Util++ about that a month ago.  :-)
19:50 nwc10 good UGT, pmichaud
19:50 pmichaud good afternoon, #perl6 and nwc10++
19:51 pmichaud one week from today, I should be largely finished with robotics season.  :-)  \o/
19:51 nwc10 because there will be nothing left to win?
19:52 jnthn pmichaud: Oooh, might that mean Perl 6 tuits? :)
19:52 [Coke] jnthn: subtle!
19:52 jnthn ;)
19:52 pmichaud jnthn: it might very well mean that!
19:53 jnthn Non-subtlety win! :P
19:54 nwc10 buy that man a beer!
19:58 FROGGS \o/
19:58 FROGGS hi pmichaud
19:58 FROGGS maybe even your robotics Armee will join then and help out :o)
19:59 pmichaud my robotics armee scares me sometimes.  They're likely to take over the world someday.
20:00 berekuk joined #perl6
20:00 moritz you mean, they haven't already, secretly?
20:01 PerlJam moritz: he's trying to throw off suspicion by mentioning it as a hypothetical future event rather than a historical event.
20:04 klapperl joined #perl6
20:05 geekosaur skynet in 3.. 2... whoops, -141, -142, ..
20:05 FROGGS *g*
20:09 tadzik FROGGS: good job with the panda patch!
20:10 flussence joined #perl6
20:10 FROGGS are you kidding me? it is just two lines :P
20:10 tadzik three! :P
20:10 tadzik but it's just what I wanted them to be :)
20:10 FROGGS hehe, indeed >.<
20:11 FROGGS hoelzro: ping
20:12 ajr joined #perl6
20:15 Pleiades` joined #perl6
20:15 benabik joined #perl6
20:20 raydiak FROGGS: no, Math::ThreeD is not supposed to fail tests...those tests work just fine when run with perl6, prove, and panda-test, only fail with 'panda install'; so I just let it be for a bit b/c trying to make Math::ThreeD work with panda was becoming more work in the midst of what I intended to be "a break"
20:21 FROGGS k
20:21 bluescreen10 joined #perl6
20:22 raydiak not that you haven't helped me a boatload already, but if you have any suggestions, I'd be glad to hear them
20:24 dagurval r: multi sub a (int $a) { }; constant b = 1; a(b);
20:24 camelia rakudo-jvm 5fe2db: OUTPUT«Cannot call 'a'; none of these signatures match:␤:(int $a)␤  in any  at gen/jvm/BOOTSTRAP.nqp:1212␤  in any  at gen/jvm/BOOTSTRAP.nqp:1202␤  in sub a at /tmp/tmpfile:1␤  in block  at /tmp/tmpfile:1␤␤»
20:24 camelia ..rakudo-moar 5fe2db: OUTPUT«Cannot call 'a'; none of these signatures match:␤:(int $a)␤  in sub a at /tmp/tmpfile:1␤  in block  at /tmp/tmpfile:1␤␤»
20:24 camelia ..rakudo-parrot 5fe2db: OUTPUT«Cannot call 'a'; none of these signatures match:␤:(int $a)␤  in any  at gen/parrot/BOOTSTRAP.nqp:1219␤  in any  at gen/parrot/BOOTSTRAP.nqp:1210␤  in sub a at /tmp/tmpfile:1␤  in block  at /tmp/tmpfile:1␤␤»
20:25 dagurval I don't think multi subs and constants go together too well
20:25 dagurval r: sub a (int $a) { }; constant b = 1; a(b);
20:25 camelia rakudo-parrot 5fe2db, rakudo-jvm 5fe2db, rakudo-moar 5fe2db: ( no output )
20:25 dagurval amidoinitrite?
20:26 raiph m: multi sub a (int $a) { }; constant int b = 1; a(b);
20:26 camelia rakudo-moar 5fe2db: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/r_v6AeLZtyâ�¤Missing initializer on constant declarationâ�¤at /tmp/r_v6AeLZty:1â�¤------> [32mmulti sub a (int $a) { }; constant int [33mâ��[31mb = 1; a(b);[0mâ�¤    expecting any of:â�¤        â€¦Â»
20:26 jnthn You probably want Int.
20:27 jnthn std: constant int b = 1;
20:27 camelia std 09dda5b: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Missing initializer on constant declaration at /tmp/k40QKWvL9B line 1:â�¤------> [32mconstant int [33mâ��[31mb = 1;[0mâ�¤Confused at /tmp/k40QKWvL9B line 1:â�¤------> [32mconstant int [33mâ��[31mb = 1;[0mâ�¤    expecting a…»
20:28 jnthn r: my int $x = 1; my $y = 2; multi foo(int $) { }; foo($x); foo($y);
20:28 camelia rakudo-jvm 5fe2db: OUTPUT«Cannot call 'foo'; none of these signatures match:␤:(int)␤  in any  at gen/jvm/BOOTSTRAP.nqp:1212␤  in any  at gen/jvm/BOOTSTRAP.nqp:1202␤  in sub foo at /tmp/tmpfile:1␤  in block  at /tmp/tmpfile:1␤␤»
20:28 camelia ..rakudo-moar 5fe2db: OUTPUT«Cannot call 'foo'; none of these signatures match:␤:(int)␤  in sub foo at /tmp/tmpfile:1␤  in block  at /tmp/tmpfile:1␤␤»
20:28 camelia ..rakudo-parrot 5fe2db: OUTPUT«Cannot call 'foo'; none of these signatures match:␤:(int)␤  in any  at gen/parrot/BOOTSTRAP.nqp:1219␤  in any  at gen/parrot/BOOTSTRAP.nqp:1210␤  in sub foo at /tmp/tmpfile:1␤  in block  at /tmp/tmpfile:1␤␤»
20:28 FROGGS raydiak: just lean back, I'll care about it :o)
20:28 jnthn r: my int $x = 1; my $y = 2; multi foo(int $) { say 'ok' }; foo($x); foo($y);
20:28 camelia rakudo-parrot 5fe2db: OUTPUT«ok␤Cannot call 'foo'; none of these signatures match:␤:(int)␤  in any  at gen/parrot/BOOTSTRAP.nqp:1219␤  in any  at gen/parrot/BOOTSTRAP.nqp:1210␤  in sub foo at /tmp/tmpfile:1␤  in block  at /tmp/tmpfile:1␤␤»
20:28 camelia ..rakudo-jvm 5fe2db: OUTPUT«ok␤Cannot call 'foo'; none of these signatures match:␤:(int)␤  in any  at gen/jvm/BOOTSTRAP.nqp:1212␤  in any  at gen/jvm/BOOTSTRAP.nqp:1202␤  in sub foo at /tmp/tmpfile:1␤  in block  at /tmp/tmpfile:1␤␤»
20:28 camelia ..rakudo-moar 5fe2db: OUTPUT«ok␤Cannot call 'foo'; none of these signatures match:␤:(int)␤  in sub foo at /tmp/tmpfile:1␤  in block  at /tmp/tmpfile:1␤␤»
20:28 jnthn Nothing to do with constants per se.
20:29 jnthn Needs to be like this, otherwise our native candidate for, say, infix:<+> would match Int too, and then bye bye bigints...
20:30 raydiak FROGGS++: you're too awesome :) I'm a wee bit stressed lately
20:30 dagurval jnthn: that fixed it for me :).
20:31 FROGGS raydiak: np, this kinda fits in what I want to do any way :o)
20:35 raydiak FROGGS: re the paths in panda, don't forget to look in bin/panda-build and friends, changes will be needed there too
20:36 FROGGS raydiak++ # I will
20:38 kurahaupo_mobile joined #perl6
20:39 MarkFowler left #perl6
20:41 * raydiak searches for an anti-raindance to encourage the sun to come out
20:43 raiph std: constant Num e = 2.7182818 # this type annotation used to work; will it return?
20:43 camelia std 09dda5b: OUTPUT«[31m===[0mSORRY![31m===[0m�Missing initializer on constant declaration at /tmp/IMWWiOEDxZ line 1:�------> [32mconstant Num [33m�[31me = 2.7182818 # this type annotation use[0m�Two terms in a row at /tmp/IMWWiOEDxZ line 1:�------> [32mconstant N…»
20:44 moritz raiph: I'm pretty sure you could never successfully type a Rat as Num :-)
20:44 moritz (just trolling; I understand your actualy question, but have no answer)
20:45 treehug88 joined #perl6
20:46 raiph moritz: that line worked in 2009 :P
20:46 raiph (http://irclog.perlgeek.de/​perl6/2009-03-17#i_994814)
20:46 TimToady constant moved from 'my' space to 'sub' space
20:47 TimToady std: my Num constant e = 2.7182818;
20:47 camelia std 09dda5b: OUTPUT«ok 00:01 122m␤»
20:47 pmichaud interesting.  and makes sense.
20:47 TimToady changed to defaulting to 'our' at that point
20:47 pmichaud TimToady++
20:48 TimToady std: constant e of Num = 2.7182818;
20:48 camelia std 09dda5b: OUTPUT«ok 00:01 121m␤»
20:48 TimToady that also works
20:49 dagurval rp: sub a (&cb(Str)) { }; sub b(Str) { }; a(&b);
20:49 camelia rakudo-parrot 5fe2db: OUTPUT«Not enough positional parameters passed; got 0 but expected 1 in sub-signature of parameter &cb␤  in sub a at /tmp/wGWZQruiuY:1␤  in block  at /tmp/wGWZQruiuY:1␤␤»
20:49 dagurval that's supposed to work right?
20:49 raiph TimToady++ # for changing constant to 'sub' space and for P6's generally very sweet syntax
20:50 jnthn dagurval: Looks like a sub-sig to me. I think the syntax you're after wants a : in there...maybe
20:50 * jnthn really can't remember...
20:52 TimToady p: sub a (&cb:(Str)) { }; sub b(Str) { }; a(&b);
20:52 camelia rakudo-parrot 5fe2db: OUTPUT«===SORRY!===␤invoke() not implemented in class 'QAST::WVal'␤»
20:52 TimToady std: sub a (&cb:(Str)) { }; sub b(Str) { }; a(&b);
20:52 camelia std 09dda5b: OUTPUT«ok 00:01 131m␤»
20:52 jnthn Yeah, it parses it
20:52 jnthn Then is like "huh...what to do with this..."
20:52 raiph p: my constant b of int = 1
20:52 camelia rakudo-parrot 5fe2db: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/mpHHbKK7Os�too many named arguments: 1 passed, 0 used�at /tmp/mpHHbKK7Os:1�------> �»
20:53 raiph perl6: my constant b of int = 1
20:53 camelia niecza v24-109-g48a8de3: OUTPUT«[31m===[0mSORRY![31m===[0m��Missing initializer on constant declaration at /tmp/tmpfile line 1:�------> [32mmy constant b [33m�[31mof int = 1[0m��Confused at /tmp/tmpfile line 1:�------> [32mmy constant b [33m�[31mof int = 1…»
20:53 camelia ..rakudo-jvm 5fe2db: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Wrong number of arguments passed; expected 1..1, but got 1�at /tmp/tmpfile:1�------> �»
20:53 camelia ..rakudo-moar 5fe2db: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Unexpected named parameter 'SYMBOL' passed�at /tmp/tmpfile:1�------> �»
20:53 camelia ..rakudo-parrot 5fe2db: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�too many named arguments: 1 passed, 0 used�at /tmp/tmpfile:1�------> �»
20:53 kurahaupo_mobile joined #perl6
20:53 nwc10 I keep reading that as roughly my constant Locutus of Borg = 1;
20:54 dagurval TimToady: thanks for the syntax correction
20:54 Mouq joined #perl6
20:54 Mouq o/
20:54 dagurval I'm trying to get callbacks to work with NativeCall, it requires signatures on the callbacks
20:54 TimToady \o
20:55 jnthn dagurval: I...have a memory that it may actually do a horrible cheat involving sub-signatures and the fact that it never actually runs what you pass through the normal signature binding...
20:56 jnthn dagurval: Meaning that it'll work out once you slap on "is native"
20:56 Mouq dagurval: Would it make sense to use a `where` in the mean time?
20:56 dagurval jnthn: oh, I see. Perhaps that cheat doesn't work with multi subs?
20:57 raiph masak, anyone: have the issues in `perl6: my constant b of int = 1` above been reported?
20:57 dagurval I don't know how `where` works ._.
20:57 dagurval oh, no, I don't think that'll work
20:58 dagurval https://gist.github.com/ano​nymous/e19013582e27db4503d1 <- this is the NativeCall wrap I'm attempting with curl
20:59 dagurval I can only get the &cb one to work without any parameters
21:04 PerlJam dagurval: something like ...
21:04 PerlJam r: sub foo(& where .signature ~~ :(Str)) { }; sub bar(Str) { }; foo(&bar);
21:04 camelia rakudo-parrot 5fe2db, rakudo-jvm 5fe2db, rakudo-moar 5fe2db: ( no output )
21:04 PerlJam (no clue if that helps with NativeCall though)
21:05 jnthn I'm not entirely convinced about using multi and is native together.
21:05 jnthn It might kinda sorta work out but...
21:05 jnthn Really you tend to want to expose a nice, Perl 6-ish API and keep the "is native" things internal to a module.
21:05 dagurval PerlJam: I like that example
21:05 PerlJam dagurval: See what jnthn just said.
21:08 jnthn bbi10
21:08 PerlJam I wonder if it's worth making "is native" complain when used on a multi  (perhaps with a MONKEY_TYPING-like way to let them play with dragons)
21:09 dagurval jnthn: I'm not sure how to wrap curl_easy_setopt then, it's quite magical -_-
21:09 dagurval 29 CURL_EXTERN CURLcode curl_easy_setopt(CURL *curl, CURLoption option, ...);
21:10 vendethiel joined #perl6
21:12 Mouq nqp: sub rw-in-nqp (@a is rw) { @a[0] := 'Yeah' }; my @msg := ['Maybe', ' it ', 'works']; rw-in-nqp(@msg); say(nqp::join(@msg))
21:12 camelia nqp-jvm: OUTPUT«Unable to parse expression in routine_def; couldn't find final ')'  at line 2, near "is rw) { @"␤  in panic (gen/jvm/stage2/NQPHLL.nqp:378)␤  in FAILGOAL (gen/jvm/stage2/NQPHLL.nqp:385)␤  in routine_def (gen/jvm/stage2/NQP.nqp)␤  in routine_declarator:sym<sub…»
21:12 camelia ..nqp-moarvm: OUTPUT«Unable to parse expression in routine_def; couldn't find final ')'  at line 2, near "is rw) { @"␤   at gen/moar/stage2/NQPHLL.nqp:369  (/home/p6eval/rakudo-inst-2/language​s/nqp/lib/NQPHLL.moarvm:panic:120)␤ from gen/moar/stage2/NQPHLL.nqp:376  (/home/p6eval/ra…»
21:12 camelia ..nqp-parrot: OUTPUT«Unable to parse expression in routine_def; couldn't find final ')'  at line 2, near "is rw) { @"␤current instr.: 'panic' pc 15934 (gen/parrot/stage2/NQPHLL.pir:5941) (gen/parrot/stage2/NQPHLL.nqp:425)␤»
21:12 Mouq nope
21:14 lue I notice that  =AUTHORS\n    Name\n    Name  doesn't render that list of names in an implicit codeblock way (unrelated to the changes Mouq++ just made with =TITLE \n , haven't pulled those yet ☺)
21:18 pdcawley joined #perl6
21:23 Mouq lue: That looks like it was done on purpose (search for $*ALLOW_INLINE_CODE in Grammar.nqp)
21:23 Mouq lue: I don't know if it's correct
21:23 jnthn Mouq: But it will be rw anyway :)
21:24 jnthn Mouq: It's binding and NQP doesn't enforce any ro-ness on array elements
21:24 Mouq jnthn: Oh. I totally forgot that
21:24 Sqirrel joined #perl6
21:24 Mouq nqp: sub rw-in-nqp (@a) { @a[0] := 'Yeah' }; my @msg := ['Maybe', ' it ', 'works']; rw-in-nqp(@msg); say(nqp::join(@msg))
21:24 camelia nqp-moarvm: OUTPUT«Error while compiling op join (source text: "nqp::join(@msg)"): Arg count 1 doesn't equal required operand count 3 for op 'join'␤   at gen/moar/stage2/QAST.nqp:4462  (/home/p6eval/rakudo-inst-2/lang​uages/nqp/lib/QAST.moarvm::17)␤ from gen/moar/stage2/QAST.nqp:…»
21:24 camelia ..nqp-parrot: OUTPUT«Error while compiling op join (source text: "nqp::join(@msg)"): Operation 'join' requires 2 operands, but got 1␤current instr.: '' pc 57002 (gen/parrot/stage2/QAST.pir:21033) (gen/parrot/stage2/QAST.nqp:3629)␤»
21:24 camelia ..nqp-jvm: OUTPUT«Method 'type' not found for invocant of class 'NQPMu'␤  in coerce (gen/jvm/stage2/QAST.nqp:4191)␤  in as_jast (gen/jvm/stage2/QAST.nqp:2974)␤  in  (gen/jvm/stage2/QAST.nqp:3771)␤  in compile_all_the_stmts (gen/jvm/stage2/QAST.nqp:3759)␤  in as_jast (gen/jvm…»
21:24 Mouq nqp: sub rw-in-nqp (@a) { @a[0] := 'Yeah' }; my @msg := ['Maybe', ' it ', 'works']; rw-in-nqp(@msg); say(nqp::join(@msg,''))
21:24 camelia nqp-moarvm: OUTPUT«cannot stringify this␤   at /tmp/tmpfile:1  (<ephemeral file>::48)␤ from gen/moar/stage2/NQPHLL.nqp:1090  (/home/p6eval/rakudo-inst-2/langu​ages/nqp/lib/NQPHLL.moarvm::94)␤ from gen/moar/stage2/NQPHLL.nqp:1076  (/home/p6eval/rakudo-inst-2/languages/nqp/lib/NQ…»
21:24 camelia ..nqp-jvm: OUTPUT«Cannot stringify this␤  in  (/tmp/tmpfile:1)␤  in  (gen/jvm/stage2/NQPHLL.nqp:1099)␤  in eval (gen/jvm/stage2/NQPHLL.nqp:1085)␤  in evalfiles (gen/jvm/stage2/NQPHLL.nqp:1291)␤  in command_eval (gen/jvm/stage2/NQPHLL.nqp:1195)␤  in command_line (gen/jvm/st…»
21:24 camelia ..nqp-parrot: OUTPUT«␤»
21:24 raiph .tell masak I filed #121296; plz lemme know if I could have done better
21:24 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=121296
21:24 yoleaux raiph: I'll pass your message to masak.
21:24 Mouq Well
21:24 jnthn Separator first.
21:24 Mouq Ohh. Sorry for the spam :/
21:24 Sqirrel_ joined #perl6
21:25 Mouq nqp: sub rw-in-nqp (@a) { @a[0] := 'Yeah' }; my @msg := ['Maybe', ' it ', 'works']; rw-in-nqp(@msg); say(nqp::join('',@msg))
21:25 camelia nqp-moarvm, nqp-jvm, nqp-parrot: OUTPUT«Yeah it works␤»
21:25 * Mouq is not with it today
21:25 lue Mouq: line 829: "# TODO: Also Semantic blocks one day" (in the rule that enables $*ALLOW_INLINE_CODE in all of =begin, =for, and =stuff type blocks)
21:26 Mouq lue: Oh, and that's just an all caps name
21:26 Mouq lue: I wonder why that's not implemented
21:26 moritz ENOTIME
21:26 lue yeah, me too
21:28 lue Looks like tadzik wrote that comment in 2011, and IIRC Rakudo was *very* different back then... :)
21:29 Mouq lue: Shouldn't take long to fix *crosses fingers*
21:31 lue I'm actually surprised that I've been turning up so many bugs with my POD-to-Pod converter that aren't in my converter :)
21:31 * Mouq thought there was a backslash char for "uppercase str"
21:33 * Mouq builds
21:35 moritz there is, in p5
21:35 moritz r: $_ = "abc"; say "\u$_";
21:36 camelia rakudo-parrot 5fe2db, rakudo-jvm 5fe2db, rakudo-moar 5fe2db: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Unrecognized backslash sequence: '\u'â�¤at /tmp/tmpfile:1â�¤------> [32m$_ = "abc"; say "\[33mâ��[31mu$_";[0mâ�¤    expecting any of:â�¤       …»
21:36 moritz on the REPL with perl6-j I get Method 'ast' not found for invocant of class 'BOOTStr'
21:36 moritz P6str representation does not implement at_pos_boxed
21:36 moritz after that error message
21:36 dalek rakudo/nom: 41cd5e0 | Mouq++ | src/Perl6/Grammar.nqp:
21:36 dalek rakudo/nom: Support semantic blocks better, lue++
21:36 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/41cd5e0043
21:37 TimToady in p6 it's just "{uc $_}" or some such
21:37 Mouq I guess they could all be in the same alternation
21:38 Mouq Re: what I just committed. But what I have works as well
21:38 dalek perl6-roast-data: d4fb662 | coke++ | / (2 files):
21:38 dalek perl6-roast-data: today (automated commit)
21:38 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/d4fb662e2a
21:39 [Coke] looks like rakudo.parrot is clean, no one else.
21:39 TimToady \u was deemed to be a low-luminosity feature :)
21:40 * Mouq has no problem with <upper>, was just surprised it hadn't been carried over
21:40 Mouq *\u
21:41 TimToady pretty much everything coming from p5 had to justify its existence
21:42 TimToady there wasn't much that was considered sacred, except a few underlying principles
21:43 TimToady a lot of things didn't make the cut
21:44 lue Such as =cut :)
21:44 dagurval joined #perl6
21:45 moritz The Unholy Chopping Block
21:45 TimToady we even through out compile-time context
21:45 TimToady *threw
21:45 TimToady so no wantarray
21:46 TimToady no special filetest operators
21:46 pecastro joined #perl6
21:47 TimToady almost none of the special variables came across
21:47 Adriaaan joined #perl6
21:47 * lue thinks it would be cool if R~= was seen as R(~)= instead of R(~=), so that it could become a prepend string operator :)
21:48 TimToady you mean like [R~]= is supposed to work?
21:48 TimToady n: my $a = 'A'; $a [R~]= 'B'; say $a
21:48 camelia niecza v24-109-g48a8de3: OUTPUT«BA␤»
21:49 lue oh cool, didn't know about that :)
21:49 colomon rakudo doesn't do that yet?
21:50 TimToady rakudo barfs on [op]=
21:51 lue was that use of [op] designed for controlling the meaning of metaops, or is it some property of reduce I'm not familiar with that naturally leads to [op]= ?
21:52 TimToady nothing to do with reduce
21:53 TimToady S03:4934
21:53 synopsebot Link: http://perlcabal.org/syn/S03.html#line_4934
21:53 TimToady p6: say 1 [[[[+]]]] 2
21:53 camelia niecza v24-109-g48a8de3: OUTPUT«Potential difficulties:â�¤  Useless use of [] around infix op at /tmp/tmpfile line 1:â�¤------> [32msay 1 [33mâ��[31m[[[[+]]]] 2[0mâ�¤â�¤3â�¤Â»
21:53 camelia ..rakudo-parrot 5fe2db, rakudo-jvm 5fe2db, rakudo-moar 5fe2db: OUTPUT«3␤»
21:54 TimToady reduce is recognized only where a term is expected
21:54 TimToady p6: say [[+]] 1,2,3
21:54 camelia rakudo-parrot 5fe2db, rakudo-jvm 5fe2db, rakudo-moar 5fe2db, niecza v24-109-g48a8de3: OUTPUT«6␤»
21:54 TimToady only the outer [] there are the reduce
21:55 lue alright; just curious if the similarity between it and reduce was merely superficial :)
21:56 TimToady it's just one of those spots where we steal some similar syntax where it almost makes sense
21:56 TimToady like using :16<> for radix notatoin
21:57 TimToady or stealing the "invocant colon" to also allow $obj.meth: @args
21:59 colomon n: sub rj($a, $b) { $b ~ $a; }; say [[&rj]] <this is a test>
21:59 camelia niecza v24-109-g48a8de3: OUTPUT«testaisthis␤»
22:01 Mouq r: say 1 [+] 2
22:01 camelia rakudo-parrot 5fe2db, rakudo-jvm 5fe2db, rakudo-moar 5fe2db: OUTPUT«3␤»
22:01 Mouq r: say 1 [[+]] 2
22:01 camelia rakudo-parrot 5fe2db, rakudo-jvm 5fe2db, rakudo-moar 5fe2db: OUTPUT«3␤»
22:01 Mouq Coollll
22:01 TimToady but it's in there primarily for disambiguating metaops
22:02 Alina-malina joined #perl6
22:05 virtualsue joined #perl6
22:06 timotimo is proper metaop combiners a good candidate for a gsoc?
22:07 pmichaud I don't know that it would be enough work for a gsoc.  I suspect it's mostly syntactic sugaring.
22:07 pmichaud and some fixes to Rakudo's grammar
22:07 timotimo ah, you could do it in an evening then? :P
22:07 Mouq std: sub add($a,$b) { $a + $b }; say 1 [&add] 2
22:07 timotimo (see, it was a trick question)
22:07 camelia std 09dda5b: OUTPUT«ok 00:01 133m␤»
22:07 Mouq n: sub add($a,$b) { $a + $b }; say 1 [&add] 2
22:07 camelia niecza v24-109-g48a8de3: OUTPUT«3␤»
22:08 pmichaud I don't know if I could do it in an evening.  But I wouldn't expect it to take more than week.
22:08 Mouq timotimo: just the [op]= thing?
22:08 TimToady n: say 1 [&infix:<+>] 2
22:08 camelia niecza v24-109-g48a8de3: OUTPUT«3␤»
22:08 timotimo all of the stuff, Mouq
22:08 pmichaud Unless there's some Deep Trouble hiding in Rakudo's (or NQP's) grammars that prevent it from being a SMOP
22:09 TimToady it feels more like a big bug than a small project to me
22:09 TimToady r: my $a = 'A'; $a [R~]= 'B'; say $a
22:09 Mouq timotimo: Well, the [op]= thing shouldn't be too bad.. I was kind of thinking about fixing it myself, actually...
22:09 camelia rakudo-parrot 5fe2db, rakudo-jvm 5fe2db, rakudo-moar 5fe2db: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Preceding context expects a term, but found infix = instead�at /tmp/tmpfile:1�------> [32mmy $a = 'A'; $a [R~]=[33m�[31m 'B'; say $a[0m�»
22:09 pmichaud TimToady states it more clearly than I did... big(?) bug, not really a project.
22:10 TimToady it's obviously just not expect an = after the [op]
22:10 timotimo Mouq: all the [op]s, also things like [&op]
22:10 TimToady *expecting
22:10 pmichaud it might not even be a big bug :)
22:10 jnthn Not even sure it's a big bug
22:10 timotimo Mouq: you've been fixing cool shit already, so i wouldn't complain
22:10 jnthn Just needs somebody to look for the discrepancy with STD.
22:10 Mouq jnthn: Yup
22:10 jnthn Mouq++ has done plenty of grammar fixes already and can likely hunt it, if willing :)
22:10 pmichaud yeah, I suspect it's as simple as a parsing priority issue.  Most of the code to handle the op= stuff is already in place.
22:11 pmichaud it's just not recognizing <meta>=
22:12 pmichaud or, more precisely,  [meta]=
22:12 pmichaud or, whatever.
22:12 bluescreen100 joined #perl6
22:12 * lue should really get his CLA confirmed and a rakudo commit bit sometime soon
22:14 dmol joined #perl6
22:20 TimToady the bug with Z[+=] appears to be more of a semantic bug though
22:21 TimToady p: my @a = 1,2,3; my @b = 10,20,30; @a Z[+=] @b; say @a
22:21 camelia rakudo-parrot 5fe2db: OUTPUT«1 2 3␤»
22:22 TimToady n: my @a = 1,2,3; my @b = 10,20,30; @a Z[+=] @b; say @a
22:22 camelia niecza v24-109-g48a8de3: OUTPUT«11 22 33␤»
22:23 Mouq my &[added-to] = ->$a,$b{$a + $b}; say 1 added-to 2
22:23 Mouq r: my &[added-to] = ->$a,$b{$a + $b}; say 1 added-to 2
22:23 camelia rakudo-parrot 5fe2db, rakudo-jvm 5fe2db, rakudo-moar 5fe2db: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Shaped variable declarations not yet implemented. Sorry. �at /tmp/tmpfile:1�------> [32mmy &[added-to][33m�[31m = ->$a,$b{$a + $b}; say 1 …»
22:24 TimToady requires the infix: for declarational purposes
22:25 Mouq TimToady: I just saw that <variable> parsed infix nouns and was curious
22:25 rurban joined #perl6
22:26 TimToady it looks like it's running afoul of shaped syntax too
22:26 TimToady though it shouldn't try that on &
22:28 Mouq r: &[Z+](1,2,3)
22:28 camelia rakudo-parrot 5fe2db, rakudo-jvm 5fe2db, rakudo-moar 5fe2db: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Variable '&infix:<Z+>' is not declaredâ�¤at /tmp/tmpfile:1â�¤------> [32m&[Z+](1,2,3)[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        post…»
22:28 Mouq yup
22:30 Mouq p6: say 1,2,3 RZ+ 1,2,3
22:30 camelia rakudo-parrot 5fe2db, rakudo-jvm 5fe2db, rakudo-moar 5fe2db, niecza v24-109-g48a8de3: OUTPUT«2 4 6␤»
22:30 Mouq p6: say 1,2,3 RZ** 1,2,3
22:30 camelia rakudo-parrot 5fe2db, rakudo-jvm 5fe2db, rakudo-moar 5fe2db, niecza v24-109-g48a8de3: OUTPUT«1 4 27␤»
22:30 Mouq p6: say 1,2,3 RZ** 2,3,4
22:30 camelia rakudo-parrot 5fe2db, rakudo-jvm 5fe2db, rakudo-moar 5fe2db, niecza v24-109-g48a8de3: OUTPUT«2 9 64␤»
22:31 BenGoldberg joined #perl6
22:34 [Coke] lue: I thought I already confirmed you.
22:35 lue [Coke]: I think all you said was "probably", could be mistaken though.
22:36 [Coke] confirmed.
22:36 [Coke] someone give him a commit bit.
22:36 * [Coke] sees pmichaud is also checking. :)
22:36 [Coke] pmichaud++ lue++
22:37 lue I've got a fix for literal 「...」 that's been sitting around forever, and that I need to test again :)
22:37 * lue afk
22:38 tadzik I wrote a comment? :)
22:40 tadzik Mouq, lue, I don't think it was Rakudo's limitation, it's just that it wasn't exactly a priority
22:41 Mouq tadzik++ :)
22:41 tadzik semantic blocks weren't like a Core Component that Had To Be There Or Everything is Waset
22:41 tadzik *wasted
22:42 tadzik so, all in all, I didn't have it planned for gsoc and afterwards I never needed them and/or was too lazy to do them :P
22:42 tadzik Mouq: I'm *very* happy that you're working on this stuff :)
22:45 * Mouq is happy to help :)
22:47 tadzik I was really scared that I'll be the only one able to understand these things
22:47 tadzik I'm glad to be proven wrong, it means that it's not completely insane
22:49 Mouq tadzik: Nope, not yet at least
22:49 tadzik :P
22:49 tadzik still much to be done ;)
22:50 tadzik maybe I should make another attempt at getting declarator blocks right
22:51 tadzik I still have mixed feelings about the spec, but I don't have any better solution myself
23:01 pmichaud lue: github id?
23:01 grondilu http://rosettacode.org/wiki/Almost_prime#.7B.7Bheader.7CPerl_6.7D.7D  works with Parrot but not with MoarVM.  Haven't tested JVM.
23:04 pippo joined #perl6
23:04 pippo o/ #perl6
23:04 Mouq o/ pippo
23:04 lue pmichaud: should be "lue"
23:05 pippo my perl6-m REPL does not support command history. I am using Linux. Any solutions?
23:06 pmichaud does MoarVM support command history  (readline) ?
23:06 jnthn pippo: Either fix MoarVM's readline/linnenoise stuff, or wait for somebody to get around to it. :)
23:06 jnthn pippo: It's a known outstanding todo.
23:07 pmichaud lue: You now have Rakudo commitbit.  Push with the appropriate amount of fun.  :-)
23:07 jnthn pippo: It did work out on Windows but ended up spewing prompts on Linux for some reason when it was enabled :/
23:07 lue \o/ thanks pmichaud :)
23:08 pippo jnthn: I am not really a programmer... but I can try. Where do I have to look?
23:09 Mouq Hm. I was wrong. Trying to fix [Z+]= requires a whole lot of subtility.
23:09 pippo jnthn: i.e. try to fix it. If you think it is not too much difficult :-)
23:10 timotimo http://t.h8.lv/p6bench/2014-02-22-rakudo.html   http://t.h8.lv/p6bench/2014-02-22-nqp.html
23:10 jnthn pippo: I don't know how hard it is, I'm afraid, since I don't know where the bug is...
23:10 timotimo ^ has jvm benchmarks now, too
23:10 Mouq I may pick it up some other time, but I can't work on it right now
23:10 jnthn pippo: It'll require some C debugging skills, I suspect...
23:11 pippo jnthn: I have some :-)
23:12 jnthn pippo: OK. :) In interp.c readlineint_fh is the thing to look for. It used to call MVM_file_readline_interactive_fh in src/io/fileops.c
23:12 Mouq timotimo++
23:13 jnthn pippo: If you get interp.c calling that function, you'll be able to reproduce the reason it's disabled, at least...
23:13 timotimo executive summary: almost no change for jvm in that period of time
23:13 Mouq looks like MoarVM got faster for most things, but does horrible with concats
23:13 timotimo that's correct
23:13 pippo jnthn: OK I'll try. Thank you for the directions.
23:13 timotimo it forces every string to be re-turned-into-32bit-codepoint-strings
23:13 jnthn Yes, we really gotta fix the concats...
23:14 timotimo we don't do ropes correctly yet, because our hash algorithm doesn't support them; it also doesn't support 8bit-codepoint-strings yet
23:14 timotimo that would already give a constant improvement of 2-4x better
23:14 jnthn timotimo: Well, also 'cus that aside, wrong things happen with the ropes code.
23:15 jnthn I still can't figure out if that code insanely clever with some silly bugs here and there, or just insanely insane... :S
23:15 jnthn I did think I understood it at one point.
23:16 timotimo right.
23:23 jnthn timotimo: Thanks for doing the graphs. Seems Moar improved a good bit over the last month :)
23:24 rurban joined #perl6
23:26 lue I hate it when I fix a bug and have no clue how :/
23:27 kaare_ joined #perl6
23:29 virtualsue joined #perl6
23:30 pdcawley_ joined #perl6
23:30 timotimo it did, aye
23:45 dalek roast: 66f20a4 | lue++ | S02-literals/quoting-unicode.t:
23:45 dalek roast: Use actual halfwidth corner brackets in Q string test.
23:45 dalek roast: review: https://github.com/perl6/roast/commit/66f20a409e
23:47 daniel-s_ joined #perl6
23:51 JimmyZ joined #perl6
23:53 skids joined #perl6
23:56 JimmyZ joined #perl6
23:56 mtj_ joined #perl6

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

Perl 6 | Reference Documentation | Rakudo