|
»ö« 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
|
|||