»ö« 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/nMstD3yC9vVariable '$b' is not declaredat /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/RzEZstFpm6Unable 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/KuRicySWKZCannot put required parameter $c after variadic parametersat /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_VamjYFXCannot put required parameter $c after variadic parametersat /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«13Not 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 }13» | |||
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 }Hi13» | ||
..rakudo-parrot 9d0eb5, rakudo-jvm 9d0eb5, rakudo-moar 9d0eb5: OUTPUT«Hi13Not 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/tmpfileCannot use placeholder parameter @_ in the mainlineat /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 }Hi13» | ||
..rakudo-parrot 9d0eb5, rakudo-jvm 9d0eb5, rakudo-moar 9d0eb5: OUTPUT«Hi13Not 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/tmpfileVariable '&prefix:<|>' is not declaredat /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/tmpfileUnable 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«12» | ||
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«12» | ||
..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«12» | ||
..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/tmpfileVariable '$b' is not declaredat /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 }Hi13» | ||
..rakudo-parrot 9d0eb5, rakudo-jvm 9d0eb5, rakudo-moar 9d0eb5: OUTPUT«Hi135» | |||
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/tmpfileTwo terms in a rowat /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 declaredat /tmp/tmpfile:1------> my a⏏(**@a) { say @a.perl; }; a(1, (2, (3, 4)Malformed myat /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/tmpfileUnable 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_v6AeLZtyMissing initializer on constant declarationat /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«okCannot 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«okCannot 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«okCannot 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 useTwo 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/mpHHbKK7Ostoo many named arguments: 1 passed, 0 usedat /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 = 1Confused at /tmp/tmpfile line 1:------> my constant b ⏏of int = 1…» | ||
..rakudo-jvm 5fe2db: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileWrong number of arguments passed; expected 1..1, but got 1at /tmp/tmpfile:1------> » | |||
..rakudo-moar 5fe2db: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileUnexpected named parameter 'SYMBOL' passedat /tmp/tmpfile:1------> » | |||
..rakudo-parrot 5fe2db: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfiletoo many named arguments: 1 passed, 0 usedat /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 1current 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/tmpfileUnrecognized 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 ⏏[[[[+]]]] 23» | ||
..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/tmpfilePreceding context expects a term, but found infix = insteadat /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/tmpfileShaped 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/tmpfileVariable '&infix:<Z+>' is not declaredat /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
|