»ö« 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:09
BenGoldberg left,
BenGoldberg joined
00:11
Ben_Goldberg joined
00:12
Ben_Goldberg left
00:13
BenGoldberg left,
BenGoldberg joined
00:14
BenGoldberg left
00:15
BenGoldberg joined
00:18
gfldex left
|
|||
dalek | kudo/lolly: a433f3f | TimToady++ | src/ (8 files): add SEQ(a; b) circumfix to do what (a; b) did The $() construct also assumes sequence semantics, since it only wants one value. These are roughly equivalent except where nqp macros need SEQ() to compile down to the bare sequence of statements without any addition coercion. $() also works for code that wants to be backward compatible to pre-lolly days, like spec tests. |
00:21 | |
ecs: 63a0d61 | TimToady++ | S06-routines.pod: Remove notion of stacked feeds The proposed syntax for stacked feeds is now going to be used by LoL composers. |
00:28 | ||
00:31
iarna left
00:33
dayangkun joined
|
|||
dalek | ast: e1e9543 | TimToady++ | / (9 files): lolly-proof uses of (;) |
00:56 | |
00:59
iarna joined,
thou joined
01:03
thou left
01:12
dayangkun left
01:13
Mouq joined
01:17
SevenWolf left
01:24
FROGGS_ joined
01:27
FROGGS left
01:41
klapperl joined
01:45
klapperl_ left
01:49
BenGoldberg left,
Ben_Goldberg joined
01:55
BenGoldberg_ joined,
Ben_Goldberg left,
BenGoldberg_ is now known as Ben_Goldberg
02:05
iarna left
02:17
iarna joined
|
|||
dalek | kudo/lolly: 03e22fd | TimToady++ | src/core/LoL.pm: Don't loop on 0-art infix:<Z> |
02:23 | |
Mouq | m: say *.WHICH | 02:25 | |
yoleaux | 17 Aug 2014 11:16Z <lizmat> Mouq: scalars can only be indexed with [0], and nothing else | ||
camelia | rakudo-moar 05f006: OUTPUT«WhateverCode.new()» | ||
yoleaux | 17 Aug 2014 11:18Z <lizmat> Mouq: although I'm not sure where that is specced | ||
Mouq | m: say (my $ := *).WHICH | 02:26 | |
camelia | rakudo-moar 05f006: OUTPUT«Whatever|140418567167992» | ||
Mouq | ^^ I'm *pretty* sure Whatevers are immutable :P | ||
TimToady | well, lolly still fails 13 more tests than nom, but at least it gets through without looooooping now | 02:38 | |
TimToady guesses those 13 fails are only two or three bugs though | 02:39 | ||
lee_ | .oO( lollyloop, lollyloop ) |
02:42 | |
02:43
dayangkun joined
02:44
kurahaupo_ joined
02:46
kurahaupo left
02:47
thou joined,
noganex joined
|
|||
Mouq | m: DateTime.new("2014-01-01T00:00:61Z").say | 02:48 | |
camelia | rakudo-moar 05f006: OUTPUT«second out of range. Is: 61, should be in 0..^60; No second 61 has yet been defined in method check-time at src/gen/m-CORE.setting:15579 in method new at src/gen/m-CORE.setting:15565 in method new at src/gen/m-CORE.setting:15661 in block a…» | ||
02:50
mr-foobar left,
noganex_ left
02:51
mr-foobar joined
02:52
thou left
|
|||
dalek | Heuristic branch merge: pushed 86 commits to rakudo/S26-WHY by hoelzro | 02:58 | |
03:03
BenGoldberg_ joined,
Ben_Goldberg left,
BenGoldberg_ is now known as Ben_Goldberg
|
|||
Mouq | m: my @a; @a[0..*] = 1..*; say @a[3] | 03:04 | |
camelia | rakudo-moar 05f006: OUTPUT«(Any)» | ||
03:04
dayangkun left
|
|||
Mouq | m: my @a = 0..10; @a[0..*] = 1..*; say @a[3] | 03:05 | |
camelia | rakudo-moar 05f006: OUTPUT«4» | ||
dalek | kudo/S26-WHY: 9b6a63a | (Rob Hoelz)++ | src/Perl6/ (2 files): Apply role decl comments to candidates, not groups |
03:06 | |
TimToady | @a[0..*] isn't abstract enough to do that, it's defined to stop at the actual size | 03:10 | |
03:15
xragnar_ joined,
xragnar is now known as Guest43717,
xragnar_ is now known as xragnar
03:17
cooper left,
dayangkun joined
03:19
Guest43717 left
03:22
Mouq left
03:31
Mouq joined
|
|||
dalek | ast/S26-WHY: 252b93e | (Rob Hoelz)++ | S26-documentation/why- (3 files): Test for role decl comments on candidates, not role groups |
03:32 | |
03:42
Ben_Goldberg is now known as BenGoldberg
03:48
itz joined
03:50
itz_ left
03:54
Mouq left,
kaare_ joined
03:56
Mouq joined
|
|||
Mouq | TimToady: Oh, alright. I'm just trying to figure out how to get @a[1;2] to autovivify | 03:57 | |
04:00
BenGoldberg left
04:12
kaleem joined
|
|||
Mouq | m: .WHICH.say for True, False, True, False | 04:13 | |
camelia | rakudo-moar 05f006: OUTPUT«Bool|52348152Bool|52348112Bool|52348152Bool|52348112» | ||
TimToady | Mouq: did you fix @a[]:kv and such to return everything since I forked lolly? | 04:19 | |
Mouq | m: my @a = [ [1,2,3], [4,5,6] ], [ [7,8,9], [10,11,12] ]; say @a[*;*;1]:kv; # like this? | 04:20 | |
camelia | rakudo-moar 05f006: OUTPUT«0 0 1 0 2 1 0 1 5 1 0 1 1 8 1 1 1 11» | ||
Mouq | m: my @a = [ [1,2,3], [4,5,6] ], [ [7,8,9], [10,11,12] ]; say (@a[*;*;1]:kv).perl; # like this? | ||
camelia | rakudo-moar 05f006: OUTPUT«((lol(0, 0), 1), (lol(0, 2), 1), (lol(0, 1), 5), (lol(1, 0), 1), (lol(1, 8), 1), (lol(1, 1), 11))» | ||
Mouq | Wait what? | 04:21 | |
TimToady | I mean specifically the Zen slice | ||
empty [] | |||
Mouq | m: my @a = [ [1,2,3], [4,5,6] ], [ [7,8,9], [10,11,12] ]; say (@a[*;*;1]:p).perl; | ||
camelia | rakudo-moar 05f006: OUTPUT«(lol(0, 0, 1).item => 2, lol(0, 1, 1).item => 5, lol(1, 0, 1).item => 8, lol(1, 1, 1).item => 11)» | ||
Mouq | Looks like :kv is broken anyway.. | 04:22 | |
but no, I didn't even know that was an issue | |||
TimToady | m: my @a; say @a[].WHAT | ||
camelia | rakudo-moar 05f006: OUTPUT«(Array)» | ||
TimToady | I get Parcel here, sight | 04:23 | |
Mouq | m: my @a = <a b c>; say (@a[]:kv).perl | ||
camelia | rakudo-moar 05f006: OUTPUT«((0, "a"), (1, "b"), (2, "c"))» | ||
TimToady | *¬t | ||
lolly currently gets () :/ | 04:24 | ||
I don't know where zen slice is recognized | |||
and I've probably messed up the secret handshake in changing semilist | 04:25 | ||
Mouq | Maybe lolly's making LoLs too zealously? | ||
TimToady | doesn't make LoL unless there are more than 2 things | ||
currently return an infix:<,> to generate an empty parcel, but obviously that's not exactly what the [] recognizer is looking for | 04:26 | ||
04:28
[Sno] left,
rindolf joined
|
|||
dalek | kudo/nom: e55e04b | Mouq++ | src/core/array_slice.pm: Fix @a[*;1]:kv |
04:32 | |
04:35
thou joined
04:38
iarna left
04:39
xinming_ joined,
iarna joined
04:40
thou left
04:42
xinming left
04:46
kaleem left
|
|||
TimToady | okay, got zen slices working again, wonder what I broke now :) | 04:49 | |
04:49
kaare_ left
|
|||
TimToady | oh wow, obviously most of the failures were from that | 04:52 | |
04:52
telex left
|
|||
TimToady | though I got one back, obviously the one I "fixed" when I broke zen | 04:53 | |
04:54
telex joined
|
|||
dalek | kudo/lolly: 675242a | TimToady++ | src/Perl6/Actions.nqp: unbreak zen slices |
04:57 | |
04:57
dayangkun left
|
|||
TimToady | down to just three failures peculiar to lolly now | 04:57 | |
05:02
iarna left,
xenoterracide left
05:05
xenoterracide joined
05:10
dayangkun joined
|
|||
dalek | kudo/lolly: 2e4ccda | TimToady++ | src/Perl6/ (2 files): keep () from disappearing prematurely also fix tabs |
05:17 | |
05:18
kaare_ joined
|
|||
TimToady | okay, none of the spectest fails are lolly's fault; it it wasn't a release week, I'd merge it | 05:26 | |
maybe I'll try a reverse merge | 05:28 | ||
Mouq | TimToady++ | ||
dalek | kudo/lolly: 7752c57 | duff++ | src/core/LoL.pm: Prevent infinite recurse on bare "zip"; fixes RT #119337 |
05:32 | |
rakudo/lolly: a756a17 | (Elizabeth Mattijsen)++ | lib/Test.pm: | |||
rakudo/lolly: Small tweaks, more Perl6isms | |||
05:32
dalek left
|
|||
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=119337 | 05:32 | |
05:33
dalek joined,
ChanServ sets mode: +v dalek
|
|||
TimToady | huh, how come that didn't list your last patch? | 05:33 | |
oh, I kill dalek dead | |||
so deathness | |||
diakopter | mostly dead | ||
TimToady | > say (<a b c>;1,2,3).perl | 05:35 | |
lol($("a", "b", "c"), $(1, 2, 3)) | |||
> say [<a b c>;1,2,3].perl | |||
[$("a", "b", "c"), $(1, 2, 3)] | |||
05:35
xenoterracide left
|
|||
TimToady | > say SEQ(<a b c>;1,2,3).perl | 05:37 | |
WARNINGS: | |||
Useless use of "a b c" in expression "a b c" in sink context (line 1) | |||
(1, 2, 3) | |||
> say $(<a b c>;1,2,3).perl | 05:38 | ||
WARNINGS: | |||
Useless use of "a b c" in expression "a b c" in sink context (line 1) | |||
$(1, 2, 3) | |||
I decided to add a SEQ macro rather than an infix:<S>, at least for now | |||
Mouq | Unless you changed LoL.perl locally, shouldn't say [<a b c>;1,2,3].perl -> lol($("a", "b", "c"), $(1, 2, 3)).item ? | 05:42 | |
TimToady | [] should make an array | 05:43 | |
(I think...) | 05:44 | ||
seems like a 2D array is more likely to be useful than an itemized lol | 05:45 | ||
anyway, I think I'm about done for the night, so feel free to checkout lolly and fiddle with it | 05:48 | ||
we still need to decide what kind of migration strategy is appropriate | 05:49 | ||
if we put off merging lolly till after this version, I think this version should have some warning that lollipops are going to explode | |||
but I really dunno how many modules use lollipops for sequencing | 05:50 | ||
05:54
dayangkun left
|
|||
TimToady | actually, I didn't spectest after the reverse merge, better go do that... | 05:55 | |
Mouq | nom should probably get the SEQ macro in that case.. | 05:58 | |
Mouq 's face is almost recovered after a caterpillar landed on him yesterday | 05:59 | ||
Some caterpillars have toxic hairs. Who knew? | |||
06:01
anaeem1 joined
|
|||
TimToady | yes, it needs that at least for gather/take, even if everywhere else can get by with $() | 06:03 | |
06:07
[Sno] joined
|
|||
Mouq | So.. what is LoL? Currently it and Array are 'is List', but Lists are mutable, whereas LoL almost wants to be more like a Parcel, it seems... | 06:08 | |
06:08
sjn joined
|
|||
TimToady | Yeah, it's really more like a PoP | 06:09 | |
though I suppose in theory one could have a generator of lists on the end of a LoL | 06:11 | ||
but I think list of list is how people will tend to think of it, whatever we call it | 06:12 | ||
and we have specced the || interpolater that could generate a supply of lists, so it's at least extensible, if not quite mutable in its reified elements | 06:14 | ||
TimToady should obviously go to bed soon, since he's thinking about lols and their similarity to logarithms: both are kind of metadata used to find the real values :) | 06:16 | ||
and both of them flatten out something that would otherwise not appear flat | 06:17 | ||
06:18
denis_boyun_ joined
|
|||
Mouq | Haha, 'night TimToady, I plan on doing the same | 06:19 | |
06:19
Mouq left
|
|||
j4jackj | TimToady: Hi. Of non-Perl languages, which is your favourite? | 06:23 | |
06:23
thou joined
|
|||
TimToady | English, then Japanese :) | 06:26 | |
j4jackj | TimToady: I mean, programming languages | ||
06:27
araujo left
|
|||
TimToady | I program people in English all the time :) | 06:27 | |
j4jackj | No, I mean languages for programming computers. :-P | ||
06:27
kurahaupo_ left
|
|||
j4jackj | TimToady: are you deliberately being sarcastic? | 06:27 | |
06:28
thou left
|
|||
TimToady | not sarcastic, merely objectionably prone to misinterpret ambiguity intensionally :) | 06:28 | |
intentionally, even | 06:29 | ||
j4jackj | TimToady: what is your favourite non-Perl language in which to program computers? | ||
TimToady | well, I suppose C | ||
j4jackj | Hopefully your head won't explode when I say... "I like Tcl" | 06:30 | |
TimToady | it has its merits | ||
j4jackj | TimToady: do you ever mess around with ZNC, a program which has a module to load modules written for it in Perl? | 06:31 | |
TimToady | never heard of it | ||
j4jackj | ZNC is an irc bouncer | ||
TimToady hasn't done much irc automation | |||
j4jackj | ZNC itself is in C++, but it can load modules which are written in Perl. | 06:32 | |
TimToady | if I started playing with irc, I'd probably reinvent the whole darn thing | ||
j4jackj | I almost tried that once. | ||
Timbus | please do | ||
06:32
darutoko joined
|
|||
j4jackj | (Just remember, you're talking to a 14 year old.) | 06:32 | |
TimToady is first trying to invent the correct language for reinventing the whole darn thing :) | 06:33 | ||
.oO(Perl 6 as a very large yak to shave.) |
|||
if you like comparitive (computer) linguistics, you should check out rosettacode.org | 06:34 | ||
*comparative | |||
gah, you'd think I was about to turn into a pumpkin or something | 06:35 | ||
j4jackj | wow | ||
TimToady | so what's a 14-year-old doing with an address in Tonga? | 06:36 | |
j4jackj | Lols. That's kinda the problem. afraid.org had a domain (uk.to) I could subdomain (caffeinet.uk.to) | 06:37 | |
The rDNS in question is a semi-serious joke about pulling all nighters | |||
TimToady | what TZ are you in? | 06:38 | |
j4jackj | PDT | 06:39 | |
TimToady | nice place :) | ||
j4jackj | Western Canada, to be precise | 06:40 | |
TimToady | first time I've ever heard half of Canada referred to as "precise" :) | ||
j4jackj | XD | 06:41 | |
Well, just bout northern BC | |||
TimToady | I've only been up as far as Lilloett (sp?) | ||
well, except for watch it go by on an Alaskan cruise :) | 06:42 | ||
oh, Lillooet | |||
but there's lots of BC north of the last you can see from the coast even | 06:44 | ||
well, okay, I've been to Yoho/Banff, which I guess is norther by a bit | 06:46 | ||
j4jackj | Banff is in Alberta...? | 06:53 | |
TimToady | no, but those parks kinda go together | ||
it's silly to do one and not the other | |||
I mean, yes, it's in Alberta :) | 06:54 | ||
though I wasn't much older than you when I was last there... | 06:56 | ||
sergot | hi o/ | ||
TimToady | \o | ||
06:58
PotatoGim left,
zakharyas joined
|
|||
TimToady | ooh, and there's an address from Christmas Island :) | 06:59 | |
07:00
FROGGS_ is now known as FROGGS
|
|||
FROGGS | morning o/ | 07:01 | |
07:02
rindolf left
07:03
Woodi left
07:07
PotatoGim joined
07:13
Akagi201_ left
|
|||
timotimo | hello | 07:14 | |
07:16
Woodi joined
07:21
kurahaupo joined
|
|||
raydiak | \o | 07:23 | |
07:27
Akagi201 joined
07:30
kaleem joined
07:35
klaas-janstol joined
07:37
dayangkun joined
07:45
DarthGandalf left
07:46
DarthGandalf joined
07:51
pecastro left
08:12
FROGGS[mobile] joined,
thou joined
08:16
thou left
|
|||
FROGGS[mobile] | masak / jnthn: guess why they always 'say 3'? look at the topic :p | 08:24 | |
timotimo: the Perl 6 v5 passes now 32.8% of the NQP version | 08:28 | ||
timotimo | great news! i'll be sure to mention it in the weekly | 08:32 | |
FROGGS[mobile] | thanks :o) | 08:36 | |
sergot | Do you know something about the panda's segfault? | 08:53 | |
I've just got it on another box. | |||
FROGGS | sergot: somebody else reported that yesterday evening too | 08:55 | |
sergot | ok | 08:56 | |
08:56
kaleem left
|
|||
jnthn | Darn...I can reproduce it too | 09:02 | |
Panda rebootstraps fine and passes tests. Then explodes on trying to use it. :/ | |||
FROGGS | might it be a precomp issue? has to, right? | 09:03 | |
jnthn | No idea...the modules are precomp'd when it tests them. | ||
Under debugger it gives "Internal error: zeroed target thread ID in work pass" | 09:06 | ||
So could very easily relate to the v5 issue too | |||
(As in, the issue v5 suffers from) | |||
nwc10 | jnthn: and here you were thinking that you'd get to write conference talks today? | 09:07 | |
09:08
klaas-janstol left
|
|||
jnthn | nwc10: Well, got some $dayjob things to take care of first, also... | 09:09 | |
On the upside, one of the pieces of code I wanted to write for one of my talks is about done... :) | 09:10 | ||
masak | FROGGS[mobile]: yeah, lue++ found that out for us, too. | 09:23 | |
good antenoon, #perl6 | |||
jnthn | o/ masak | ||
09:29
pecastro joined
|
|||
sergot | masaku o/ | 09:30 | |
09:34
spider-mario joined
09:43
kurahaupo left
09:53
klaas-janstol joined
10:00
thou joined
10:02
yakudzo left
10:05
thou left
10:08
vike left
|
|||
woolfy | FROGGS: so if I understand that correctly, almost 1/3 of Perl 5 code now can be run in Perl 6? That is wow news. | 10:10 | |
FROGGS | woolfy: only the third of Perl 5 code that the v5-written-in-NQP supported | 10:13 | |
lizmat | meanwhile, pulling latest and greatest, I see 2 repeatable spectest error | ||
FROGGS | which is about 8000 passing tests of about 90_000 passing tests | 10:14 | |
and a third from these 8000 passing tests... | |||
jnthn | FROGGS: Any idea of how many of those are about core modules and how many are about the language itself, ooc? | ||
woolfy | FROGGS: good news anyway, thanks for explaining | ||
FROGGS | jnthn: that's hard to tell | 10:15 | |
lizmat | t/spec/S29-os/system, test 5; t/spec/integration/advent2009-day06.t, test 15 | ||
jnthn feared so | |||
FROGGS | but my guess is that at least another 40-50% are about the language support itself | ||
woolfy | So if I can ask... if you would convert this to a percentage of "the whole of Perl 5 commands / functions /etc", how much would that be? Ballpark-figure of course... | ||
FROGGS | because even when we have about 500 namespaces built-in, these do not make for more than 30k tests | 10:16 | |
10:17
dayangkun left,
yakudza joined
|
|||
FROGGS[mobile] | about panda: it uses a not-precomp'd version of itself to install itself... so when that works but fails for other modules, it has to be a procomp issue me thinks | 10:19 | |
lizmat | m: my @a = 1,2,3,4; @a >>/=>> 4; say @a # sanity check: is this correct ? | ||
camelia | rakudo-moar e55e04: OUTPUT«0.25 0.5 0.75 1» | 10:20 | |
FROGGS[mobile] | seems so | ||
lizmat | ok, then TimToady added a bogus test... :-) | ||
10:21
locsmif joined
|
|||
dalek | ast: 33be9cc | (Elizabeth Mattijsen)++ | integration/advent2009-day06.t: Fix recently changed metaop inplace test |
10:21 | |
10:22
ivanshmakov| left
|
|||
FROGGS[mobile] | lizmat: but the test expects something else | 10:24 | |
it was correct before, no? | |||
lizmat | no, it failed | ||
FROGGS[mobile] | but 1/2 is not. 25 | 10:25 | |
.25* | |||
lizmat | # got: '0.25 0.5 0.75 1' | ||
# expected: '0.5 1 1.5 2' | |||
FROGGS[mobile] | exactly | 10:26 | |
lizmat | I did the minimal change, by dividing /2 instead of /4 | ||
FROGGS[mobile] | ohh, my bad | ||
sorry :o) | |||
10:26
ivanshmakov| joined
|
|||
dalek | ast: 496d7c9 | (Elizabeth Mattijsen)++ | S29-os/system.t: Fix failing test wrt to chdir sensitivity But it feels to me the wrong things are being tested here. |
10:35 | |
10:35
vike joined
|
|||
masak | I just wanted to flag Su-Shee++'s post as something worth reading: www.reddit.com/r/perl/comments/2dpu..._6/cjteviy | 10:47 | |
10:56
fhelmberger joined
|
|||
lizmat | masak: not sure how to interpret your ++ in this manner | 10:57 | |
10:59
yeltzooo left
|
|||
masak | lizmat: something like "in a thread where personal attacks, inane statements, and mud-flinging reaches all-time lows, this was a post with worthwhile points, and I commend Su-Shee for writing it". | 11:00 | |
11:00
yeltzooo joined
11:04
H2O1 joined,
ivanshmakov| left
11:05
Timbus left,
H2O1 left
11:07
ivanshma` joined
11:10
Timbus joined
11:14
ivanshma` is now known as ivanshmakov
11:16
spider-mario left,
prevost joined
|
|||
timotimo | i'm not quite sure why that person even posted that thread to begin with; hasn't the question they posed been answered lots of times already? | 11:16 | |
11:18
FROGGS[mobile] left,
spider-mario joined
|
|||
FROGGS | of course, and somebody will ask again :o) | 11:19 | |
11:20
darutoko- joined
11:23
darutoko left
11:30
brrt joined
11:40
rindolf joined
11:48
PotatoGim left,
pl520 joined,
comptezero joined
11:49
thou joined
|
|||
comptezero | hi all, anyone as an idea to embeded nqp or rakudo jvm version in java like JSR-223 ? | 11:51 | |
11:51
klaas-janstol left
11:53
thou left
|
|||
lizmat | m my int @a; say @a.WHAT; my @b of int; say @b.WHAT # I thought these two were equivalent ? | 11:53 | |
m: my int @a; say @a.WHAT; my @b of int; say @b.WHAT # I thought these two were equivalent ? | |||
camelia | rakudo-moar e55e04: OUTPUT«(Int)(Array[int])» | ||
jnthn | comptezero: It's certainly on the wish list, but I don't know that anybody has worked on it yet | 11:54 | |
lizmat | m: my Int @a; say @a.WHAT; my @b of Int; say @b.WHAT # the *are* for Int | ||
camelia | rakudo-moar e55e04: OUTPUT«(Array[Int])(Array[Int])» | ||
jnthn | lizmat: Native arrays NYI | ||
lizmat | m: my @a of int; @a.push: 42 # not as completely NYI as you think | 11:55 | |
camelia | rakudo-moar e55e04: OUTPUT«Type check failed in .push; expected 'int' but got 'Int' in method push at src/gen/m-CORE.setting:8279 in block at /tmp/sMT3AwUjQ1:1» | ||
lizmat | m: my @a of int; @a.push: "foo" # better example | ||
camelia | rakudo-moar e55e04: OUTPUT«Type check failed in .push; expected 'int' but got 'Str' in method push at src/gen/m-CORE.setting:8279 in block at /tmp/bpkN17IekF:1» | ||
jnthn | lizmat: Well, to put it another way: anything that does work is working out of luck :) | ||
Native arrays (probably called array, not Array) would directly use the VMArray REPR, alot like Blob and Buf already do. | 11:56 | ||
And needn't be lazy. | |||
lizmat | ok, I get that... I'll just mark tests for "@a of int" and "int @a" differently | 11:58 | |
(one skip, other todo) | |||
timotimo | jnthn: how could a native array be lazy *and* use the VMArray repr? | 11:59 | |
jnthn | timotimo: It can't, really. :) | 12:00 | |
masak | I just discovered a case where printing or not printing some output leads to different results in a script of mine. | ||
jnthn | masak: Is the difference that you get output in one case and not the other? | 12:01 | |
masak | no, different results of a computation. | ||
jnthn | Oh. Darn. | ||
masak | after some thought, I suspect this is because of the copying GC in Moar, and the script's realiance on infix:<===>. | ||
just wanted to report this. | |||
jnthn | Ah, yeah | ||
masak | not a big thing; I will rewrite the script not to rely on this. | ||
probably the extra output (and there's quite a lot of it) triggers different GC runs somehow. | 12:02 | ||
jnthn | Probably | ||
masak | it's quite deterministic in the sense that I always get the right result with the output, and always the wrong one without. | ||
but given the cause, I doubt I'd be able to golf it. | |||
jnthn | Yeah; the same program run will allocate the same objects. | ||
masak | right. | ||
jnthn | And so fill the nursery at the same points | ||
masak | anyway, I'm glad I discovered it now rather than later. | 12:03 | |
and I'm not gonna rant about it; just looking forward to this one getting fixed eventually ;) | |||
lizmat | indeed :-) | ||
12:04
comptezero left
|
|||
jnthn | Yeah, somebody should do that...oh, wait... :) | 12:04 | |
masak | jnthn: what's the fix, by the way? some internal data that holds a unique identity and survives GC copying? | 12:08 | |
jnthn | masak: I think pre-reserving a gen2 slot for objects we want a .WHICH for that are in the nursery | ||
And using that as the address | 12:09 | ||
Which means there's only a memory cost if you use .WHICH, and we don't have to make every object bigger | |||
12:13
pl520 left
|
|||
timotimo | lizmat: can i ask you for a quick summary of all the things you worked on in the last 14 days? | 12:13 | |
jnthn | .oO( git log --author=liz --since="14 days ago" ) |
12:14 | |
timotimo | hmm, that's actually not bad | ||
lizmat | not really much, I'm afraid | 12:15 | |
timotimo | well, all the eval testing stuff | 12:16 | |
lizmat | menial tasks mostly, hope to unblock on CompUnit at the YAPC::EU | ||
yes, that... | |||
timotimo | what were the functions that got nuked? eval_dies or something like that? | ||
lizmat | I removed eval_dies_ok and eval_lives_ok from the spec | 12:17 | |
I didn't nuke them from Test.pm yet | |||
timotimo | ah | ||
lizmat | going through the spectests to fix those | ||
timotimo | good | ||
lizmat | only 281 more files to go | ||
timotimo | oh my | ||
lizmat | I think I've done 60 or so so far | 12:18 | |
and found about 5 cases where tests were dieing for the wrong reason | |||
timotimo | that's clearly valuable | 12:19 | |
lizmat | yup | 12:20 | |
I think so | |||
and having them all check for exception types, should allow is to more quickly find regressions | |||
timotimo | yup | 12:21 | |
dalek | ast: 01c9c12 | (Elizabeth Mattijsen)++ | S02- (6 files): Another batch of dies_ok -> throws_like |
12:31 | |
12:31
jnap joined
|
|||
dalek | kudo/nom: ddfb572 | (Elizabeth Mattijsen)++ | t/spectest.data: Add S02-types/array-shapes.t: properly fudged now |
12:32 | |
12:38
brrt left
|
|||
lizmat | errands& | 12:38 | |
timotimo | p6weekly.wordpress.com/?p=214&s...1f3f52b9a0 - first draft of today's blog post. i've missed at least lichtkinds tablets work, what else? | 12:39 | |
12:41
guru joined,
guru is now known as Guest32329,
Guest32329 is now known as ajr_
|
|||
moritz | timotimo: sergot's gsoc work (lots of documentation for HTTP::UserAgent and friends) | 12:46 | |
timotimo | ah! | ||
right, i haven't been looking that way much | |||
but there was that blog post | |||
sergot | moritz++ timotimo++ | 12:47 | |
;) | |||
dalek | ast/S26-WHY: 2b4a645 | (Rob Hoelz)++ | S26-documentation/why- (3 files): Test declarative comments for multi methods |
12:48 | |
ast/S26-WHY: c9bc645 | (Rob Hoelz)++ | S26-TODO.md: Mark multi methods as completed |
|||
ast/S26-WHY: 5bec18b | (Rob Hoelz)++ | S26-TODO.md: Remove things that are complete |
|||
ast/S26-WHY: d2e2567 | (Rob Hoelz)++ | S26-documentation/block-leading.t: Add test for leading block comments |
|||
ast/S26-WHY: 79454d4 | (Rob Hoelz)++ | S26-documentation/block-trailing.t: Add test for trailing declarative comments |
|||
kudo/S26-WHY: 8d20a3f | (Rob Hoelz)++ | src/Perl6/Grammar.nqp: Properly handle block-style leading declarative comments |
|||
kudo/S26-WHY: a6161e1 | (Rob Hoelz)++ | src/Perl6/Grammar.nqp: Remove useless comments |
|||
kudo/S26-WHY: 24f5949 | (Rob Hoelz)++ | src/Perl6/Grammar.nqp: Implement trailing declarative block comments |
|||
12:49
jnap left
|
|||
dalek | ast/S26-WHY: 85da650 | (Rob Hoelz)++ | S26-documentation/block-trailing.t: Add test for trailing declarative block comments |
12:49 | |
ast/S26-WHY: ed87af0 | (Rob Hoelz)++ | S26-TODO.md: Document block comments as impl'd |
|||
jnthn | timotimo: The HyperWhatever example uses...Whatever.. | 12:50 | |
timotimo | oops :D | ||
ah | |||
well, that was for comparison | |||
i haven't looked at actual examples for hyperwhatever yet | 12:51 | ||
p6weekly.wordpress.com/?p=214&s...1f71c26f09 | 12:52 | ||
jnthn | timotimo: Don't forget the JVM compile time improvements :) | 12:53 | |
timotimo | OH! | ||
yes! | |||
dwarring did that, right? | |||
jnthn | donaldh | ||
timotimo | OK | ||
jnthn | "They all start with a d anyway..." :P | 12:54 | |
timotimo | dwarring was the advent calendar tests dude | ||
jnthn | Also PerlJam++ did various fixes | ||
Including to sprintf | |||
timotimo | very good | ||
the sprintf fix is cross-backend, aye? | |||
jnthn | Think so | ||
timotimo | btw, do we want to turn sprintf into a code-generating thing, rather than an "interpreter"? | ||
12:54
klaas-janstol joined
|
|||
timotimo | if we have static format strings, that is | 12:55 | |
jnthn | There were some regex error message improvements by psch | ||
dalek | ecs: ea8a8de | (Rob Hoelz)++ | S05-regex.pod: Fix broken link to Extensible metasyntax on S05 page |
12:56 | |
12:56
jnap joined
|
|||
timotimo | avuserow: do you have a short statement on how you'll handle the star release? since the next rakudo release will happen this week, i mean | 12:57 | |
will you try to release a 2014.07 Star and then a 2014.08 Star after that? | |||
or just skip the .07 one? | |||
jnthn | I suspect we'd go directly for a .08 one | ||
timotimo: Also don't forget dynvar lookup improvements by TimToady++ | 12:58 | ||
timotimo | oh, right, that was in the last 14 days | ||
12:58
anaeem1 left
|
|||
psch | hi #perl6 o/ | 13:02 | |
timotimo: there's also m:g// and s:g/// improvements, but those hinge on the lists rework | 13:03 | ||
which i have no idea about progress of | |||
timotimo | i think the post is in an acceptable state now | 13:04 | |
sergot | hi psch \/ | 13:05 | |
timotimo | p6weekly.wordpress.com/?p=214&s...1f9f8b6f8c | ||
sergot | um, o/ | ||
psch | headless excitement..? :) | ||
13:05
ajr_ left
|
|||
psch | hi sergot | 13:05 | |
13:06
ajr joined
13:07
ajr is now known as Guest75907,
Guest75907 is now known as ajr_
13:08
kaleem joined
|
|||
timotimo | i think i'll go ahead and publish this version now. | 13:10 | |
jnthn | Looks good to me. | ||
13:12
ggoebel11111111 joined
|
|||
timotimo | nobody noticed the not really existing title of the post %) | 13:13 | |
a good sign | |||
13:17
ggoebel11111110 left
|
|||
dalek | kudo-star-daily: 60ffd2d | coke++ | log/ (14 files): today (automated commit) |
13:25 | |
rl6-roast-data: bbe49f8 | coke++ | / (6 files): today (automated commit) |
|||
13:28
kaare_ left
13:30
brrt joined
13:35
pecastro left
13:37
thou joined
|
|||
lizmat | timotimo: maybe mention --moar-options=--enable-jit as well? | 13:40 | |
13:40
telex left
13:42
thou left,
telex joined
|
|||
lizmat | timotimo: also, I specced and implemented Test::cmp_ok | 13:46 | |
still wandering whether we would want something like "smatch" | 13:47 | ||
*wondering | |||
:-) | |||
13:51
iarna joined,
gtodd joined
|
|||
jnthn | grmbl | 13:51 | |
The NativeCall tests appear to fail | |||
Because some output comes from C without counts | |||
And some from Perl 6 | |||
13:53
ivanshmakov left
|
|||
jnthn | Did we start returning an error code when the number of tests didn't match up? | 13:53 | |
ah | 13:54 | ||
elsif !$no_plan && $num_of_tests_planned != $num_of_tests_run { | |||
exit(255); | |||
13:55
ChoHag left,
ChoHag joined
|
|||
jnthn | Ah, yes. In the recent test work. | 13:55 | |
While I suspect that's good in general, it means test.pm is now just too awkward to be bothered with for NativeCall tests... | 13:56 | ||
13:56
ivanshma` joined
|
|||
lizmat | jnthn: sorry to hear that, what apart from the exit value, is bothering you there ? | 13:56 | |
jnthn | Well, it's the exit value really | 13:57 | |
lizmat | what are you expecting? 0 ? | ||
jnthn | Yeah | ||
lizmat | but not all tests have run ? | ||
jnthn | Well, the thing is, we *know* the counts don't match up in the NativeCall tests. | ||
lizmat | ah, so you need to override that... | ||
jnthn | it's because the plan has 26 | ||
lizmat | how about no plan? | ||
jnthn | Which *is* the number of OKs | ||
oh, hmm :) | 13:58 | ||
Then the harness whines about no plan... | |||
[Coke] | do we have a "done_testing" that stops that whining? | 13:59 | |
jnthn | And putting "done" at the end remvoes that but makes prove REALLY confused. :) | ||
lizmat | it's called "done" actually now | ||
14:01
klaas-janstol left
|
|||
lizmat | fwiw, craziness *I* saw in tests the past days, is gone now fortunately | 14:01 | |
jnthn | Well, NativeCall's tests *are* a weird case | ||
14:02
fhelmberger_ joined
|
|||
lizmat | could it be that the "done" comes before the C output? | 14:02 | |
masak | Python 3.5 may get gradual typing: github.com/JukkaL/mypy -- news.ycombinator.com/item?id=8191916 | ||
jnthn | Just in that the output is like this: | ||
ok 13 - out-of-bounds access on managed array | 14:03 | ||
ok - struct in position 0, C-side | |||
ok - struct in position 1, C-side | |||
ok - struct in position 2, C-side | |||
ok 14 - byte in element 0 | |||
14:03
klaas-janstol joined
|
|||
tadzik | masak: wow, that's pretty nice | 14:03 | |
masak | tadzik: the HN discussion is interesting. | ||
14:03
cooper joined
|
|||
masak | tadzik: if Python went the TypeScript route, that *would* be pretty nice. | 14:03 | |
lizmat | jnthn: any way to get the C-output in a subtest ? | 14:04 | |
14:06
klaas-janstol left
|
|||
jnthn | lizmat: Um... | 14:06 | |
lizmat: What does that involve? | |||
14:06
Gothmog__ joined,
rjbs- joined,
pmichaud_ joined
14:07
broquain1 joined,
orevdiabl joined
|
|||
lizmat | printing 4 spaces in front of each line for each subtest level | 14:09 | |
14:10
vike1 joined
14:11
stux|RC-only joined,
fhelmberger left,
vike left,
DarthGandalf left,
xinming_ left,
avuserow left,
nhayashi left,
rjbs left,
clkaoud left,
revdiablo left,
pmichaud left,
stux|RC left,
Gothmog_ left,
broquaint left,
eiro left
14:12
thou joined,
Gothmog__ is now known as Gothmog_,
nhayashi_ joined
|
|||
jnthn | lizmat++ # that does it... | 14:12 | |
14:13
iarna left,
xinming joined,
iarna joined
14:14
DarthGandalf joined,
krunen left
|
|||
dalek | volaj: d9e11ac | jnthn++ | t/0 (6 files): Use subtest syntax for C output. Avoids confusing Test.pm, which likes to have an exact count. lizmat++ for suggesting this solution. |
14:14 | |
14:15
anaeem1 joined
|
|||
jnthn | Now I just get one fail in pointers.t | 14:15 | |
14:15
cooper left
|
|||
jnthn | not ok 5 - OpaquePointer roundtrips okay using .perl and EVAL | 14:15 | |
# got: '4194750160' | |||
# expected: '8791697837776' | |||
FROGGS: Got any hints where I might go looking for ^? | |||
FROGGS | hmmm | 14:17 | |
how is it initialized? not that this is because something got moved by gc | 14:18 | ||
14:18
clkaoud joined
14:19
avuserow joined,
cooper joined
|
|||
brrt | wrt to python optional typing, the benefits of that remains to be seen of course :-) | 14:20 | |
jnthn | m: say 0xf98fced0 | ||
camelia | rakudo-moar ddfb57: OUTPUT«4186951376» | ||
14:21
eiro joined,
FROGGS[mobile] joined
|
|||
jnthn | Hm, it .perl's OK, so it's when we EVAL it back | 14:21 | |
FROGGS | jnthn: all I know is that the OpaquePointer keeps that address in its body... | 14:22 | |
14:28
klaas-janstol joined
14:30
cooper left
14:34
klaas-janstol left,
cooper joined,
eiro left
|
|||
dalek | ecs: d651fc5 | (Stéphane Payrard)++ | S99-glossary.pod: Update S99-glossary.pod I realize that I am adding to this glossary what pertains to an index. I think it is ok because at this point we are unable to maintain both an index and a glossary. |
14:34 | |
14:35
eiro joined
14:36
klaas-janstol joined,
kurahaupo joined
|
|||
dalek | ecs: 4deb632 | coke++ | S99-glossary.pod: fix spello |
14:40 | |
14:40
ajr_ left,
brrt left
14:41
guru joined,
guru left,
eiro left
|
|||
cognome | coke++ | 14:45 | |
masak | fixing yer spellos in yer spec-o. | 14:46 | |
but "self-reliant"? hmm. | |||
14:46
cooper left
14:47
araujo joined,
araujo left,
araujo joined
|
|||
cognome | partially | 14:48 | |
dalek | ecs: a1b4e26 | masak++ | S99-glossary.pod: slight rephrase |
||
14:51
cooper joined,
iarna left,
iarna joined
14:56
xusia joined
|
|||
lizmat | afk for a bit& | 14:56 | |
14:57
dayangkun joined
14:58
pmurias joined
15:04
iarna left,
cooper left
15:06
cooper joined
15:08
denis_boyun_ left
|
|||
dalek | ecs: b6f790c | (Stéphane Payrard)++ | S99-glossary.pod: S99: more entries |
15:10 | |
15:10
eiro joined
|
|||
dalek | p-js: 88fddf3 | (Pawel Murias)++ | examples/webpacked/ (2 files): Use webpack-reload-plugin for the webpacking example, and mention that in the README. |
15:11 | |
15:12
kaare_ joined
|
|||
pmurias | webpack++ # supports recompiling and reloading the page when the .nqp code changes | 15:13 | |
15:15
brrt joined
|
|||
dalek | ecs: 448d117 | (Stéphane Payrard)++ | S99-glossary.pod: typos. More entries |
15:20 | |
15:20
fhelmberger_ left
15:21
cooper left,
fhelmberger joined
15:25
fhelmberger left
15:29
cooper joined
15:31
zakharyas left
15:39
cooper left
15:45
cooper joined
15:51
cooper left
15:52
locsmif left
15:54
cooper joined,
cooper left,
cooper joined
|
|||
hoelzro | morning #perl6 | 15:54 | |
pmurias | hi | 15:55 | |
TimToady | o/ | 15:57 | |
hoelzro | I was just thinking about introspectability of Rakudo | 15:59 | |
TimToady | it occurs to me I could merge lolly if I make it switchable by envvar and default to off for this release, then we'd get SEQ for free | ||
hoelzro | ex. wouldn't it be nice if I, in the REPL, could do &infix:<+>.WHY to get the docs on the + operator? | ||
TimToady | WHY not? | 16:00 | |
16:00
jnap left
|
|||
TimToady | well, other than performance compiling the setting... | 16:00 | |
hoelzro | TimToady: yeah, I don't see WHY not, but someone has to attach all of those comments =/ | ||
and yeah, setting compilation time | |||
heh, I wrote 'WHY not' without even realizing o_O | |||
16:01
jnap joined
16:04
iarna joined
|
|||
hoelzro | we could always make use of what's on doc.perl6.org | 16:04 | |
and we could have a --no-docs option to Configure.PL | 16:05 | ||
so for development, we don't need to build it | |||
16:05
cooper left
|
|||
pmurias | it seems to be that the editor is the proper place to display the docs | 16:06 | |
jnthn | I'd pondered we might also want a way of saying "if the thing has no docs, fall back to looking in X location for them" | ||
Which'd mean we can keep doc.perl6.org as the authoritative source, install the Pod too, and then just load it on demand | |||
TimToady | well, might want to copy them down for local usage during network outagaes | 16:08 | |
or is that what you meant already? | |||
jnthn | Oh, I didn't mean grab them over the web | 16:09 | |
I meant install them somewhere locally that WHY knows where to look as a fallback | |||
hoelzro | perhaps along with the code in a CompUnitRepo? | ||
considering that WHY would mainly be used for inspection during development, one could probably store *all* WHY contents in a separate file post-compilation | 16:10 | ||
but maybe that's overly complicated | |||
PerlJam | hoelzro: that would be awesome, but I'd also want a shortcut way to ask for the docs from the REPL. Something like docs('+') where the docs() sub can be a little smart about figuring out what I mean. | ||
16:10
pecastro joined,
cooper joined,
cooper left,
cooper joined
|
|||
hoelzro | PerlJam: agreed, but I think at that point, it's just sugar around symbol traversal and calling WHY | 16:10 | |
PerlJam | aye | 16:11 | |
[Coke] | got a stuck test on the rakudo-jvm run. | ||
16:11
dayangkun left
|
|||
[Coke] | S02-lexical-conventions/comments.rakudo.jvm........ | 16:12 | |
(weird, I thought my ulimited version wouldn't get stuck for this long.) | 16:13 | ||
16:15
beastd joined
16:18
cooper left
|
|||
[Coke] | github.com/rakudo/rakudo/commit/9b...d5f3370d77 - should we be doing that in a #parrot ifdef block in nqp? | 16:20 | |
16:21
ajr_ joined
16:22
bjz left
16:26
krunen joined,
[particle]1 left,
cooper joined,
cooper left,
cooper joined
16:33
krunen left
|
|||
pmurias | [Coke]: isn't ifdef parrot handled by a specical file program that might not be avalible there? | 16:33 | |
FROGGS[mobile] | I think we fudge nqo's source | 16:34 | |
timotimo | that.s right, gen_cat.nqp doesn't do that for lib/ | ||
FROGGS[mobile] | at least parts of it | ||
16:35
cooper left
16:38
gfldex joined
16:40
krunen joined
16:41
cooper joined
16:42
[particle] joined
|
|||
TimToady wonders how long till ulimit supports limiting # of cores... | 16:42 | ||
16:43
xinming left,
xinming joined
|
|||
jnthn | dinner & | 16:44 | |
16:44
ventica2 left,
guru joined
16:45
guru is now known as Guest6083,
ajr_ left
|
|||
hoelzro | TimToady: if you want to limit to just 1 core, I think you could use processor affinity | 16:46 | |
but beyond that, I don't think there's anything =/ | |||
TimToady wonders who will come out with the first megacore... | |||
lizmat | couldn't you consider high-end graphic cards already megacore ? | 16:47 | |
16:48
Guest6083 left
|
|||
TimToady | well, in a sense, the old Connection Machine already had 65536 cores, albeit of 1-bit processors | 16:48 | |
16:48
[Sno] left
|
|||
tadzik | my gpu apparently has 1.5 megacores :o | 16:49 | |
16:49
krunen left
|
|||
tadzik | that's shader cores at least | 16:49 | |
16:49
Rotwang joined
16:50
pmurias left
16:56
cooper left
|
|||
lizmat | m: sub a ($a,:$b) { say $a; say $b }; my $c = \(42, b=> 1); a(|$c) # is this correct behaviour of flattening a capture ? | 16:57 | |
camelia | rakudo-moar ddfb57: OUTPUT«421» | 16:58 | |
lizmat | m: sub a ($a,$b) { say $a; say $b }; my $c = \(42, b=> 1); a(|$c) # this should never work, right? (receiving a pair in $b) | 16:59 | |
camelia | rakudo-moar ddfb57: OUTPUT«Not enough positional parameters passed; got 1 but expected 2 in sub a at /tmp/U309nZ7DFK:1 in block at /tmp/U309nZ7DFK:1» | ||
lizmat is looking at a possible bogus test in "t/spec/S02-types/capture.t | 17:00 | ||
TimToady | yes, the 2nd one is incorrect | 17:01 | |
timotimo | m: sub a ($a,$b) { say $a; say $b }; my $c = \(42, "b" => 1); a(|$c) # but this "works", right? | ||
camelia | rakudo-moar ddfb57: OUTPUT«Not enough positional parameters passed; got 1 but expected 2 in sub a at /tmp/gE10y7yvNR:1 in block at /tmp/gE10y7yvNR:1» | ||
lizmat | so the error is correct | ||
timotimo | m: sub a ($a,$b) { say $a; say $b }; my $c = \(42, ("b" => 1)); a(|$c) # maybe putting superstitious parens helps? | ||
camelia | rakudo-moar ddfb57: OUTPUT«Not enough positional parameters passed; got 1 but expected 2 in sub a at /tmp/cCVEF4hzVw:1 in block at /tmp/cCVEF4hzVw:1» | ||
lizmat | ok, then the test is bogus, will fix | ||
TimToady | once upon a time that behavior was specced, but got despecced, as too much torment, and problematic performance | 17:02 | |
timotimo | m: sub a ($a,$b) { say $a; say $b }; my $c = \(42, $("b" => 1)); a(|$c) # maybe throwing dollars at the problem solves it? | ||
camelia | rakudo-moar ddfb57: OUTPUT«Not enough positional parameters passed; got 1 but expected 2 in sub a at /tmp/divq9EvGJg:1 in block at /tmp/divq9EvGJg:1» | ||
lizmat | ok, that makes sense then, as the test was marked as a nom regression | ||
TimToady | oh wait, there's quotes | ||
hmm | |||
that seems buggy | |||
lizmat | => is a Pair creator, not? regardless of quoting or nor ? | 17:03 | |
17:03
cooper joined,
cooper left,
cooper joined
|
|||
TimToady | but quotes or parens should suppress named arg interpretation | 17:04 | |
lizmat | so that would indicate a problem in the capture creation | ||
TimToady | m: my $c = \(42, "b" => 1); say $c.elems | ||
camelia | rakudo-moar ddfb57: OUTPUT«1» | ||
TimToady | m: my $c = \(42, "b" => 1); say $c.keys | ||
camelia | rakudo-moar ddfb57: OUTPUT«0 b» | ||
TimToady | that's wrong | ||
should have 2 elems, and the 2nd should just be a pair | 17:05 | ||
masak submits rakudobug | |||
TimToady is kinda surprised it's working in Real Life when it's not working there | |||
implies there are two code paths where there probably oughta be one | 17:06 | ||
17:07
klaas-janstol left
|
|||
lizmat | it's probably the explicit Capture creation path that is slightly different | 17:08 | |
pmichaud_ | good morning, #perl6 | ||
17:08
pmichaud_ is now known as pmichaud
|
|||
lizmat | morning pmichaud | 17:08 | |
masak | pmichaud! \o/ | ||
17:09
bjz joined,
klaas-janstol joined
17:10
cooper left
|
|||
[Coke] | hio, pmichaud | 17:11 | |
FROGGS | hi pmichaud | 17:13 | |
17:17
cooper joined
|
|||
lizmat | m: sub a ($a,$b) { say $a; say $b }; my $p = (a=>1); my $c = \(42, $p); say $c.perl # should probably be Capture.new(list => (42,(a => 1)) | 17:17 | |
camelia | rakudo-moar ddfb57: OUTPUT«Capture.new(list => (42,), hash => {"a" => 1})» | ||
lizmat | Marked test with ticket #122555 | 17:19 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=122555 | ||
17:28
cooper left,
kaleem left
|
|||
lizmat | m: say now + now # feels like an LTA error message with a LHF fix | 17:30 | |
camelia | rakudo-moar ddfb57: OUTPUT«Ambiguous call to 'infix:<+>'; these signatures all match::(Instant:D $a, Real:D $b):(Real:D $a, Instant:D $b) in block at /tmp/R1FmBudhPk:1» | ||
17:32
cooper joined
|
|||
TimToady | "You can't add those!" | 17:35 | |
japhb | Just needs an Instant:D,Instant:D multi | 17:36 | |
yoleaux | 17 Aug 2014 06:17Z <timotimo> japhb: maybe the command i was thinking of could be called "testrun" and it could take either a component name if given, the system-wide "perl6/nqp/..." or a compiler by filename | ||
[Coke] | do we need a instant, instant that dies? | ||
japhb | timotimo: say what? | ||
TimToady | well, it should really say "You can't add an Instant to an Instant", where the two types are derived from the arguments | 17:37 | |
lizmat | yup, something like that I had in mind | 17:38 | |
TimToady | so you could also get "You can't add an Instant to a YourLife" | ||
lizmat | I'm going to create a generic "can't "op" "type1" "type2' to each other | 17:39 | |
and then add the necessary multi's with the necessary params | |||
17:40
ren1us left
17:42
klaas-janstol left,
ren1us joined
17:43
j4jackj is now known as tclduck
17:47
cooper left
|
|||
avuserow | timotimo: re star: basically I ran into problems with parrot that were release blockers AFAICT (random segfaults or test fails in some module code). I started golfing but didn't get very far, because it seems to just change the likelihood of the crash. | 17:55 | |
for what it's worth, I think that the 2014.05 and 2014.06 stars were held up for similar reasons? | |||
17:56
cooper joined
17:58
micahjam97 joined
|
|||
micahjam97 | I've just started to learn perl | 17:58 | |
what exactly is perl 6 | |||
japhb | micahjam97: A much improved (but still WIP) sister language to Perl 5. | 17:59 | |
micahjam97 | what's so improved about it? | 18:00 | |
japhb | micahjam97: Everyone has their favorite answer. I personally am a fan of the better concurrency system, metamodel-based OO, native (written in Perl 6) language grammar and setting (standard functions and classes), better type system, and more. | 18:01 | |
And I can think at a higher level about my problems in Perl 6 than I can in Perl 5. | 18:02 | ||
18:03
anaeem1 left,
micahjam97 left
|
|||
dalek | kudo/nom: a22a00a | (Elizabeth Mattijsen)++ | src/core/Exception.pm: Add X::Op::TheseTwo exception |
18:06 | |
kudo/nom: 9f4db34 | (Elizabeth Mattijsen)++ | src/core/Instant.pm: Add candidates for illegal +/- with Instants using the new X::Op::TheseTwo exception |
|||
18:08
klaas-janstol joined
18:09
ventica joined,
ventica left
18:10
cooper left
18:15
ivanshma` left,
cooper joined
|
|||
moritz | 18:15 | ||
TimToady | lizmat: why not just add a single Any,Any candidate that is the last candidate for any failed infix:<+> | 18:18 | |
18:18
guru joined
|
|||
TimToady | this solution is rather too specific | 18:19 | |
18:19
guru is now known as Guest13858
|
|||
lizmat | ok, will do... | 18:19 | |
18:19
Guest13858 is now known as ajr_
|
|||
pmichaud | that solution feels weird to me, though. | 18:19 | |
18:19
ivanshmakov joined
|
|||
TimToady | well, it should probably be generalized from the message that already indicates the candidates | 18:20 | |
pmichaud | it seems weird to me to add multi candidates as fallbacks for things one cannot do | ||
TimToady | for given operators, you should be able not only to list the candidates, but give a message like "You're trying to add an Apple to an Orange" | ||
pmichaud | because if I then start to ask "is there a way to infix:<+>(Any, Any)" I'll get a "yes" answer. | ||
as in, there's a multi that claims to handle it | 18:21 | ||
TimToady | I agree about the multi, it should be the existing error handler made smarter | ||
and maybe asking the operator in question if it has anything to say | |||
dalek | kudo/nom: c561ac3 | (Elizabeth Mattijsen)++ | src/core/Instant.pm: Revert "Add candidates for illegal +/- with Instants" This reverts commit 9f4db347c191848101a2baf2b1d02fed37409091. |
||
TimToady | in any case, we've always wanted the error to list the argument types and/or arguments as well as the candidates | ||
pmichaud | I agree that the error should list the argument types, and that this sort of analysis needs to be part of the error handler and not part of the multi candidate set | 18:22 | |
dalek | kudo/nom: 755ec1b | (Elizabeth Mattijsen)++ | src/core/Exception.pm: Revert "Add X::Op::TheseTwo exception" This reverts commit a22a00a252d8912a92ebfdbd823ac1b634cf5af8. |
||
TimToady | nodnod | ||
exceptional logic should only be invoked for exceptions :) | |||
pmichaud | also, I'm not sure the infix:<+>(Any, Any) case would've resolved the now + now case | 18:24 | |
18:24
brrt left
|
|||
pmichaud | since it complained of having an ambiguous result, not a nonexistent one | 18:24 | |
m: say now + now | |||
camelia | rakudo-moar ddfb57: OUTPUT«Ambiguous call to 'infix:<+>'; these signatures all match::(Instant:D $a, Real:D $b):(Real:D $a, Instant:D $b) in block at /tmp/5U0D82h7Pa:1» | ||
18:25
tclduck is now known as j4jackj
|
|||
pmichaud | perhaps the error message should say "Ambiguous call of 'infix:<+>(Instant, Instant)" | 18:26 | |
to show the types of arguments that were being passed | |||
18:26
cooper left
|
|||
TimToady | m: multi infix:<+>($a,$b) { warn "AOOOGA!" }; say now + now | 18:26 | |
camelia | rakudo-moar ddfb57: OUTPUT«Ambiguous call to 'infix:<+>'; these signatures all match::(Instant:D $a, Real:D $b):(Real:D $a, Instant:D $b) in block at /tmp/dOGtlSNmkX:1» | ||
TimToady | yeah.. | ||
18:27
Ven joined
|
|||
pmichaud | m: say now + now.Real; | 18:27 | |
camelia | rakudo-moar ddfb57: OUTPUT«Ambiguous call to 'infix:<+>'; these signatures all match::(Instant:D $a, Real:D $b):(Real:D $a, Instant:D $b) in block at /tmp/to8ZFsteES:1» | ||
pmichaud | m: say now.Real; | 18:28 | |
camelia | rakudo-moar ddfb57: OUTPUT«Instant:1408386515.915169» | ||
pmichaud | oh, Instant ~~ Real I guess | ||
m: say Instant ~~ Real | |||
camelia | rakudo-moar ddfb57: OUTPUT«True» | ||
TimToady | yes, it's just it has no origin, officially | ||
pmichaud | m: say now.Num | ||
camelia | rakudo-moar ddfb57: OUTPUT«1408386563.15693» | ||
pmichaud | m: say now + now.Num; | ||
camelia | rakudo-moar ddfb57: OUTPUT«Instant:2816773142.536281» | ||
TimToady | yes, well, they generally only put one safety on a gun :) | 18:29 | |
raydiak | actually... | ||
TimToady | yes, there are exceptions | 18:30 | |
18:30
ren1us left,
ren1us2 joined
|
|||
raydiak | eh, sorry...brain/finger filter must not exist this morning, that was totally unproductive | 18:31 | |
dalek | kudo/lolly: 3550867 | TimToady++ | src/Perl6/ (2 files): trap old (;) usages unless LOLLY set |
18:32 | |
pmichaud | so, at the moment I wonder if lizmat++ 's first solution is the correct one. We already have an infix:<+>(Duration, Duration) candidate, for example, and we end up doing that for many of the other types | ||
18:32
raydiak left
|
|||
Ven | .u ⍝ | 18:33 | |
yoleaux | U+235D APL FUNCTIONAL SYMBOL UP SHOE JOT [So] (⍝) | ||
pmichaud | multi sub infix:<+>(Duration:D $a, Duration:D $b) { | ||
Ven | o/, #perl6. | ||
pmichaud | multi infix:<+>(Num:D \a, Num:D \b) { | ||
multi infix:<+>(Rational \a, Rational \b) { | |||
etc. | |||
dalek | kudo/lolly: ddfb572 | (Elizabeth Mattijsen)++ | t/spectest.data: Add S02-types/array-shapes.t: properly fudged now |
||
rakudo/lolly: a22a00a | (Elizabeth Mattijsen)++ | src/core/Exception.pm: | |||
rakudo/lolly: Add X::Op::TheseTwo exception | |||
18:33
dalek left
18:34
dalek joined,
ChanServ sets mode: +v dalek,
dalek left,
cooper joined
18:35
dalek joined,
ChanServ sets mode: +v dalek
|
|||
pmichaud | m: say Date.new(2014,08,18) - Date.new(2014,07,18) | 18:35 | |
camelia | rakudo-moar ddfb57: OUTPUT«Potential difficulties: Leading 0 does not indicate octal in Perl 6; please use 0o8 if you mean that at /tmp/C2dMsb7bKp:1 ------> say Date.new(2014,08⏏,18) - Date.new(2014,07,18) Leading 0 does not indicate octa…» | ||
pmichaud | m: say Date.new(2014,8,18) - Date.new(2014,7,18) | ||
camelia | rakudo-moar ddfb57: OUTPUT«31» | ||
pmichaud | m: say Date.new(2014,8,18) + Date.new(2014,7,18) | ||
camelia | rakudo-moar ddfb57: OUTPUT«Cannot call 'Numeric'; none of these signatures match::(Mu:U \v: *%_) in sub infix:<+> at src/gen/m-CORE.setting:4313 in block at /tmp/UB9vs001Ym:1» | ||
pmichaud | that's another weirdish one :) | ||
TimToady | unfortunately I think we'll the octal warning for a goodly long time yet | ||
though it should need to warn for 07 :) | 18:36 | ||
pmichaud | yes, I agree on octal | ||
TimToady | *shoudn't | ||
my n't is flaking again | |||
TimToady merged in lolly such that it complains on (;) and [;] unless you set LOLLY | 18:37 | ||
so we can now fix all the old usages | |||
Ven | twitter.com/puffnfresh/status/5002...4794290176 | ||
pmichaud | you all are working on LoL stuff, I gather? | ||
PerlJam | .oO( What do (;) and [;] have to do with adverbs?!? ;-) |
18:38 | |
TimToady | among otehr things | ||
Ven | ^ it's funny because gather used a behaviour deprecated by lolly :P | ||
TimToady | adverbs parse that way | ||
:foo(bar) is the same as foo => (bar) | |||
pmichaud: Mouq++ is working on multi-dim subscripts like @a[*;1], while I've just changed circumfixes to be list of list or array of list composers, instead of braceless blocks | 18:43 | ||
but we need a small deprecation cycle on the latter to find old sequential (;) and change it to SEQ(;) or $(;) | |||
well, or any sigil contextualizer | |||
so unless one sets LOLLY, you get the old semantics with an error, rather than the composers | 18:44 | ||
pmichaud | okay... is LOLLY a temporary thing? | ||
TimToady | yes, just one month or so | ||
pmichaud | works for me | ||
TimToady | or maybe just one release | ||
(one Star release, that is) | 18:45 | ||
we just need to be sure that (;) misbehaves overtly rather than covertly for a bit | |||
pmichaud | I'll follow along for a little while longer and then deep dive to see where Lists are at | 18:46 | |
TimToady | by the way, there's a spectest that assumes LOLLY already, so spectest without fails one more test than with | ||
I've been studying up on them, so that we can talk intelligently | |||
pmichaud | that will be insanely helpful :) | 18:47 | |
TimToady | my current notion is that we start with gather/take, figure out how to parameterize to support eager and batch and pure code, then figure out how to handshake that down from the context | ||
pmichaud | my last notion was figuring out eager and batch first, then the rest... but I agree gather/take is a good starting point as well | 18:48 | |
TimToady | but just batching gather/take would make a lot of things run way faster | ||
supposing we know that we may, of course | |||
pmichaud | I think it depends on whether we consider gather/take to be the fundamental way that many common operations are performed | ||
TimToady | it seems like the endpoint for almost all laziness these days | 18:49 | |
pmichaud | I wonder if that's because it's naturally that way, or if it's because it's the only thing we had for doing good laziness | ||
TimToady | and the moarfolk are stressing at all the cache resources consumed by the co-routines | ||
well, I also think the exception on every take is perhaps a mistake | 18:50 | ||
pmichaud | oh, I'm sure of that. | ||
gather/take definitely needs a fundamental rethink | |||
TimToady | so we need to divorce the yield from the push | ||
lizmat | might I mention that take should work from multiple threads... | ||
TimToady | (in impl, not in interface) | ||
lizmat | now that we have them | ||
pmichaud | well, I think gather/take should be able to work efficiently threadless, too. | 18:51 | |
I've often had the feeling that too many things were being implemented using gather/take just because it was easy to do so, and not because it is the best/most efficient way to do it | |||
dalek | ast: 23da793 | (Elizabeth Mattijsen)++ | S02-types/ (7 files): YABO dies_ok -> throws_like migration |
||
pmichaud | I'm not sure that's the case... but every time we came up with a gather/take solution for things (like sequences) I cringed a little inside | 18:52 | |
lizmat | fwiw, I agree with pmichaud on that | ||
TimToady | well, sure, but it would be nice if gather/take didn't penalize us quite so much for the abstraction | ||
pmichaud | if gather/take can be made insanely efficient, then I'd have no qualms with it... I'm just not sure it can be made insanely efficient. | ||
s:g/insanely// | |||
18:53
cooper left
|
|||
TimToady | but when I fixed the for loop lazy bug, I started figuring out that there was a two-way negotiation that was needed | 18:53 | |
pmichaud | yes, that's where I left off -- I was working on ways of getting the two-way negotiation in place | ||
TimToady | and currently mapiter lets the lower interator decide whether to batch | ||
pmichaud | or at least so that in the common case the negotiations work out correctly | ||
TimToady | so Range automatically batches, for instance, since it's pure | ||
it will also help to be able to figure out if the code inside a gather is pure, or can be marked as pure wrt the outer world | 18:54 | ||
pmichaud | the challenge with gather/take was always that it had to be mostly lazy | ||
TimToady | then you can just batch or eager it automatically | ||
pmichaud | in order to support things like lines() | 18:55 | |
TimToady | yes, well, lines ain't pure | ||
it has external side effects | |||
dalek | kudo/nom: 827ede7 | (Elizabeth Mattijsen)++ | t/spectest.data: Add t/spec/S02-types/int-uint.t This test file is basically a noop at the moment, but will autmatically become active as soon as 'my int8 $a; say $a.WHAT' says "int8" correctly. |
||
pmichaud | right | ||
and I've often wanted adverbs or options to gather/take to indicate things like infiniteness | |||
Ven | why explicit? | ||
pmichaud | purity or batching could be another dimension | ||
TimToady | but 'for eager lines()' should help for that | 18:56 | |
pmichaud | I'll have to catch up later on it... I have some correspondence I have to get done today :0/ | ||
:-/ | |||
TimToady | Ven: you want an explicit fallback for when you can't solve the halting problem as well as the HEBKAC | ||
pmichaud: I know the feeling... | 18:57 | ||
HTAAOF | |||
Ven | solving the halting problem in a perl? uh | ||
18:57
cooper joined
|
|||
TimToady | the pure marker on gather might just be 'eager gather {...}' | 18:58 | |
hyper and race probably require an immediate loop: 'hyper gather for @foo {...}' or 'race gather for @foo {...}', in which case it knows it can parallelize the loop | 19:00 | ||
either that, or the hyper/race distributes the first loop found in the block | |||
ajr_ | PEBKAC I understand, but what's the HE in HEBKAC? | ||
TimToady | Human Existing | 19:01 | |
or some such :) | |||
ajr_ | Ah! | ||
19:01
vanila joined
|
|||
TimToady | who is, every now and then, less of a problem than the computer | 19:01 | |
vanila | Hi all :) | 19:02 | |
good luck with perl6 | |||
TimToady | we aren't all here | ||
thanks! | |||
ajr_ | That transforms the parsing of "as well as" from "in addition to" into "with the same competence as" | ||
lizmat | that;s a new one: Stage parse : moar(19521,0x7fff7d47b310) malloc: *** error for object 0x7f81736145c0: pointer being freed was not allocated | ||
*** set a breakpoint in malloc_error_break to debug | |||
make: *** [CORE.setting.moarvm] Abort trap: 6 | |||
timotimo | it kind of seems like luck has been in good supply recently | 19:03 | |
lizmat | rebuilding from scratch | ||
19:04
[Sno] joined,
muraiki left,
muraiki joined
|
|||
TimToady also rebuilds everything from scratch Just to Make Sure | 19:07 | ||
19:07
Ven left
|
|||
TimToady | "I'm compiling." | 19:07 | |
19:11
perlpilot joined
19:12
cooper left
|
|||
[Coke] | lizmat++, getting everything into spectest.data! | 19:15 | |
(well, more things) | |||
19:16
cooper joined
|
|||
mr-foobar | TimToady: what do you think of expressivity in languages like forth ? # brainstorming myself to write a forth-ish language. | 19:16 | |
nwc10 | lizmat: I don't see that with ASAN on x86_64 linux | 19:17 | |
19:18
darutoko- left,
breinbaas joined
|
|||
[Coke] | there are -multiple- hangs in the rakudo.jvm spectest today. | 19:18 | |
lizmat | fwiw, I cannot build nom right now: | 19:24 | |
TimToady | mr-foobar: the problem with forth-like languages is that, while they're very expressive, they don't provide enough common culture, so everyone invents their own, which doesn't interop very well | ||
lizmat | seems to segfault in stage parse: | ||
Stage parse : moar(21453,0x7fff7d47b310) malloc: *** error for object 0x7fb7fadcbbe0: pointer being freed was not allocated | |||
*** set a breakpoint in malloc_error_break to debug | |||
make: *** [CORE.setting.moarvm] Abort trap: 6 | |||
colomon is glad to see pmichaud++ back | 19:25 | ||
TimToady | everything builds here (well, perl-p is still compiling) | ||
lizmat | bulds ok if I go back to 755ec1b20534ce27a0c1f7e8ffe0ca4ca06e8235 | ||
TimToady: are you bullding with --mor-option=--enable=jit ? | 19:26 | ||
TimToady | yes | ||
lizmat | *moar | ||
then I have no explanation | 19:27 | ||
TimToady | actually, no, I'm using --enable-jit | 19:28 | |
you have an = | |||
19:28
cooper left
|
|||
TimToady | if you actually have --enable=jit, I suspect it's not enabling the jit, but you'd think it would carp | 19:29 | |
dalek | rl6-roast-data: 4b23b5b | coke++ | / (6 files): today (automated commit) |
19:30 | |
timotimo | i wonder if moar --version should point out if an environment variable has disabled jit | ||
TimToady | well, at least it says "with JIT support" if it's compiled in | 19:32 | |
it seems like adding (disabled) would be reasonable | |||
19:32
cooper joined
|
|||
TimToady | btw, perl6-p also compiled successfully | 19:33 | |
lemme try on a different machine that never had lolly to see if I've cheated | |||
m: say (<a b c>; <d e f>).perl | 19:34 | ||
camelia | rakudo-moar 9f4db3: OUTPUT«WARNINGS:Useless use of "a b c" in expression "a b c" in sink context (line 1)("d", "e", "f")» | ||
TimToady | still the old one | 19:35 | |
lunch & "I'm compiling." | 19:36 | ||
19:37
klaas-janstol left
19:39
telex left
19:40
telex joined
|
|||
lizmat | TimToady: without jit, it compiles and builds ok | 19:42 | |
so we have some LOLLY / jit interaction :-( | |||
TimToady | with jit, compiles and builds okay on my other machine | ||
are you compiling with LOLLY set? | 19:43 | ||
TimToady isn't... | |||
TimToady tries with, for funs | 19:45 | ||
FROGGS | ... and profit | ||
TimToady | compiles fine with LOLLY set too | 19:46 | |
this is on two different Linux machines running Mint, both 64-bit | |||
do you have any uncommitted changes sitting about? | 19:47 | ||
19:49
cooper left
|
|||
nwc10 | spectests for me on x86_64 linux with ASAN, with and without JIT | 19:50 | |
so, also confusd | |||
TimToady | or any other MVM envvars set? | 19:51 | |
19:53
Ven joined
|
|||
Ven | TimToady: eager gather means you can't have pure infinite gathers, right? | 19:54 | |
TimToady | sure, just leave out the 'eager' | 19:55 | |
19:55
cooper joined
|
|||
TimToady | gather still defaults to lazy | 19:55 | |
lizmat | no uncommitted changes, just OSX | ||
TimToady | .oO("just") |
19:56 | |
Ven | TimToady: then that means there's no pure marker on it anymore | ||
lizmat | $ set | grep MVM | ||
$ | |||
19:56
colomon_ joined,
perlpilot left
|
|||
TimToady | Ven: there never was, that I now of | 19:56 | |
*know | |||
lizmat | I'm not sure how to set LOLLY | ||
19:57
retupmoc1 joined
|
|||
lizmat | LOLLY=1 ? | 19:57 | |
Ven | lizmat: LOLLY=1 cmd ? | ||
19:57
ingy1 joined,
yeltzooo9 joined,
daxim_ joined
|
|||
lizmat | rebuilding with jit enabled, and then making with LOLLY | 19:57 | |
Ven | TimToady: I mean, `eager` meaning `pure` instead of `finite` | ||
19:57
Psyche^ joined,
avuserow_ joined
|
|||
TimToady | eager just means I don't care if this gather has side effects, just do 'em all now | 19:58 | |
so "treat as if pure" | |||
19:58
avuserow left,
yeltzooo left,
Psyche^_ left,
Possum left,
colomon left,
MilkmanDan left,
daxim left,
robinsmidsrod left,
ingy left,
retupmoca left,
colomon_ is now known as colomon,
MilkmanDan joined,
robinsmidsrod joined,
Possum joined
|
|||
TimToady | it's not a pure marker in the sense that you can compile-time eval it though, or constant fold it | 19:59 | |
(unless the gather is already running at compile time) | |||
*can't | 20:00 | ||
grr | |||
TimToady glares at his n't key, which sometimes produces '', and sometimes produces 'n' | |||
20:01
dwarring joined
|
|||
TimToady | well, I suppose "can" also makes sense if you read it right | 20:01 | |
lizmat | indeed, builds ok now with LOLLY=1 and jit enabled | 20:02 | |
running spectest now | |||
Ven | TimToady: so the list is allowed not to be reifed on `eager` ? | 20:04 | |
TimToady | only if it's explicitly marked as infinite; otherwise eager is supposed to try real hard | ||
eager is short for "mostly eager", which means unless known infinite | 20:05 | ||
gather/take can't know, therefore don't put eager on a loop known to be infinite | 20:06 | ||
or on a gather containing such a loop | |||
or you will find out how much memory you have :) | |||
and that you don't have even more of it | |||
Ven | then we're back to what I said first. if you use `eager` to indicate pureness, you're making it impossible to have an infinite gather marked pure, right? | 20:07 | |
TimToady | well, arguably an infinite loop is a side effect :P | ||
20:08
guru joined,
guru left
|
|||
TimToady | and the only thing that prevents that side effect is treating the loop as lazy, which is the default anyway | 20:09 | |
20:09
cooper left,
guru joined
20:10
guru is now known as Guest77311
20:11
ajr_ left
|
|||
Ven | I strongly disagree with something lazy being a side effect :) | 20:13 | |
20:14
diakopter left,
Guest77311 is now known as ajr_
|
|||
TimToady | I didn't say that. | 20:15 | |
I said it has the side effect of using up your memory if it *isn't* lazy. | |||
20:17
cooper joined
|
|||
TimToady | lizmat: so it might be worth turning LOLLY back off and seeing if it still compiles, since it might have been a transient misconfig | 20:20 | |
lizmat | alas: Stage parse : moar(34345,0x7fff7d47b310) malloc: *** error for object 0x7fdd215999b0: pointer being freed was not allocated | 20:23 | |
*** set a breakpoint in malloc_error_break to debug | |||
make: *** [CORE.setting.moarvm] Abort trap: 6 | |||
20:24
perlpilot joined
|
|||
lizmat | builds ok with LOLLY :-( | 20:24 | |
TimToady | bizarre | ||
[Coke] | aw, I can't build niecza with latest toolchain on os x | 20:25 | |
TimToady | nor on Linux | ||
niecza doesn't work under mono 3 | |||
'course, it's more fun to blame OS X | |||
20:26
Ven left
|
|||
TimToady | lizmat: can only suggest trying gdb or some such to see where it thinks it is | 20:26 | |
or get someone else on OS X to guinea pig it for you | 20:27 | ||
nwc10 | valgrind /home/nicholas/Sandpit/moar-g-jit/bin/moar --libpath="/home/nicholas/Sandpit/moar-g-jit/languages/nqp/lib" perl6.mo | 20:28 | |
arvm --setting=NULL --ll-exception --optimize=3 --target=mbc --stagestats --outp | |||
ut=CORE.setting.moarvm src/gen/m-CORE.setting | |||
no problem. so confused :-( | |||
TimToady | but that's really strange; I'm guessing something is going wrong in fetching a non-existent envvar on OS X | ||
since that's about the only difference between LOLLY and non-LOLLY | 20:29 | ||
unless it blows up trying to call .obs | |||
but it shouldn't be doing that in compiling perl6-m anyway, since the source is lolly-clean | |||
or lollipop, as we were calling it yesterday | 20:30 | ||
nwc10: are you on osx? | |||
20:31
cooper left,
kaare_ left
20:32
psch left
|
|||
lizmat | aha: it builds with LOLLY=0 | 20:33 | |
so indeed, the *absence* of the envvar is the problem | |||
TimToady | très étrange | 20:34 | |
20:34
perlpilot left
|
|||
TimToady | the code in question is simply: if !nqp::getenvhash<LOLLY> | 20:35 | |
lizmat | yup, looking at it | ||
now, I seem to recall problems with %ENV in the past | |||
FROGGS | I also use nqp::getenvhash()<V5TRACE>, and this version did not cause problems in the past | 20:36 | |
nqp-m: say 42 if !nqp::getenvhash<LOLLY> | 20:37 | ||
camelia | nqp-moarvm: OUTPUT«Confused at line 2, near "say 42 if " at gen/moar/stage2/NQPHLL.nqp:369 (/home/p6eval/rakudo-inst-2/languages/nqp/lib/NQPHLL.moarvm:panic:105) from gen/moar/stage2/NQP.nqp:913 (/home/p6eval/rakudo-inst-2/languages/nqp/lib/nqp.moarvm:comp_unit:872) fro…» | ||
dalek | kudo/nom: 9a2f3e5 | (Elizabeth Mattijsen)++ | src/Perl6/Actions.nqp: DeTAB |
||
FROGGS | nqp-m: say(42) if !nqp::getenvhash<LOLLY> | ||
camelia | nqp-moarvm: OUTPUT«42» | ||
TimToady | surely the parens wouldn't make a difference? | ||
FROGGS | nqp-m: say(42) if !nqp::getenvhash()<LOLLY> | ||
camelia | nqp-moarvm: OUTPUT«42» | ||
TimToady | well, but that's not running on olx | 20:38 | |
*osx | |||
FROGGS | true... | ||
is that LOLLY check in nqp code? | |||
TimToady | funny typo, typing l instead of s, wrong ring fingy | ||
lizmat | FROGGS: yes | ||
TimToady | yes, it's in src/Perl6/Actions.npq | ||
20:39
cooper joined
|
|||
TimToady | m: say (<a b c>; <d e f>).perl | 20:39 | |
camelia | rakudo-moar 827ede: OUTPUT«===SORRY!=== Error while compiling /tmp/1dedAOF5XXUnsupported use of ; in brackets as a statement sequence; in this and future versions please use SEQ(;) or $(;) for C comma semantics (or set LOLLY for the new list-of-list semantics fo…» | ||
TimToady | there it is | ||
FROGGS | that's what I did in v5's Actions.nqp: my $V5DEBUG := +nqp::getenvhash()<V5DEBUG>; | ||
so, perhaps numifying it helps here too | 20:40 | ||
TimToady | well, if boolifying is bogus on osx, we wanna know it | ||
m: BEGIN $*ENV<LOLLO> = 1; say (<a b c>; <d e f>).perl; # curious | 20:42 | ||
camelia | rakudo-moar 827ede: OUTPUT«===SORRY!===postcircumfix:<{ }> not defined for type Failure» | ||
TimToady | heh | ||
oh | |||
20:42
Ven joined
|
|||
TimToady | m: BEGIN %*ENV<LOLLO> = 1; say (<a b c>; <d e f>).perl; # curious | 20:42 | |
camelia | rakudo-moar 827ede: OUTPUT«===SORRY!=== Error while compiling /tmp/pOd5dX0B8cUnsupported use of ; in brackets as a statement sequence; in this and future versions please use SEQ(;) or $(;) for C comma semantics (or set LOLLY for the new list-of-list semantics fo…» | ||
TimToady | aww | ||
oops | |||
m: BEGIN %*ENV<LOLLY> = 1; say (<a b c>; <d e f>).perl; # curious | |||
camelia | rakudo-moar 827ede: OUTPUT«===SORRY!=== Error while compiling /tmp/WdyBnisJpfUnsupported use of ; in brackets as a statement sequence; in this and future versions please use SEQ(;) or $(;) for C comma semantics (or set LOLLY for the new list-of-list semantics fo…» | ||
TimToady | naw, nqp don't see it | 20:43 | |
m: BEGIN %PROCESS::ENV<LOLLY> = 1; say (<a b c>; <d e f>).perl; # curious | |||
camelia | rakudo-moar 827ede: OUTPUT«===SORRY!=== Error while compiling /tmp/AmfAjWEmM5Unsupported use of ; in brackets as a statement sequence; in this and future versions please use SEQ(;) or $(;) for C comma semantics (or set LOLLY for the new list-of-list semantics fo…» | ||
TimToady | nope | ||
probably have to do a much fancier lookup to find that | 20:44 | ||
FROGGS | m: BEGIN nqp::bindkey(nqp::getenvhash(), 'LOLLY', 1); say (<a b c>; <d e f>).perl; # curious | ||
camelia | rakudo-moar 827ede: OUTPUT«===SORRY!=== Error while compiling /tmp/fxA4NhB1awUnsupported use of ; in brackets as a statement sequence; in this and future versions please use SEQ(;) or $(;) for C comma semantics (or set LOLLY for the new list-of-list semantics fo…» | ||
timotimo | my desktop is quite busy running benchmarks of the most current rakudo/nqp with most curren moarvm with and without jit ... | 20:45 | |
20:47
yukko joined
|
|||
timotimo | it may have been a bad idea to set --enough-time=10 ... | 20:48 | |
and --runs=4, too | 20:49 | ||
Ven | hehehe. | 20:50 | |
TimToady | well, %*ENV<LOLLY> doesn't find it at all, so I don't think npq sets %*ENV | 20:51 | |
timotimo | the other benchmark runs i did recently had the same settings, so i thought it'd look misleading if i put the latest version into the same graph and they end further to the left | ||
20:51
cooper left,
rindolf left
20:57
cooper joined
|
|||
lizmat | sleep& | 20:59 | |
21:01
colomon left
|
|||
ajr_ | A claim that the problem of parallel processing has been solved: www.eetimes.com/author.asp?section_...23553& | 21:02 | |
(I'll believe it when I see it in operation.) | 21:03 | ||
21:05
colomon joined
|
|||
PerlJam | ajr_: It's super simple! They just used cold fusion ;) | 21:06 | |
[Coke] | PerlJam: I use ColdFusion 5 days a week,a nd doubt your claim. | 21:07 | |
21:08
cooper left
|
|||
Ven | :(( | 21:11 | |
timotimo | it's a "slap yourself on the forehead and exclaim d'oh" simple approach, yeah? | 21:13 | |
dalek | ecs: d3c3141 | TimToady++ | S02-bits.pod: document lollipop composers |
||
ecs: e21c13e | TimToady++ | S04-control.pod: undocument old lollipop semantics |
|||
timotimo | it'd be nice if that were truly something that works | ||
Ven | so, SEQ is a thing now ? | 21:15 | |
Ven is really scared of ** and ; because they feel fragile | 21:16 | ||
21:17
cooper joined
|
|||
dalek | ecs: 430ee6e | TimToady++ | S03-operators.pod: one more lollification |
21:17 | |
TimToady | m: SEQ(my $x = 42; $x).say | ||
camelia | rakudo-moar 827ede: OUTPUT«42» | ||
TimToady | m: SEQ(42; 43) | 21:18 | |
camelia | rakudo-moar 827ede: OUTPUT«WARNINGS:Useless use of constant integer 42 in sink context (line 1)» | ||
TimToady | sure looks like it :) | ||
Ven | like perl5's my $ = (.., ..) ? | ||
TimToady | it's the C comma in disguise, yes | ||
or you can think of it as a block without the {} | 21:19 | ||
so declarations aren't limited to its scope | |||
Ven | that's the only difference with do{}, right? | ||
TimToady | but I decided that the (<a b c>; <d e f>) form was more useful for multi-dimensional lists | 21:20 | |
yes | |||
Ven | yes, I;ve been backlogging a bit. | ||
TimToady | well, and it works when you pass it as a handler to nqp for gather/take, turns out | ||
21:24
cooper left
21:25
cooper joined,
cooper left,
cooper joined,
Ven left,
beastd left
21:27
cooper- joined
21:28
Rotwang left
21:29
cooper- left,
cooper left
21:32
cooper joined
21:35
pmurias joined,
Ven joined
|
|||
timotimo | the benchmarks are now close-ish to completion ... | 21:36 | |
dalek | p-js: 4722696 | (Pawel Murias)++ | / (4 files): nqp-loader uses the --source-map option, the source maps still don't get to the browser. |
21:37 | |
p-js: 5746cd3 | (Pawel Murias)++ | / (4 files): nqp-loader creates source maps. |
|||
21:39
cooper left
|
|||
Ven | now to learn more about ** and ;; :P | 21:42 | |
timotimo | me, too. | 21:43 | |
21:45
Ven left
21:47
cooper joined
21:49
Ven joined
21:52
avuserow_ left
21:53
avuserow_ joined,
cooper left
|
|||
Ven | I'm kinda excited to see LoL and stuff in action, though. They're a bit of the last bits of 6.0 to me | 21:54 | |
pmurias | I should learn more about it, as I'm only writing nqp, I'm missing out on the cool Perl 6 features ;) | ||
Ven | "what is LoL" *baby don't zip me, don't zip me, no moar* # mouq++ | 21:55 | |
pmurias: I really think you're going to have a hard time implementing some perl6 features in rakudo-js :P | 21:56 | ||
PerlJam | Ven: It's all just a Simple Matter of Programming :) | 21:57 | |
timotimo | t.h8.lv/p6bench/2014-08-18-longterm_history.html - interesting. | 22:00 | |
t.h8.lv/p6bench/2014-08-18-longterm...-moar.html - didn't look at this thoroughly yet | |||
t.h8.lv/p6bench/2014-08-18-longterm...-moar.html - same thing here | |||
22:01
cooper joined
22:03
baest_ joined
|
|||
timotimo | now i'm wondering if we'll get to see the param_* ops jitted before this month's release | 22:03 | |
i'm glad to see nqp-moar-jit gets noticably faster at rc-forest-fire | 22:05 | ||
22:06
BooK_ joined,
broquaint joined,
Psyche^_ joined,
xragnar_ joined,
xragnar left,
xragnar_ is now known as xragnar
22:07
gtodd1 joined
22:10
eternaleye_ joined
22:11
gtodd left,
BooK left,
broquain1 left,
lue left,
baest left,
Psyche^ left,
eternaleye left,
eternaleye_ is now known as eternaleye,
cooper left
22:12
lue joined
22:16
Ven left
|
|||
rurban | implemented the opendir/nextfiledir iterator for nqp-p (parrot only has readdir => list) | 22:19 | |
timotimo | t.h8.lv/p6bench/2014-08-18-longterm...story.html - here's a history of only rakudo-moar without nqp-moar making the differences in rakudo's performance invisible to the naked eye | 22:25 | |
22:26
ivanshmakov left
22:28
dwarring left
|
|||
dalek | p/p-opendir-gh177: 85f5ff4 | rurban++ | src/vm/parrot/ (2 files): implement missing opendir/nextfiledir/closedir ops in terms of readdir The other backends jvm and moar provide the opendir/nextfiledir iterator. Mimic it with a parrot ArrayIterator over the string list provided by Parrot_file_readdir(). |
22:29 | |
22:29
ivanshmakov joined
|
|||
dalek | p/p-opendir-gh177: 2dd934b | rurban++ | src/vm/parrot/ (2 files): Implement missing opendir/nextfiledir/closedir ops in terms of readdir The other backends jvm and moar provide the opendir/nextfiledir iterator. Mimic it with a parrot ArrayIterator over the string list provided by Parrot_file_readdir(). Fixes GH #177 (not yet, WIP) |
22:30 | |
22:33
ajr_ left
22:35
cooper joined
22:38
colomon left
22:40
colomon joined
22:44
gfldex left
22:48
cooper left
22:50
cooper joined
22:52
xenoterracide joined
22:55
rindolf joined
23:06
cooper left
23:09
cooper joined
23:16
spider-mario left
23:21
cooper left
23:25
prevost left
|
|||
TimToady | something dramatic happens at 2^31... sign problem? gives up and takes a sad path? | 23:26 | |
23:28
iarna left
23:30
cooper joined,
thou left
|
|||
TimToady | but yeah, that last one definitely shows the jit is helping Perl 6, not just NQP | 23:35 | |
23:41
cooper left
23:49
cooper joined
23:51
pmurias left
|