»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
00:04 skids joined 00:08 mavcunha left 00:13 hoverboard joined
jnthn o/ 00:16
lue \o 00:17
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:18
jnthn ah shit 00:23
That shoulda been bumped *before* the release :/
No commits since the release. That makes for an easy fix... 00:26
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 :/
oh argh
I apparently did it, then switched over to the Linux VM 'cus make release works there :/ 00:29
And left the version bump behind.
masak argh. 00:33
jnthn Yeah
Well, I did the Naughty Thing and fixed stuff.
masak jnthn++ 00:40
00:43 reznite joined 00:45 reznite left 00:48 DrEeevil joined 00:49 LV joined 00:50 grondilu joined, integral_ joined, integral_ left, integral_ joined, nwc10_ joined 00:51 Ulti_ joined, Gothmog__ joined 00:54 cooper_ joined 00:55 berekuk left, bonsaikitten left, integral left, apejens left, lue left, breinbaas left, Tene left, Gothmog__ is now known as Gothmog_
masak 'night, #perl6 00:56
00:56 cooper_ is now known as cooper, cooper left, cooper joined 00:58 shinobicl joined, lee_ joined, breinbaas joined, apejens joined, risou_awy_ joined, dayangkun joined, lue joined, Tene joined, kbaker joined 01:02 shinobicl left, lee_ left, breinbaas left, apejens left, risou_awy_ left, dayangkun left, lue left, Tene left, shinobicl joined, lee_ joined, breinbaas joined, apejens joined, risou_awy_ joined, dayangkun joined, lue joined, Tene joined, clsn joined 01:03 slavik joined
lue
.oO( .net.split for @users )
01:04
01:13 xinming_ joined 01:15 shinobicl left
BenGoldberg Why is the quit message "*.net *.split", instead of, say, "*.split *.net" ? 01:16
geekosaur because everyone calls it a netsplit? 01:17
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)
*went down
01:21 johnmilton left 01:45 b^_^d left 01:46 shinobicl joined 01:58 d^_^b joined, d^_^b left, d^_^b joined 01:59 pdcawley joined 02:07 skids left, skids joined 02:11 mavcunha joined 02:27 kbaker left, mavcunha left 02:28 hoverboard left, mavcunha joined 02:48 mavcunha left 03:00 colomon joined 03:35 hoverboard joined 03:54 virtualsue joined 04:04 molaf joined
lue Can anybody tell me why perl6-any --doc=HTML won't render this =TITLE properly ? gist.github.com/lue/2312fa89ebaa4fa64f5e 04:04
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:05
Oh! I see what it is; having whitespace at the end of the =TITLE line is what breaks it. Somehow. 04:06
04:41 konnjuta joined 05:05 hoverboard left 05:28 felipe joined 05:34 SamuraiJack joined 05:36 virtualsue left, colomon_ joined, BenGoldberg left, colomon left, colomon_ is now known as colomon
lue r: say "[A]" ~~ / ["[" ~ "]" | "{" ~ "}"] A / 05:42
camelia rakudo-parrot 9d0eb5, rakudo-jvm 9d0eb5, rakudo-moar 9d0eb5: OUTPUT«===SORRY!===␤Unrecognized regex metacharacter ~ (must be quoted to match literally)␤at /tmp/tmpfile:1␤------> say "[A]" ~~ / ["[" ~ "]" ⏏| "{" ~ "}"] A /␤Unable to pars…»
lue kinda hoping that would've worked :)
06:11 broquain1 is now known as broquaint 06:27 berekuk joined 06:28 konnjuta left
moritz \o 06:32
06:35 [Sno] joined 06:57 darutoko joined 07:07 nwc10_ is now known as nwc10 07:13 berekuk left 07:17 berekuk joined 07:26 dmol joined 07:30 berekuk left 07:42 hoelzro joined 07:45 pdcawley left 07:46 pdcawley joined
timotimo o/ 07:47
huh 07:50
07:51 FROGGS joined
timotimo if moarvm's version wasn't bumped 07:51
how come i could build rakudo-moar on the released tarball without trouble?
tadzik the appropriate version was in your path? 08:04
moritz timotimo: or maybe you didn't configure?
timotimo i started from a clean checkout 08:05
tadzik heh, 5.19.9 includes a "return at end of sub optimised out" optimisation
timotimo with --gen-moar
tadzik so we're not that far behind :)
08:23 pdcawley_ joined, pdcawley left 08:28 [Sno] left 08:37 [Sno] joined 08:41 Ven joined 08:45 tgt joined 08:47 SamuraiJack left 08:48 bjz joined 09:02 xinming_ left 09:10 tgt left 09:15 fhelmberger joined 09:16 kaleem joined 09:25 Ven left
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!
nwc10 Rakudo atop Parrot on the same machine peaked at IIRC 500M of swap, and rattled the disk like crazy 09:33
so. MoarVM uses a lot less memory.
masak good antenoon, #perl6 09:38
moritz \o masak, nwc10, tadzik, timotimo, *
tadzik o/ 09:39
09:40 SamuraiJack joined 09:54 pecastro joined
masak just realizes with a shock that "Guido" means "leader" 09:55
no such happenstance for "Larry" or "Matz", though :)
nwc10 but Guido seems to lead, whereas Larry and Matz seem to prefer to inspire 10:09
10:11 bjz left, bjz_ joined
masak "Larry" seems to ultimately derive from the Latin word for "laurel". 10:11
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.
so that checks out, too :)
nwc10 me too
mathw o/ 10:21
masak \o 10:26
10:34 [Sno] left 10:36 integral_ is now known as integral 10:42 fridim_ joined 10:45 fhelmberger left 10:49 kurahaupo_mobile joined
masak I have no idea about the etymology of "Yukihiro"... :) 10:49
10:54 [Sno] joined 11:03 sqirrel joined 11:10 virtualsue joined 11:23 Rotwang joined 11:29 kanishka joined 11:42 Ven joined 11:57 vendethiel joined 12:04 Pleiades` joined 12:06 dayangkun left 12:09 zakharyas joined 12:19 dayangkun joined
masak quiet today. 12:19
are you all worn out after the Rakudo release yesterday? :P 12:20
jnthn $dayjob :P
12:20 zakharyas left, dayangkun left 12:21 fhelmberger joined, mavcunha joined, dayangkun joined, fhelmberger left 12:22 kanishka left
moritz is worn out after $work_week 12:23
12:24 fhelmberger joined, fhelmberger left 12:25 fhelmberger joined 12:30 fhelmberger left
masak $work_week is not over yet! 12:32
12:34 Biohazard left 12:41 Ulti_ is now known as Ulti 12:42 Rotwang left 12:46 Rotwang joined 12:48 Gothmog_ left
tadzik but it almost is \o/ 12:49
I really can't complain though. Visiting other office, teambuilding every day :)
masak sounds nice. 12:51
masak is working from home, as he often does
12:51 fhelmberger joined 12:54 Rotwang left 12:57 fridim_ left, fhelmberger left 13:06 Pleiades` left 13:13 Pleiades` joined 13:23 Rotwang joined 13:32 skids left
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]);
camelia rakudo-moar 9d0eb5: OUTPUT«===SORRY!=== Error while compiling /tmp/nMstD3yC9v␤Variable '$b' is not declared␤at /tmp/nMstD3yC9v:1␤------> sub a([$a, @_, $c]) { say $b.perl⏏; }; a([1, 2, 3]);␤ expecting any of:␤ method argumen…»
Ven m: sub a([$a, @*, $c]) { say $b.perl; }; a([1, 2, 3]);
camelia rakudo-moar 9d0eb5: OUTPUT«===SORRY!=== Error while compiling /tmp/RzEZstFpm6␤Unable to parse expression in formal parameter; couldn't find final ']' ␤at /tmp/RzEZstFpm6:1␤------> sub a([$a, @⏏*, $c]) { say $b.perl; }; a([1, 2, 3]);␤ …»
Ven m: sub a([$a, *@, $c]) { say $b.perl; }; a([1, 2, 3]);
camelia rakudo-moar 9d0eb5: OUTPUT«===SORRY!=== Error while compiling /tmp/KuRicySWKZ␤Cannot put required parameter $c after variadic parameters␤at /tmp/KuRicySWKZ:1␤------> sub a([$a, *@, $c⏏]) { say $b.perl; }; a([1, 2, 3]);␤ expecting any…»
Ven :(
masak Ven: two things:
13:34 nebuchadnezzar left
masak you use $b in that sub, but don't declare it. 13:34
13:34 nebuchadnezzar joined
Ven doesn't matter here 13:35
masak you can't declare positional parameters (like $c) after variadic ones (like *@)
it simply doesn't make sense.
Ven it does, though
13:35 mavcunha left
masak the *@ means "ok, now, take all the rest of the positionals" 13:35
moritz and the error message tells you so
masak no, it doesn't, not when you know that binding is one-pass.
(it doesn't make sense, that is)
Ven multiple variadic doesn't make sense, but if you can add required params *before* variadics, it should allow one to put some after
masak Ven: you're not listening.
parameter binding is one-pass. 13:36
Ven: what you want can't work, and for a good reason.
Ven masak: I am. But it being one-pass seems like an impl. detail to me
moritz Ven: think of lazy/infinite arrays for a moment
masak yes, but in your case, it's *the* implementation detail. :)
the one that prevents your impossible wish from coming true.
moritz also, not just implementation detail. It's a very simple mental model.
Ven m: sub a([*@, $c]) { say $c.perl; }; a([1, 2, 3]);
camelia rakudo-moar 9d0eb5: OUTPUT«===SORRY!=== Error while compiling /tmp/Uv_VamjYFX␤Cannot put required parameter $c after variadic parameters␤at /tmp/Uv_VamjYFX:1␤------> sub a([*@, $c⏏]) { say $c.perl; }; a([1, 2, 3]);␤ expecting any of:…»
masak Ven: please wish something possibler.
Ven masak: some languages allow it :p 13:37
it just so happens I'm used to them
moritz Ven: do those languages also flatten arrays?
Ven (also @moritz)
moritz: no, and I thank them for that
13:37 ajr joined
moritz Ven: well, that's be big difference 13:38
Ven that's my biggest issue with perl 6, actually : flattening
13:38 ajr is now known as Guest54051
moritz Ven: you can add have positional parameters after an array param, no problem 13:38
13:38 mavcunha joined, Guest54051 is now known as ajr_
Ven moritz: (add have?) 13:38
moritz s/add//
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.
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
Ven: yes
Ven moritz: perl is the only language with flattening that I'm aware of
masak I don't like flattening semantics at all.
I don't think it's worth it.
Ven masak++
moritz what about forth? 13:40
masak I'm not sure "flattening" is definable in Forth ;)
because there aren't really parameters, just a stack.
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 ?
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
but I think the cost of having it in the language is a fairly steep learning curve.
Ven masak: oh, I know. That'd be, anyway, far too late
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
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
masak moritz: sets don't flatten.
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
camelia ( no output )
moritz m: say Set ~~ Associative
jnthn Positional
camelia rakudo-moar 9d0eb5: OUTPUT«True␤»
moritz masak: hm, Set, Bag etc. don't appear in my mental model at all :/
so far
I guess I just haven't done enough with them
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 :)
masak r: say "hoolahoop".comb.Bag 13:48
camelia rakudo-parrot 9d0eb5, rakudo-moar 9d0eb5: OUTPUT«bag(h(2), o(4), l, a, p)␤»
..rakudo-jvm 9d0eb5: OUTPUT«bag(o(4), p, a, l, h(2))␤»
masak \o/
that feature finally works!
lizmat++, I presume.
or maybe colomon++.
13:58 kivutar joined 14:06 kivutar left 14:27 kbaker joined
timotimo ohai 14:29
masak timotimo! \o/ 14:30
timotimo that's me! 14:31
i'm at an event called "hack'n'play"
jnthn What are you hacking, and what are you playing with? :) 14:34
timotimo don't know yet 14:37
the event starts in the evening, i came extra early to help set it up
turns out it's not that much work :P
dalek kudo-star-daily: 6313f73 | coke++ | log/ (5 files):
today (automated commit)
14:39
rl6-roast-data: dc1acf4 | coke++ | / (6 files):
today (automated commit)
timotimo we still need a star releaser :)
masak read "star releaser" and immediately thought "oh dear, what is HJPEV going to do with those stars...?" 14:40
moritz :-)
nwc10 so plenty of time to hack on Moar Star? :-) 14:41
timotimo hjpev? 14:42
moritz timotimo: the harry potter from HPMoR
(harry james potter evans-verres)
timotimo ah 14:43
right
14:43 sqirrel left
timotimo uses the time he's got now to let the desktop do jvm benchmarks 14:43
14:45 SamuraiJack left
hoelzro moar star could benefit from fixing URI on Moar =) 14:46
self.greet('#perl6', :tod(*))
14:47 Alina-malina joined
FROGGS tod? 14:48
masak typo of ":to", prolly. 14:49
timotimo time of day
masak unless hoelzro just wished us all dead... in German.
*gasp*
hoelzro timotimo got it =)
masak :)
FROGGS phew :o)
masak API moral: don't abbreviate too much.
tadzik that'd be Tot
hoelzro if I had wished you dead in German, I would have used proper capitalization =) 14:50
tadzik like in Die Toten Hosen
timotimo not necessarily
hoelzro .oO( Die Lebenden Hosen )
timotimo tot is the adjective, tod is the noun
FROGGS no, it is Tod (noun), and tot (verb)
err, yeah
moritz the verb is "sterben", how intuitive 14:51
timotimo one letter in common! 14:52
masak language design is hard, especially when done more or less unconsciously across millennia. 14:53
tadzik ah
14:53 kaleem left
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
camelia rakudo-parrot 9d0eb5, rakudo-jvm 9d0eb5, rakudo-moar 9d0eb5, niecza v24-109-g48a8de3: OUTPUT«False␤»
masak tadzik: I admire your modest goals wrt German :P
daxim perl6: my @s = set <foo bar baz quux>; say 'fnord23foo42' ~~ @s
camelia rakudo-parrot 9d0eb5, rakudo-jvm 9d0eb5, rakudo-moar 9d0eb5, niecza v24-109-g48a8de3: OUTPUT«False␤»
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.
daxim perl6: my $s = set <foo bar baz quux>; say 'fnord23foo42' ~~ $s.join('|')
camelia rakudo-parrot 9d0eb5, rakudo-jvm 9d0eb5, rakudo-moar 9d0eb5, niecza v24-109-g48a8de3: OUTPUT«False␤»
tadzik :D
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*.
tadzik :>
14:56 johnmilton joined
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.
tadzik ach, sanity like sanitizer
not like mental sanity
daxim s/sanity/sanitary/
masak maybe their real name is actually something else. 14:57
English is not my native tongue.
FROGGS tadzik++ # ach
tadzik that's Polish for "ah"
masak er, Wikipedia seems to thing "sanitary napkins" are... something else.
FROGGS tadzik: well, in german too :o) 14:58
masak seems they are actually called en.wikipedia.org/wiki/Wet_wipe -- TIL.
or "moist towelette". 14:59
tadzik in Polish they're just "Wet napkins"
or at least everybody calls them that
15:07 _thou joined 15:12 skids joined
dalek kudo/nom: 1ad937b | coke++ | docs/release_guide.pod:
Fix, unify release date algorithm.

  (Fixes bug I introduced with an oversimplification)
15:16
kudo/nom: aefddd8 | coke++ | docs/release_guide.pod:
Claim a release
[Coke] ^^ as punishment. 15:17
masak [Coke]++ 15:19
parrot.org is no more? 15:21
was there a Parrot release earlier this week? 15:23
PerlJam There was. 15:24
nwc10 yes.
PerlJam Parrot 6.1.0 "Black-collared Lovebird" released Feb 18
nwc10 more over, I think that NQP now has the 6.1.0 as minimum for Parrot
note, English is my first language and I still get it wrong sometimes. And I can't spell :-)
jnthn Yeah, I'm a native too, and still do pretty bad. I'm trying to make less mistakes, though. :P 15:25
15:25 kurahaupo_mobile left
nwc10 is this where masak observes that it's *fewer* mistakes? :-) 15:26
TimToady It don't matter much.
jnthn nwc10: That's what I was trolling for, yes :D 15:27
15:28 dbrock__ left
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
*something like
that's "trunk" as in main and foundational, not trunk as in cut off 15:32
we might say "stem" except we don't tend to apply that to woody plants 15:33
also "root", except we limit that to the underground parts
"mainstem" maybe captures it as closely as any single word in English 15:36
but that's not a common word
PerlJam trunk is a perfectly fine word :) 15:37
TimToady but a "pine trunk" is a trunk made out of pine
words are always such squishy things 15:38
awwaiid elephant trunk (*troll*)
PerlJam Well it conjured the right idea in my head which then made me wonder why you were expounding on it. 15:39
Perhaps my neural machinery was just lucky this time.
TimToady Yes, we have this collective illusion that once we've understood something, it was obvious. :) 15:40
15:40 dayangkun left
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
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! ;>
(er, with the appropriate analogous mapping of course) 15:43
TimToady just remember what happend the last time the French remapped English 15:44
masak jnthn++ # "less mistakes" :P 15:47
15:47 treehug88 joined
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␤␤»
..niecza v24-109-g48a8de3: OUTPUT«Potential difficulties:␤ $j is declared but not used at /tmp/tmpfile line 1:␤------> for 1,2,3,4,5 -> $i, ⏏$j { $i.say }␤␤1␤3␤»
masak TimToady: well "road wide" makes me think of TIMTOWTDI.
rjbs Is it fatal to mismatch input size to block arity?
TimToady either that, or "Wide is the road that leads to destruction." :0
:)
masak rjbs: only at runtime.
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 }
rjbs Okay. Once I do that, I can tell that $j wasn't actually available because it's Mu?
camelia niecza v24-109-g48a8de3: OUTPUT«Potential difficulties:␤ $j is declared but not used at /tmp/tmpfile line 1:␤------> say "Hi"; for 1,2,3,4,5 -> $i, ⏏$j { $i.say }␤␤Hi␤1␤3␤»
..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␤␤»
TimToady wishes there were a form that would take the arguments (1,2), (2,3), (3,4), (4,5) 15:50
masak rjbs: yes.
rjbs masak: Thanks muchly.
nwc10 perl6: my @a = (1,2,3,4,5); say "Hi"; for @_ -> $i, $j { $i.say }
camelia niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤Placeholder variable @_ may not be used outside of a block at /tmp/tmpfile line 1:␤------> my @a = (1,2,3,4,5); say "Hi"; for ⏏@_ -> $i, $j { $i.say }␤␤Potential difficulties:␤ $j is de…»
..rakudo-parrot 9d0eb5, rakudo-jvm 9d0eb5, rakudo-moar 9d0eb5: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Cannot use placeholder parameter @_ in the mainline␤at /tmp/tmpfile:1␤------> my @a = (1,2,3,4,5); say "Hi"; for @_⏏ -> $i, $j…»
masak rjbs: or if you want to explicitly check for non-passedness, give it a default $j = SENTINEL
nwc10 bother.
Ven PerlJam: french people don't know how to french
rjbs nod
nwc10 perl6: my @a = (1,2,3,4,5); say "Hi"; for @a -> $i, $j { $i.say }
camelia niecza v24-109-g48a8de3: OUTPUT«Potential difficulties:␤ $j is declared but not used at /tmp/tmpfile line 1:␤------> = (1,2,3,4,5); say "Hi"; for @a -> $i, ⏏$j { $i.say }␤␤Hi␤1␤3␤»
..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␤␤»
nwc10 what did I do wrong there? I was thinking it would be a runtime error 15:51
masak nwc10: it was.
look at the Rakudo output.
nwc10 aha yes
read the error message
masak Niecza is just being a sissy about unused variables.
Ven I don't like it :p
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
Ven perl6:sub a(Int $a, Int $b) { say $a.perl; say $b.perl; }; a(1..Inf); 15:54
TimToady colon needs space
Ven perl6: sub a(Int $a, Int $b) { say $a.perl; say $b.perl; }; a(1..Inf);
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␤␤»
..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␤␤»
..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/…»
Ven TimToady++
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␤␤»
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«===SORRY!=== Error while compiling /tmp/tmpfile␤Variable '&prefix:<|>' is not declared␤at /tmp/tmpfile:1␤------> nt $b) { say $a.perl; say $b.perl; }; a(⏏|1..Inf);␤»
..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) ␤ …»
Ven perl6: sub a(Int $a, Int $b) { say $a.perl; say $b.perl; }; a(|(1..Inf));
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␤␤»
..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) …»
TimToady interesting 15:56
Ven well.
masak <TimToady> you can always say $ instead of $j if you don't like it
TimToady: it always felt like less-dire-than-a-warning to me.
TimToady perl6: sub a(Int $a, Int $b) { say $a.perl; say $b.perl; }; a(|[1..Inf]);
camelia niecza v24-109-g48a8de3: OUTPUT«(timeout)»
..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␤␤»
masak *maybe* I would like to know these things at the make-a-commit resolution of the dev cycle.
but not with every compile; then it just turns to noise.
TimToady maybe it should randomly do it every 10th time :) 15:57
wait, if it's every 10th time, it's not random...
Ven what I was gonna say ^
TimToady squishy words
Ven TimToady: do you consider |Range not working a bug ?
15:57 btyler joined
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«===SORRY!===␤␤Unable to parse argument list at /tmp/tmpfile line 1:␤------> nt $b) { say $a.perl; say $b.perl; }; a(⏏|[1..2];␤Couldn't find final ')'; gave up at /tmp/tmpfile line 1 (EOF):␤------> …»
..rakudo-parrot 9d0eb5, rakudo-jvm 9d0eb5, rakudo-moar 9d0eb5: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Unable to parse expression in argument list; couldn't find final ')' ␤at /tmp/tmpfile:1␤------> say $a.perl; say $b.perl; }; a(|[1..2];[…»
TimToady perl6: sub a(Int $a, Int $b) { say $a.perl; say $b.perl; }; a(|[1..2]);
camelia rakudo-parrot 9d0eb5, rakudo-jvm 9d0eb5, rakudo-moar 9d0eb5, niecza v24-109-g48a8de3: OUTPUT«1␤2␤»
Ven perl6: sub a(Str $a, Str $b) { say $a.perl; say $b.perl; }; a(|<a b>);
camelia rakudo-parrot 9d0eb5, rakudo-jvm 9d0eb5, rakudo-moar 9d0eb5, niecza v24-109-g48a8de3: OUTPUT«"a"␤"b"␤»
TimToady I do expect that trying to feed an infinite number of arguments to prefix:<|> is going to come to grief
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␤»
..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
Ven Interesting. 15:59
perl6: sub a(Int $a, Int $b) { say $a.perl; say $b.perl; }; a(|(1..3));
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) …»
..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␤␤»
Ven that's fine
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␤»
..niecza v24-109-g48a8de3: OUTPUT«Rebuild in progress␤»
TimToady r: sub a(Int $a, @b) { say $a.perl; say $b.perl; }; a(|(1..*));
camelia rakudo-parrot 9d0eb5, rakudo-jvm 9d0eb5, rakudo-moar 9d0eb5: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Variable '$b' is not declared␤at /tmp/tmpfile:1␤------> a(Int $a, @b) { say $a.perl; say $b.perl⏏; }; a(|(1..*));␤ ex…»
TimToady r: sub a(Int $a, @b) { say $a.perl; say @b.perl; }; a(|(1..*));
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␤␤»
TimToady r: sub a(Int $a, *@b) { say $a.perl; say @b.perl; }; a(|(1..*));
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␤␤»
TimToady that arguably could be made to work, but it seem difficile 16:01
r: sub a(Int $a, *@b) { say $a.perl; say @b.perl; }; a(|(1...*));
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␤␤»
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...
Ven TimToady++
jnthn I suspect the better answer is to explode earlier 16:03
"No, you can't use an infinite list with |"
Ven :D most definitely
TimToady or figure out when to call .gimme(1) instead
jnthn um
That means knowing what we're calling when we evaluate the arglist. So, no. :P
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.
sub foo(*@a) { }; foo(1..Inf) 16:05
is quite different from
sub foo(*@a) { }; foo(|(1..Inf))
r: sub foo(*@a) { }; foo(\(1..Inf)) # should be fine
camelia ( no output )
TimToady | doesn't make a capture, \ does
jnthn So yeah, capture containing is fine
Right
Well, it is making a Capture secretly as an implementation detail at the moment, iirc. 16:06
TimToady ahah!
jnthn But you never see it. It vanishes into the outer one.
And it won't stay that way because it's deeply suboptimal.
Still, even when I optimize that away I wasn't expecting a semantic change. 16:07
16:07 sqirrel joined
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 }
camelia niecza v24-109-g48a8de3: OUTPUT«Potential difficulties:␤ $j is declared but not used at /tmp/tmpfile line 1:␤------> = (1,2,3,4,5); say "Hi"; for @a -> $i, ⏏$j? { $i.say }␤␤Hi␤1␤3␤»
..rakudo-parrot 9d0eb5, rakudo-jvm 9d0eb5, rakudo-moar 9d0eb5: OUTPUT«Hi␤1␤3␤5␤»
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:09
Of course, you can do the looking at runtime too, but that slows down every use of | 16:10
And again significantly complicates compilation.
TimToady well, the whole point of | is to cheat
it's a little escape valve like EVAL 16:11
so I'm not too concerned about the performance of |
jnthn It's the thing we use to write delegators, though... 16:13
Which can be on the odd hot path
TimToady are you talking about sig's | ? 16:14
that seems different from prefix:<|> in my mind
jnthn Well, you use both, no?
TimToady sub a (|foo) { say foo }; a 1 2 3; 16:15
r: sub a (|foo) { say foo }; a 1 2 3;
camelia rakudo-parrot 9d0eb5, rakudo-jvm 9d0eb5, rakudo-moar 9d0eb5: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Two terms in a row␤at /tmp/tmpfile:1␤------> sub a (|foo) { say foo }; a 1 ⏏2 3;␤ expecting any of:␤ postfix…»
TimToady guh
jnthn method dispatch:<.^>(Mu \SELF: $name, |c) is rw is hidden_from_backtrace {
self.HOW."$name"(SELF, |c)
TimToady r: sub a (|foo) { say foo }; a 1, 2, 3;
jnthn }
camelia rakudo-parrot 9d0eb5, rakudo-jvm 9d0eb5, rakudo-moar 9d0eb5: OUTPUT«1 2 3␤»
jnthn There's a typical example 16:16
TimToady wouldn't that work without the prefix?
16:16 FROGGS left
jnthn No 16:16
That'd pass the Capture as an argument.
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
jnthn The array part of a Capture doesn't flatten, though. 16:18
TimToady well, an arglist containing infinities anyway
jnthn So it contains the infinite thingy
TimToady right, well, I won't insist on it :)
carry on, and ignore the psychotic language designer behind the curtain :) 16:19
TimToady refrains from making a pun on Ruby slippers 16:21
or on wide roads made of yellow bricks
jnthn r: sub foo(*@a) {}; sub bar(|c) { foo(|c) }; bar(1..Inf) # just making sure... :) 16:23
camelia ( no output )
jnthn r: sub foo(*@a) { say @a[^5] }; sub bar(|c) { foo(|c) }; bar(1..Inf) # just making sure... :)
camelia rakudo-parrot 9d0eb5, rakudo-jvm 9d0eb5, rakudo-moar 9d0eb5: OUTPUT«1 2 3 4 5␤»
TimToady As you may have noticed, I am not really a language lawyer. I am a language clown.
rjbs ha 16:25
TimToady As long as the jury is entertained, I don't care so much about the verdict...
rjbs …and Joe Pesci as Larry Wall
TimToady I am not a clown, but one plays me on TV. 16:26
or something like that
16:27 [Sno] left
TimToady wonders if he will still think he's funny after he's no longer drugged up to the eyeballs for pneumonia... 16:29
masak TimToady: get well soon. 16:30
TimToady attempts to associate not quite so freely
good think I don't have gnumonia, or I'd have to share it 16:31
*thing
masak that's GNU/Monia!
Monia is just the kernel!
16:32 Gothmog_ joined
TimToady --King Richard IV 16:32
.oO(who had two humps?)
16:33
eiro is it related to pneu/monia ?
masak eiro: yes, that was the pun.
masak .oO( punmonia )
16:34 molaf_ joined
eiro damn... i have to read the whole feed next time. 16:34
TimToady The road to purgatory is paved with melting snowclones all the way down. 16:36
16:36 kaleem joined 16:37 molaf left
masak eiro: the WHOLE feed!? 16:37
TimToady well, only the parts that have been logged 16:38
masak .oO( the feed to purgatory is logged with melting snowclones ) 16:39
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 )
camelia rakudo-parrot aefddd, rakudo-jvm aefddd, rakudo-moar aefddd: OUTPUT«===SORRY!===␤Type 'a' is not declared␤at /tmp/tmpfile:1␤------> my a⏏(**@a) { say @a.perl; }; a(1, (2, (3, 4)␤Malformed my␤at /tmp/tmpfile:1␤------> my …»
Ven r: sub a(**@a) { say @a.perl; }; a(1, (2, (3, 4)));
camelia rakudo-parrot aefddd, rakudo-jvm aefddd, rakudo-moar aefddd: OUTPUT«LoL.new(1, $(2, (3, 4)))␤»
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)␤»
eiro hello #perl6 btw.
Ven hi eiro!
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«===SORRY!=== Error while compiling /tmp/tmpfile␤Unable to parse expression in argument list; couldn't find final ')' ␤at /tmp/tmpfile:1␤------> (**@a) { say @a.perl; }; a(1, (2, 1..*);[…»
TimToady r: sub a(**@a) { say @a.perl; }; a(1, 1..*);
camelia rakudo-parrot aefddd, rakudo-jvm aefddd, rakudo-moar aefddd: OUTPUT«LoL.new(1, 1..Inf)␤»
TimToady r: sub a(**@a) { say @a.perl; }; a(1, (2...*));
masak eiro! \o/
camelia rakudo-parrot aefddd, rakudo-jvm aefddd, rakudo-moar aefddd: OUTPUT«LoL.new(1, (ListIter.new(),).list.item)␤»
Ven I list how it doesnt flatten :p
TimToady thinks of **@a as deeply related to multi-dimensional subscripts: .[1; 2..*] 16:44
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
so there's this fundamental need for a list that itemizes one level down only, not all the way down
16:50 kaleem left
tadzik Norway <3 16:50
TimToady hence the attempts to distinguish .lol from .tree
tadzik a train that goes to the airport costs as much as one beer, and it has power and wifi
Ven # I only know .item and .tree :p
TimToady .lol is what ** binding is basically doing 16:51
it's a .tree(*.item) on the top level
(by current spec, not current rakudo behavior)
Ven r: sub a(**@a) { say @a.perl; }; a(1, (2, (3, (5, (6, 7)))));
camelia rakudo-parrot aefddd, rakudo-jvm aefddd, rakudo-moar aefddd: OUTPUT«LoL.new(1, $(2, (3, (5, (6, 7)))))␤»
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
of the (1+2)*3 variety 16:53
overloading parens with mandatory structure is not the Perl way
Ven yeah, that too :p
TimToady but there is parcel structure there for when it matters
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
TimToady agrees that the learning curve is steeper right there than in languages that force the user to clarify themselves continually :)
but it's an intentional tradeoff 16:55
Ven I guess I'm just not used to flattening, to start with
never used p5
masak TimToady: yes, that's why I'm not raging against it. :)
TimToady: flattening is occasionally very nice. but it does require more mental model.
jnthn Well, when I don't have it, I find myself needing to call .Concat and .SelectMany :) 16:56
You pay somewhere.
Ven you always do
I don't have that problem very much in c#, mostly because I almost never use arrays 16:57
dalek kudo/nom: 5fe2db2 | Mouq++ | src/Perl6/Grammar.nqp:
Fix parsing of abbreviated pod markers

Now, "=TITLE \ncontent" (note the space) will be processed correctly
  lue++
jnthn Me either, but I use enumerables and lists all over.
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 :)?
TimToady around here, WAT is the reverse side of the coin that has DWIM on its face. 16:59
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
otherwise we'd spell it MIWD, and all become dualists.
17:02 mavcunha left, sqirrel left
masak I was a dualist, until I took an arrow to the knee... 17:03
[Coke] I bow to your punnery. 17:04
jnthn masak: :P
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
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
PerlJam
.oO( The community breaks down?!? )
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 :)
geekosaur "this corner is wet" 17:07
TimToady the WAT is equal, but not opposite :)
PerlJam but ... but ... my bed is round!
17:10 telex left 17:11 mavcunha joined 17:12 xfix left, telex joined, mavcunha left 17:13 xfix joined 17:17 cognominal joined 17:20 sqirrel joined 17:24 pecastro left 17:26 shinobicl left 17:35 fhelmberger joined, fhelmberger left 17:36 [Sno] joined 17:38 ajr__ joined, ajr_ left
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␤␤»
..rakudo-parrot 5fe2db, rakudo-jvm 5fe2db: OUTPUT«Type check failed in binding; expected 'Positional' but got 'Set'␤ in block at /tmp/tmpfile:1␤␤»
..niecza v24-109-g48a8de3: OUTPUT«Potential difficulties:␤ @s is declared but not used at /tmp/tmpfile line 1:␤------> my ⏏@s := set <a b c>␤␤»
TimToady what I thought 17:41
jnthn yes, but what you wanted too? :)
TimToady indeed, sets are Assoc, not Pos 17:42
p6: my %s := set <a b c>; say %s 17:43
camelia rakudo-jvm 5fe2db: OUTPUT«set(b, a, c)␤»
..rakudo-parrot 5fe2db, rakudo-moar 5fe2db, niecza v24-109-g48a8de3: OUTPUT«set(a, b, c)␤»
TimToady p6: my %s := set <a b c>; print %s
camelia rakudo-parrot 5fe2db, rakudo-moar 5fe2db: OUTPUT«a b c»
..niecza v24-109-g48a8de3: OUTPUT«abc»
..rakudo-jvm 5fe2db: OUTPUT«b a c»
TimToady hah
rakudo is correct in a TMTOWTDI sort of way 17:45
jnthn Just hash ordering, I suspect 17:48
17:48 hoverboard joined 17:52 kurahaupo_mobile joined 18:00 treehug8_ joined 18:02 treehug88 left 18:11 SamuraiJack joined 18:12 klapperl_ joined, FROGGS joined 18:19 bluescreen10 joined 18:21 virtualsue left, sqirrel left 18:23 SamuraiJack left 18:28 kurahaupo_mobile left 18:29 kurahaupo_mobile joined, ajr__ left
vendethiel do you know of another language that has both dynamic and lexical scoping ? 18:32
(except for lisps, that is)
18:35 berekuk joined
kurahaupo_mobile vendethiel: I suspect PHP will soon, if it's to survive as a "serious" language. 18:37
vendethiel kurahaupo_mobile: uh ? why ?
I mean - PHP has insane scoping rules, but it probably doesn't both lexical and dyanmic 18:38
18:38 darutoko left
kurahaupo_mobile vendethiel: mostly on the basis that PHP has decided to recapitulate the history of Perl in most respects 18:45
they seem incapable of learning ftom history 18:46
vendethiel kurahaupo_mobile: they did stop their own 6 version though :D
kurahaupo_mobile so eventually they'll meed lexical vars
need* 18:47
18:50 treehug8_ left 18:51 raiph joined
vendethiel kurahaupo_mobile: you consider globals as dynamic scoping ? 18:51
18:52 treehug88 joined 18:53 rurban joined
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 :)
18:57 bluescreen10 left 19:01 kaare_ joined
timotimo too muc hbacklog :| 19:02
19:03 ajr joined
raiph timotimo: irclog.perlgeek.de/perl6/2014-02-21/summary 19:03
19:04 ajr is now known as Guest42802, Guest42802 is now known as ajr_
raiph parrot.org Registry Expiry Date: 2014-02-22 # attention parroteers 19:04
(I've pasted that in #parrot too)
timotimo <3 19:05
[Coke] raiph: the parrot on irc.perl.org? don't see it. 19:06
moritz writing to parrot-dev might be better 19:07
actually [email@hidden.address]
I'll do that
raiph Well that email address ought to have received reminders anyway 19:08
because it's the contact email of record for parrot.org
19:09 dmol left
moritz I'll set parrot-dev CC 19:09
19:10 mtk joined, Sqirrel joined
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
seems interesting 19:12
19:13 kurahaupo_mobile left, kurahaupo_mobile joined
raiph [Coke]++ # posting about parrot.org on correct #parrot 19:14
19:15 ajr_ left 19:16 ajr_ joined
dalek Heuristic branch merge: pushed 49 commits to rakudo/eleven by FROGGS 19:18
19:18 SamuraiJack joined
dalek nda/eleven: 934a4f3 | tadzik++ | ext/File__Find:
Update File::Find
19:19
nda/eleven: 5e52ffd | (Tobias Leich)++ | ext/File__Find:
Merge branch 'master' of github.com:tadzik/panda into eleven
timotimo FROGGS: are you continuing work? :) 19:20
FROGGS timotimo: of course I do :o)
jnthn FROGGS++
timotimo like, right now?
also, the jvm benchmarks are still running >_> 19:21
FROGGS well, eleven is kinda working, so I might bring some sanity into it now
or fix the panda bug raydiak is hitting 19:22
timotimo cool :)
what is he doing? =o
and will your work make it work well with moar and jvm? :)
FROGGS it is just about installing Math::ThreeD
it has a Build.pm, and panda is passing the path wrongish
colomon eleven? 19:23
FROGGS eleven.
colomon 5 + 6?
FROGGS no
S11
colomon ah
FROGGS about installing modules to a repository rather then flat on disk 19:24
than*?
probably
colomon than, yes
cool
FROGGS I think it offers some very nice features 19:26
so I'd like to get this live in the near future
damn, I love this soo much! --> @modules Z=> @module-files 19:28
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
(no, it's not PHP, it is P5)
19:31 SamuraiJack left
tadzik a train that goes to the airport costs as much as one beer, and it has power and wifi 19:32
or, sorry
FROGGS hmmmm, beer or wifi... that's hard man
tadzik there's one on the plane too :o 19:33
jnthn tadzik: Flying with Norwegian?
tadzik the ping is about 3-4 secs though, makes ircing on ssh hard
jnthn: yep
jnthn <3
I like them. Free wifi. :)
They probably have beer too, but sadly that's not free :) 19:34
tadzik Norwegian: distributing future evenly
jnthn Yeah. It's like, why don't all the airlines do this... 19:35
tadzik it's to different mentalities, sadly 19:37
"Let's make something good" vs "Let's make something we can suck money from constantly"
timotimo tadzik: there's a trai non the plane?! 19:41
jnthn I've been on a train on a boat... :)
geekosaur traiment?
tadzik timotimo: it's trains all the way down! 19:43
moritz jnthn: putgarden? 19:44
jnthn moritz: Yeah, and also one between Siciily and mainland Italy 19:45
tadzik imgur.com/JTMnJHp heh, the future is a bit slow :P 19:48
pmichaud moritz: (parrot.org domain) I messaged Util++ about that a month ago. :-) 19:50
nwc10 good UGT, pmichaud
pmichaud good afternoon, #perl6 and nwc10++
one week from today, I should be largely finished with robotics season. :-) \o/ 19:51
nwc10 because there will be nothing left to win?
jnthn pmichaud: Oooh, might that mean Perl 6 tuits? :) 19:52
[Coke] jnthn: subtle!
jnthn ;)
pmichaud jnthn: it might very well mean that!
jnthn Non-subtlety win! :P 19:53
nwc10 buy that man a beer! 19:54
FROGGS \o/ 19:58
hi pmichaud
maybe even your robotics Armee will join then and help out :o)
pmichaud my robotics armee scares me sometimes. They're likely to take over the world someday. 19:59
20:00 berekuk left, berekuk joined
moritz you mean, they haven't already, secretly? 20:00
PerlJam moritz: he's trying to throw off suspicion by mentioning it as a hypothetical future event rather than a historical event. 20:01
20:04 Pleiades` left, klapperl joined
geekosaur skynet in 3.. 2... whoops, -141, -142, .. 20:05
FROGGS *g*
20:06 klapperl_ left 20:07 kaare_ left
tadzik FROGGS: good job with the panda patch! 20:09
20:10 flussence joined
FROGGS are you kidding me? it is just two lines :P 20:10
tadzik three! :P
but it's just what I wanted them to be :)
FROGGS hehe, indeed >.<
20:11 ajr_ left
FROGGS hoelzro: ping 20:11
20:12 ajr joined 20:13 ajr is now known as Guest98703, Guest98703 is now known as ajr_ 20:15 Pleiades` joined, benabik joined
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:20
FROGGS k 20:21
20:21 bluescreen10 joined
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:22
20:22 Rotwang left
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␤␤»
..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␤␤»
..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␤␤»
dagurval I don't think multi subs and constants go together too well 20:25
r: sub a (int $a) { }; constant b = 1; a(b);
camelia ( no output )
dagurval amidoinitrite?
raiph m: multi sub a (int $a) { }; constant int b = 1; a(b); 20:26
camelia rakudo-moar 5fe2db: OUTPUT«===SORRY!=== Error while compiling /tmp/r_v6AeLZty␤Missing initializer on constant declaration␤at /tmp/r_v6AeLZty:1␤------> multi sub a (int $a) { }; constant int ⏏b = 1; a(b);␤ expecting any of:␤ …»
jnthn You probably want Int.
std: constant int b = 1; 20:27
camelia std 09dda5b: OUTPUT«===SORRY!===␤Missing initializer on constant declaration at /tmp/k40QKWvL9B line 1:␤------> constant int ⏏b = 1;␤Confused at /tmp/k40QKWvL9B line 1:␤------> constant int ⏏b = 1;␤ expecting a…»
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␤␤»
..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␤␤»
..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␤␤»
FROGGS raydiak: just lean back, I'll care about it :o)
jnthn r: my int $x = 1; my $y = 2; multi foo(int $) { say 'ok' }; foo($x); foo($y);
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␤␤»
..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␤␤»
..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␤␤»
jnthn Nothing to do with constants per se.
Needs to be like this, otherwise our native candidate for, say, infix:<+> would match Int too, and then bye bye bigints... 20:29
raydiak FROGGS++: you're too awesome :) I'm a wee bit stressed lately 20:30
dagurval jnthn: that fixed it for me :).
20:31 treehug88 left
FROGGS raydiak: np, this kinda fits in what I want to do any way :o) 20:31
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:35
FROGGS raydiak++ # I will 20:36
20:38 kurahaupo_mobile left, kurahaupo_mobile joined 20:39 MarkFowler left
raydiak searches for an anti-raindance to encourage the sun to come out 20:41
raiph std: constant Num e = 2.7182818 # this type annotation used to work; will it return? 20:43
camelia std 09dda5b: OUTPUT«===SORRY!===␤Missing initializer on constant declaration at /tmp/IMWWiOEDxZ line 1:␤------> constant Num ⏏e = 2.7182818 # this type annotation use␤Two terms in a row at /tmp/IMWWiOEDxZ line 1:␤------> constant N…»
moritz raiph: I'm pretty sure you could never successfully type a Rat as Num :-) 20:44
(just trolling; I understand your actualy question, but have no answer)
20:45 treehug88 joined
raiph moritz: that line worked in 2009 :P 20:46
20:46 kurahaupo_mobile left
raiph (irclog.perlgeek.de/perl6/2009-03-17#i_994814) 20:46
TimToady constant moved from 'my' space to 'sub' space
std: my Num constant e = 2.7182818; 20:47
camelia std 09dda5b: OUTPUT«ok 00:01 122m␤»
pmichaud interesting. and makes sense.
TimToady changed to defaulting to 'our' at that point
pmichaud TimToady++ 20:48
TimToady std: constant e of Num = 2.7182818;
camelia std 09dda5b: OUTPUT«ok 00:01 121m␤»
TimToady that also works
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␤␤»
dagurval that's supposed to work right?
raiph TimToady++ # for changing constant to 'sub' space and for P6's generally very sweet syntax
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...
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'␤»
TimToady std: sub a (&cb:(Str)) { }; sub b(Str) { }; a(&b);
camelia std 09dda5b: OUTPUT«ok 00:01 131m␤»
jnthn Yeah, it parses it
Then is like "huh...what to do with this..."
raiph p: my constant b of int = 1
camelia rakudo-parrot 5fe2db: OUTPUT«===SORRY!=== Error while compiling /tmp/mpHHbKK7Os␤too many named arguments: 1 passed, 0 used␤at /tmp/mpHHbKK7Os:1␤------> ␤»
raiph perl6: my constant b of int = 1 20:53
camelia niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤Missing initializer on constant declaration at /tmp/tmpfile line 1:␤------> my constant b ⏏of int = 1␤␤Confused at /tmp/tmpfile line 1:␤------> my constant b ⏏of int = 1…»
..rakudo-jvm 5fe2db: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Wrong number of arguments passed; expected 1..1, but got 1␤at /tmp/tmpfile:1␤------> ␤»
..rakudo-moar 5fe2db: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Unexpected named parameter 'SYMBOL' passed␤at /tmp/tmpfile:1␤------> ␤»
..rakudo-parrot 5fe2db: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤too many named arguments: 1 passed, 0 used␤at /tmp/tmpfile:1␤------> ␤»
20:53 kurahaupo_mobile joined
nwc10 I keep reading that as roughly my constant Locutus of Borg = 1; 20:53
dagurval TimToady: thanks for the syntax correction 20:54
20:54 Mouq joined
Mouq o/ 20:54
dagurval I'm trying to get callbacks to work with NativeCall, it requires signatures on the callbacks
TimToady \o
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:55
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?
dagurval jnthn: oh, I see. Perhaps that cheat doesn't work with multi subs?
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 ._.
oh, no, I don't think that'll work
gist.github.com/anonymous/e19013582e27db4503d1 <- this is the NativeCall wrap I'm attempting with curl 20:58
I can only get the &cb one to work without any parameters 20:59
21:00 hoverboard is now known as longnicksirritat, longnicksirritat is now known as hoverboard
PerlJam dagurval: something like ... 21:04
r: sub foo(& where .signature ~~ :(Str)) { }; sub bar(Str) { }; foo(&bar);
camelia ( no output )
PerlJam (no clue if that helps with NativeCall though)
jnthn I'm not entirely convinced about using multi and is native together. 21:05
It might kinda sorta work out but...
Really you tend to want to expose a nice, Perl 6-ish API and keep the "is native" things internal to a module.
dagurval PerlJam: I like that example
PerlJam dagurval: See what jnthn just said.
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)
dagurval jnthn: I'm not sure how to wrap curl_easy_setopt then, it's quite magical -_- 21:09
29 CURL_EXTERN CURLcode curl_easy_setopt(CURL *curl, CURLoption option, ...);
21:10 vendethiel left, vendethiel joined
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…»
..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/languages/nqp/lib/NQPHLL.moarvm:panic:120)␤ from gen/moar/stage2/NQPHLL.nqp:376 (/home/p6eval/ra…»
..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)␤»
Mouq nope
21:12 rurban left
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:14
21:18 pdcawley_ left, pdcawley joined
Mouq lue: That looks like it was done on purpose (search for $*ALLOW_INLINE_CODE in Grammar.nqp) 21:23
lue: I don't know if it's correct
jnthn Mouq: But it will be rw anyway :)
21:24 Sqirrel left
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
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/languages/nqp/lib/QAST.moarvm::17)␤ from gen/moar/stage2/QAST.nqp:…»
..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)␤»
..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…»
Mouq nqp: sub rw-in-nqp (@a) { @a[0] := 'Yeah' }; my @msg := ['Maybe', ' it ', 'works']; rw-in-nqp(@msg); say(nqp::join(@msg,''))
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/languages/nqp/lib/NQPHLL.moarvm::94)␤ from gen/moar/stage2/NQPHLL.nqp:1076 (/home/p6eval/rakudo-inst-2/languages/nqp/lib/NQ…»
..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…»
..nqp-parrot: OUTPUT«␤»
raiph .tell masak I filed #121296; plz lemme know if I could have done better
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=121296
yoleaux raiph: I'll pass your message to masak.
Mouq Well
jnthn Separator first.
Mouq Ohh. Sorry for the spam :/
21:24 Sqirrel_ joined
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␤»
Mouq is not with it today
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)
Mouq lue: Oh, and that's just an all caps name 21:26
lue: I wonder why that's not implemented
moritz ENOTIME
lue yeah, me too
Looks like tadzik wrote that comment in 2011, and IIRC Rakudo was *very* different back then... :) 21:28
21:28 Sqirrel left
Mouq lue: Shouldn't take long to fix *crosses fingers* 21:29
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"
Mouq builds 21:33
moritz there is, in p5 21:35
r: $_ = "abc"; say "\u$_";
camelia rakudo-parrot 5fe2db, rakudo-jvm 5fe2db, rakudo-moar 5fe2db: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Unrecognized backslash sequence: '\u'␤at /tmp/tmpfile:1␤------> $_ = "abc"; say "\⏏u$_";␤ expecting any of:␤ …» 21:36
moritz on the REPL with perl6-j I get Method 'ast' not found for invocant of class 'BOOTStr'
P6str representation does not implement at_pos_boxed
after that error message
dalek kudo/nom: 41cd5e0 | Mouq++ | src/Perl6/Grammar.nqp:
Support semantic blocks better, lue++
TimToady in p6 it's just "{uc $_}" or some such 21:37
Mouq I guess they could all be in the same alternation
Re: what I just committed. But what I have works as well 21:38
dalek rl6-roast-data: d4fb662 | coke++ | / (2 files):
today (automated commit)
[Coke] looks like rakudo.parrot is clean, no one else. 21:39
TimToady \u was deemed to be a low-luminosity feature :)
Mouq has no problem with <upper>, was just surprised it hadn't been carried over 21:40
*\u
TimToady pretty much everything coming from p5 had to justify its existence 21:41
there wasn't much that was considered sacred, except a few underlying principles 21:42
a lot of things didn't make the cut 21:43
lue Such as =cut :) 21:44
21:44 dagurval joined
moritz The Unholy Chopping Block 21:45
TimToady we even through out compile-time context
*threw
so no wantarray
no special filetest operators 21:46
21:46 pecastro joined
TimToady almost none of the special variables came across 21:47
21:47 Adriaaan joined
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:47
TimToady you mean like [R~]= is supposed to work? 21:48
n: my $a = 'A'; $a [R~]= 'B'; say $a
camelia niecza v24-109-g48a8de3: OUTPUT«BA␤»
lue oh cool, didn't know about that :) 21:49
colomon rakudo doesn't do that yet?
TimToady rakudo barfs on [op]= 21:50
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:51
TimToady nothing to do with reduce 21:52
S03:4934 21:53
synopsebot Link: perlcabal.org/syn/S03.html#line_4934
TimToady p6: say 1 [[[[+]]]] 2
camelia niecza v24-109-g48a8de3: OUTPUT«Potential difficulties:␤ Useless use of [] around infix op at /tmp/tmpfile line 1:␤------> say 1 ⏏[[[[+]]]] 2␤␤3␤»
..rakudo-parrot 5fe2db, rakudo-jvm 5fe2db, rakudo-moar 5fe2db: OUTPUT«3␤»
TimToady reduce is recognized only where a term is expected 21:54
p6: say [[+]] 1,2,3
camelia rakudo-parrot 5fe2db, rakudo-jvm 5fe2db, rakudo-moar 5fe2db, niecza v24-109-g48a8de3: OUTPUT«6␤»
TimToady only the outer [] there are the reduce
lue alright; just curious if the similarity between it and reduce was merely superficial :) 21:55
21:55 benabik left
TimToady it's just one of those spots where we steal some similar syntax where it almost makes sense 21:56
like using :16<> for radix notatoin
or stealing the "invocant colon" to also allow $obj.meth: @args 21:57
colomon n: sub rj($a, $b) { $b ~ $a; }; say [[&rj]] <this is a test> 21:59
camelia niecza v24-109-g48a8de3: OUTPUT«testaisthis␤»
Mouq r: say 1 [+] 2 22:01
camelia rakudo-parrot 5fe2db, rakudo-jvm 5fe2db, rakudo-moar 5fe2db: OUTPUT«3␤»
Mouq r: say 1 [[+]] 2
camelia rakudo-parrot 5fe2db, rakudo-jvm 5fe2db, rakudo-moar 5fe2db: OUTPUT«3␤»
Mouq Coollll
22:01 Alina-malina left
TimToady but it's in there primarily for disambiguating metaops 22:01
22:02 Alina-malina joined 22:03 berekuk left 22:05 virtualsue joined
timotimo is proper metaop combiners a good candidate for a gsoc? 22:06
pmichaud I don't know that it would be enough work for a gsoc. I suspect it's mostly syntactic sugaring. 22:07
and some fixes to Rakudo's grammar
timotimo ah, you could do it in an evening then? :P
Mouq std: sub add($a,$b) { $a + $b }; say 1 [&add] 2
timotimo (see, it was a trick question)
camelia std 09dda5b: OUTPUT«ok 00:01 133m␤»
Mouq n: sub add($a,$b) { $a + $b }; say 1 [&add] 2
camelia niecza v24-109-g48a8de3: OUTPUT«3␤»
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?
TimToady n: say 1 [&infix:<+>] 2
camelia niecza v24-109-g48a8de3: OUTPUT«3␤»
timotimo all of the stuff, Mouq
pmichaud Unless there's some Deep Trouble hiding in Rakudo's (or NQP's) grammars that prevent it from being a SMOP
TimToady it feels more like a big bug than a small project to me 22:09
r: my $a = 'A'; $a [R~]= 'B'; say $a
Mouq timotimo: Well, the [op]= thing shouldn't be too bad.. I was kind of thinking about fixing it myself, actually...
22:09 kbaker left
camelia rakudo-parrot 5fe2db, rakudo-jvm 5fe2db, rakudo-moar 5fe2db: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Preceding context expects a term, but found infix = instead␤at /tmp/tmpfile:1␤------> my $a = 'A'; $a [R~]=⏏ 'B'; say $a␤» 22:09
pmichaud TimToady states it more clearly than I did... big(?) bug, not really a project.
TimToady it's obviously just not expect an = after the [op] 22:10
timotimo Mouq: all the [op]s, also things like [&op]
TimToady *expecting
pmichaud it might not even be a big bug :)
jnthn Not even sure it's a big bug
timotimo Mouq: you've been fixing cool shit already, so i wouldn't complain
jnthn Just needs somebody to look for the discrepancy with STD.
Mouq jnthn: Yup
jnthn Mouq++ has done plenty of grammar fixes already and can likely hunt it, if willing :)
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.
it's just not recognizing <meta>= 22:11
or, more precisely, [meta]= 22:12
or, whatever.
22:12 bluescreen100 joined
lue should really get his CLA confirmed and a rakudo commit bit sometime soon 22:12
22:14 dmol joined 22:16 bluescreen10 left 22:19 skids left
TimToady the bug with Z[+=] appears to be more of a semantic bug though 22:20
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␤»
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 btyler left
Mouq my &[added-to] = ->$a,$b{$a + $b}; say 1 added-to 2 22:23
r: my &[added-to] = ->$a,$b{$a + $b}; say 1 added-to 2
camelia rakudo-parrot 5fe2db, rakudo-jvm 5fe2db, rakudo-moar 5fe2db: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Shaped variable declarations not yet implemented. Sorry. ␤at /tmp/tmpfile:1␤------> my &[added-to]⏏ = ->$a,$b{$a + $b}; say 1 …»
TimToady requires the infix: for declarational purposes 22:24
Mouq TimToady: I just saw that <variable> parsed infix nouns and was curious 22:25
22:25 rurban joined
TimToady it looks like it's running afoul of shaped syntax too 22:26
though it shouldn't try that on &
Mouq r: &[Z+](1,2,3) 22:28
camelia rakudo-parrot 5fe2db, rakudo-jvm 5fe2db, rakudo-moar 5fe2db: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Variable '&infix:<Z+>' is not declared␤at /tmp/tmpfile:1␤------> &[Z+](1,2,3)⏏<EOL>␤ expecting any of:␤ post…»
Mouq yup
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␤»
Mouq p6: say 1,2,3 RZ** 1,2,3
camelia rakudo-parrot 5fe2db, rakudo-jvm 5fe2db, rakudo-moar 5fe2db, niecza v24-109-g48a8de3: OUTPUT«1 4 27␤»
Mouq p6: say 1,2,3 RZ** 2,3,4
camelia rakudo-parrot 5fe2db, rakudo-jvm 5fe2db, rakudo-moar 5fe2db, niecza v24-109-g48a8de3: OUTPUT«2 9 64␤»
22:31 BenGoldberg joined, treehug88 left 22:34 rurban left
[Coke] lue: I thought I already confirmed you. 22:34
lue [Coke]: I think all you said was "probably", could be mistaken though. 22:35
[Coke] confirmed. 22:36
someone give him a commit bit.
[Coke] sees pmichaud is also checking. :)
pmichaud++ lue++
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
tadzik I wrote a comment? :) 22:38
Mouq, lue, I don't think it was Rakudo's limitation, it's just that it wasn't exactly a priority 22:40
Mouq tadzik++ :) 22:41
tadzik semantic blocks weren't like a Core Component that Had To Be There Or Everything is Waset
*wasted
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
Mouq: I'm *very* happy that you're working on this stuff :)
22:43 virtualsue left
Mouq is happy to help :) 22:45
tadzik I was really scared that I'll be the only one able to understand these things 22:47
I'm glad to be proven wrong, it means that it's not completely insane
Mouq tadzik: Nope, not yet at least 22:49
tadzik :P
still much to be done ;)
maybe I should make another attempt at getting declarator blocks right 22:50
I still have mixed feelings about the spec, but I don't have any better solution myself 22:51
pmichaud lue: github id? 23:01
grondilu rosettacode.org/wiki/Almost_prime#....rl_6.7D.7D works with Parrot but not with MoarVM. Haven't tested JVM.
23:04 pippo joined
pippo o/ #perl6 23:04
Mouq o/ pippo
lue pmichaud: should be "lue"
pippo my perl6-m REPL does not support command history. I am using Linux. Any solutions? 23:05
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. :)
pippo: It's a known outstanding todo.
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 :/
lue \o/ thanks pmichaud :)
pippo jnthn: I am not really a programmer... but I can try. Where do I have to look? 23:08
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 :-)
timotimo t.h8.lv/p6bench/2014-02-22-rakudo.html 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...
timotimo ^ has jvm benchmarks now, too
Mouq I may pick it up some other time, but I can't work on it right now
jnthn pippo: It'll require some C debugging skills, I suspect...
pippo jnthn: I have some :-) 23:11
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++
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
Mouq looks like MoarVM got faster for most things, but does horrible with concats
timotimo that's correct
pippo jnthn: OK I'll try. Thank you for the directions.
timotimo it forces every string to be re-turned-into-32bit-codepoint-strings
jnthn Yes, we really gotta fix the concats...
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
that would already give a constant improvement of 2-4x better
jnthn timotimo: Well, also 'cus that aside, wrong things happen with the ropes code.
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
I did think I understood it at one point.
timotimo right. 23:16
jnthn timotimo: Thanks for doing the graphs. Seems Moar improved a good bit over the last month :) 23:23
23:24 rurban joined
lue I hate it when I fix a bug and have no clue how :/ 23:26
23:27 kaare_ joined 23:29 virtualsue joined 23:30 pdcawley_ joined
timotimo it did, aye 23:30
23:31 pdcawley left 23:35 hoverboard is now known as _ugly^1337nick 23:37 bluescreen100 left, _ugly^1337nick is now known as hoverboard 23:38 Mouq left
dalek ast: 66f20a4 | lue++ | S02-literals/quoting-unicode.t:
Use actual halfwidth corner brackets in Q string test.
23:45
23:46 ajr_ left 23:47 daniel-s_ joined 23:49 Adriaaan left 23:51 JimmyZ joined 23:53 skids joined 23:54 johnmilton left 23:56 JimmyZ left, JimmyZ joined, mtj_ joined