»ö« 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. |
|||
[Coke] nukes rakudo.jvm and rakudo.jvm/nqp every time. it's the only way to be su... hey, is it fridy already? | 00:00 | ||
flussence | .oO( wouldn't that make it a literal segmentation fault? :) |
||
sorear | fridy? | ||
flussence | /frida++y/! | 00:01 | |
sorear | flussence: The segmentation in SEGV refers to segmented memory management, and accessing outside the bounds of your process's reserved data segment | 00:02 | |
Unix systems have used page-based memory management instead of segmentation for a couple decades now, but the name has stuck | |||
Windows, however, is more up to date and calls it INVALID_PAGE_FAULT iirc | |||
timotimo | fridcy? | 00:03 | |
er, fridby. | |||
segfault is much funner to say IMO | |||
dalek | ecs: c98d2d2 | (Brent Laabs)++ | S99-glossary.pod: define and add some terms |
00:07 | |
labster | feel free to adjust my definition of segfault in the above. | 00:08 | |
sorear | :p | 00:10 | |
00:17
yoleaux left
|
|||
timotimo | running python code after a while of perl6 coding: OOOOH GOD WHY IS IT SO FAST =o | 00:17 | |
sorear | because it's not Perl6 | 00:18 | |
timotimo | yeah :( | ||
but it's so many functions and deep recursion, computers have no business being this fast! | |||
00:19
yoleaux joined,
ChanServ sets mode: +v yoleaux
|
|||
sorear | because nobody had the "bright" idea to add Failure | 00:19 | |
because + is an actual builtin and not calling into a giant wad of perl6 code | |||
flussence | because it's only designed to look nice from a distance, not when you're actually reading it | 00:20 | |
timotimo has a sudden burst of "will perl6 ever be fast enough for me? :(" | 00:24 | ||
well, i'll just have to be as patient as everybody else; even less patient than most | 00:26 | ||
[Coke] | java.lang.NoSuchMethodError: org.perl6.nqp.runtime.Ops.srand(J)J | ||
00:30
xinming left
|
|||
sorear | timotimo: i have those all. the. time. | 00:31 | |
srand is LHFy, if anyone wants it | 00:32 | ||
00:32
xinming joined
|
|||
timotimo | bbl | 00:32 | |
sorear | (you'll need to add a random-number object to the ThreadContext instead of using ThreadLocalRandom.current()) | 00:33 | |
00:35
Guest1337 left
|
|||
colomon | sorear: you reckon that's a good idea, then? | 00:36 | |
timotimo | do you think you can get rakudo close to niecza performance wise? | 00:39 | |
00:41
benabik left
|
|||
timotimo | and that before the year ends? ;) | 00:41 | |
well by that time we may already have moarvm running | 00:42 | ||
that may or may not improve things | |||
00:42
xenoterracide joined
|
|||
sorear | timotimo: on moarvm? probably | 00:43 | |
niecza has some major cheats that it does when it thinks it can get away with it | |||
timotimo | cool | ||
can those make it into rakudo? ;) | |||
sorear | like turning control exceptions into low-level 'goto's and running a special fastpath version of the arithmetic dispatcher | 00:44 | |
colomon | I'd be shocked if MoarVM cannot beat Niecza performance-wise. | ||
timotimo | that sounds sensible actually | ||
morphing loops should be s^Ha pretty standard optimization | |||
00:45
SamuraiJack joined
|
|||
sorear | timotimo: jnthn++ said some things earlier that make it sound like next-to-goto is already in moarvm | 00:45 | |
timotimo | oooh nice | 00:46 | |
sorear | OTOH jnthn is specifically opposed to maintaining a special version of the multidispatcher for arithmetic ops. can't say I blame him | ||
timotimo | i wonder if the current compile time inlining and dispatch in the optimizer are already decent | ||
for simple arithmetic | 00:47 | ||
sorear | right now the perl 6 feature that I would like to eliminate most is sink context | ||
colomon | sorear: from an efficiency standpoint? | ||
sorear | just think: an extra method call for every statement! and the execution of for loops is very complicated | ||
colomon: from an efficiency and a semantic WTFs standpoint | 00:48 | ||
timotimo | eliminate from the language or while compiling? | ||
sorear | timotimo: eliminate from the language | ||
colomon has been opposed to sink context on semantic WTF standpoint since day one | |||
timotimo | i see your point :( | ||
00:48
benabik joined
|
|||
colomon | but then, I was opposed to making map and for the same as well, which seems to have been the main impetus for sink context | 00:49 | |
sorear | yes, map and for should not be the same | 00:51 | |
that's like reason #1 rakudo is slow | |||
niecza is fast because it makes for mean for | |||
colomon: yes, having a random seed/object in ThreadContext is the best option imo | 00:56 | ||
colomon | sorear: If no one has tackled it before I finish the stuff I'm currently up to, I'll take another look at that, then. | 00:57 | |
00:58
BenGoldberg left,
BenGoldberg joined
|
|||
timotimo | is getting rid of the for/map-same-ness something that would happen? | 00:59 | |
colomon | only if sorear and I figure out how to convince the rest of the p6 crew | 01:00 | |
BigDecimal?!? | 01:01 | ||
sorear | colomon: moritz, too. | 01:02 | |
what about BigDecimal? | |||
colomon | it's some sort of Num in java class? | ||
sorear | more like FatRat | ||
colomon | just ran into it trying to figure out why division is failing | ||
sorear | Num in java is Double | ||
colomon | > (1.Rat/2**256) | 01:03 | |
0 | |||
rn: say (1.Rat/2**256) | |||
camelia | rakudo 3e5868: OUTPUT«8.63616855509444e-78» | ||
..niecza v24-86-g39ab531: OUTPUT«8.6361685550944446E-78» | |||
sorear | (FatRat with the restriction that the denom is a power of10) | ||
colomon | is it actually standard java? | ||
sorear | yes | 01:04 | |
timotimo | who hath the power to uploadeth a new S26.html? | ||
t.h8.lv/S26-documentation.pod.html - i'd like to nominate this version of it | |||
sorear | colomon: I'd link you to the official java.math.BigDecimal docs but my DNS just went down | 01:05 | |
colomon | sorear: it's okay, I think I've found them. | 01:06 | |
timotimo | actually, hold on | ||
i think that's based on code that's not in nom yet | |||
indeed, the nomination is conceded | |||
colomon | oh, I've found the bug | 01:08 | |
> (1 / 10**20).Num | |||
0 | |||
divide(new BigDecimal(getBI(tc, b)), 10, RoundingMode.HALF_UP) | |||
the 10 is the decimal precision of the result | |||
thus | 01:09 | ||
> (1 / 10**10).Num | |||
1.0E-10 | |||
> (1 / 10**11).Num | |||
0 | |||
01:10
Guest1337 joined
|
|||
colomon | rn: say 2**1024 | 01:13 | |
timotimo | ah, that makes sense | ||
camelia | niecza v24-86-g39ab531: OUTPUT«1797693134862315907729305190789024733617976978942306572734300811577326758055009631327084773224075360211201138798713933576587897688144166224928474306394741243777678934248654852763022196012460941194530829520850057688381506823424628814739131105408272371633505… | ||
..rakudo 3e5868: OUTPUT«1797693134862315907729305190789024733617976978942306572734300811577326758055009631327084773224075360211201138798713933576587897688144166224928474306394741243777678934248654852763022196012460941194530829520850057688381506823424628814739131105408272371633505106845862… | |||
01:13
konundra joined
|
|||
timotimo | someone thought it was supposed to be the base? | 01:13 | |
colomon | rn: say log10(2**1024) | 01:14 | |
camelia | rakudo 3e5868: OUTPUT«===SORRY!===Unable to parse expression in argument list; couldn't find final ')'at /tmp/qEVudq5SpS:1------> say log10(2⏏**1024) expecting any of: postfix infix stopper infix or meta-infix»… | ||
..niecza v24-86-g39ab531: OUTPUT«===SORRY!===Unable to parse argument list at /tmp/v9ssVngnwb line 1:------> say log10(⏏2**1024)Couldn't find final ')'; gave up at /tmp/v9ssVngnwb line 1:------> say log10(2⏏**1024)Parse fail… | |||
BenGoldberg | r: (1/ 10**11).denominator.say | ||
camelia | rakudo 3e5868: OUTPUT«100000000000» | ||
timotimo | rn: say log10(2**1024) | ||
camelia | niecza v24-86-g39ab531: OUTPUT«308.25471555991669» | ||
..rakudo 3e5868: OUTPUT«Inf» | |||
colomon | timotimo: thank you | ||
timotimo | yw :) | ||
BenGoldberg | r: (2**1024).WHAT.say | 01:15 | |
camelia | rakudo 3e5868: OUTPUT«(Int)» | ||
BenGoldberg | rn: (2**1024).log10.say | ||
camelia | niecza v24-86-g39ab531: OUTPUT«308.25471555991669» | ||
..rakudo 3e5868: OUTPUT«Inf» | |||
BenGoldberg | rn: (2**1024).Num.say | 01:16 | |
camelia | rakudo 3e5868, niecza v24-86-g39ab531: OUTPUT«Inf» | ||
colomon | rakudobug, but I think it's known | ||
timotimo | bedtime for me :) | 01:17 | |
01:21
FROGGS left
|
|||
dalek | p: b9f195c | (Solomon Foster)++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java: Make div_In use the full accuracy possible in a Num. I'm a bit worried this is overkill that will reduce the efficiency of this conversion, but before this Rakudo JVM thought (1/10**11).Num == 0.0, which is completely unacceptable. |
01:23 | |
colomon | First JVM commit for me! \o/ | ||
sorear | colomon++ | 01:26 | |
colomon: fwiw, the way niecza handles this is to convert both sides to double *first*, then do a double divide | 01:32 | ||
colomon | sorear: right, but that's not necessarily the best way to do it. | 01:33 | |
In particular, that will fail if either numerator or denominator is outside double range. | |||
01:34
FROGGS joined
|
|||
colomon | whereas it's perfectly possible for both to be, and still have a quite reasonable result. | 01:34 | |
though obviously constructing 308 digits of precision is braindead too. | 01:35 | ||
01:36
xenoterracide left
|
|||
sorear | could go through an intermediate psuedo-double which is a double and an extra scale factor | 01:36 | |
then divide the doubles and subtract the scales, and combine with Math.scalb | 01:37 | ||
colomon | true | 01:43 | |
01:44
raiph joined
01:53
dayangkun joined
|
|||
[Coke] | r: print 21831 / 25969 | 01:59 | |
camelia | rakudo 3e5868: OUTPUT«0.840656» | ||
01:59
Guest1337 left
|
|||
colomon | [Coke]: did that catch my change? ;) | 01:59 | |
sorear | [Coke]: is that the curent pass%? | 02:00 | |
[Coke] | colomon: it takes *hours* to run. | ||
colomon | [Coke]: really? make spectest takes about ten minutes on my machine. | 02:01 | |
sorear | colomon: i haven't a tuit to make test_summary use a persisant VM yet | 02:02 | |
[Coke] | "I don't run make spectest" | ||
sorear | so right now it's spinnign up a fresh jvm for each file | ||
colomon | ugh | ||
[Coke] | it's at 3e58687 | 02:03 | |
colomon | r: say (21831 + 130) / 25969 | ||
camelia | rakudo 3e5868: OUTPUT«0.845662» | ||
[Coke] | -> zzz | 02:04 | |
colomon | o/ | ||
sorear | o/ | 02:07 | |
02:07
obra joined
|
|||
sorear | colomon: 130 new passing tests from the div change? | 02:07 | |
o/ obra | |||
colomon | sorear: yes, it was causing a fatal div by zero error in fatrat.t | ||
halfway through | |||
sorear | think we can manage 85 by EOD? | 02:08 | |
colomon | if we put our minds to it, I'm almost sure | 02:09 | |
[Coke] | zzzzgoodluckzzz | ||
colomon | given.t is failing 40+ tests | 02:13 | |
t/spec/S05-mass/properties-derived.t failing 256 | 02:14 | ||
t/spec/S12-attributes/instance.t 83 | 02:17 | ||
io_in_for_loops, 23 | 02:18 | ||
t/spec/S32-list/categorize.t, 50+ | 02:19 | ||
I'll take a look at that one, I was just messing around with it earlier this week. | |||
oodles of S32-temporal failures | 02:20 | ||
categorize: | 02:21 | ||
not ok 1 - simple sub call with Sub | |||
# got: {"20" => [Any, Any], "10" => [Any, Any], "0" => [Any, Any, Any, Any]} | |||
# expected: {"20" => [29, 23], "10" => [12, 18], "0" => [7, 9, 3, 7]} | |||
02:22
hypolin left,
hypolin joined
02:27
Chillance left
02:28
census left
|
|||
colomon | crazy | 02:33 | |
self{$k}.push: $_; with $_ == 29 produces self{$k} === [Any] | |||
02:34
adu joined
02:38
hlin_ joined
|
|||
benabik | That doesn't seem right. | 02:39 | |
colomon | benabik: yes, I am debugging | ||
benabik | Can you build Rakudo for Parrot and JVM in the same directory? Or would I need a second checkout? | 02:40 | |
colomon | separate needed, I think. | 02:41 | |
gist.github.com/colomon/5882090 | 02:43 | ||
JimmyZ never tried to understand sink context | |||
colomon | the say "blue" ~ $_; line is getting $_ as undefined | 02:44 | |
so the issue seems to be the nested loop... | 02:45 | ||
benabik | Either it's not looking up $_ properly or the inner loop is creating a $_ when it shouldn't. | ||
My guess is the 2nd. | |||
02:45
Chat2044 joined
|
|||
benabik | (Or, of course, something I didn't think of.) | 02:45 | |
02:45
Chat2044 left
02:54
hlin_ left,
hypolin left,
hlin_ joined,
hypolin joined
|
|||
colomon | gist.github.com/colomon/5882157 # golfed for jnthn, benabik, sorear .... | 02:57 | |
sorear | Stefans-MacBook-Air:rakudo-jvm sorear$ perl eval-client.pl TESTTOKEN run -e 'for 1 { for 2 -> $k { say $_ } }' | 03:00 | |
(Any) | |||
r: for 1 { for 2 -> $k { say $_ } } | |||
camelia | rakudo 3e5868: OUTPUT«1» | ||
03:01
hlin_ left,
hypolin left,
hypolin joined,
hlin_ joined
|
|||
sorear | r: ({ (-> $k { say $_ })(2) })(1) | 03:01 | |
camelia | rakudo 3e5868: OUTPUT«1» | ||
colomon | sorear: good point, not nearly as golfed as it could be | 03:02 | |
sorear | curiously, *that* one works on jvm, | ||
. | |||
so much for my first attempt to get mapiter out of the way | |||
benabik | So it's not broken $_, it's something particular to for loops? | 03:03 | |
colomon | r: gist.github.com/colomon/5882157 | ||
camelia | rakudo 3e5868: OUTPUT«11551010» | ||
colomon | ./perl6 loop.pl | ||
(Any) | |||
(Any) #etc | |||
benabik | Perl6::Actions make_topic_block_ref | 03:04 | |
Seems to be where $_ is installed for for. | 03:05 | ||
Hm. Unless $<EXPR>.ast<past_block> is set. | 03:06 | ||
I'm going to guess past_block doesn't get set in JVM. | |||
sorear | Stefans-MacBook-Air:rakudo-jvm sorear$ perl eval-client.pl TESTTOKEN run -e '{ $_ := 1; for 2 -> $k { say $_ } }' | ||
(Any) | |||
Stefans-MacBook-Air:rakudo-jvm sorear$ perl eval-client.pl TESTTOKEN run -e '{ $_ = 1; for 2 -> $k { say $_ } }' | |||
1 | |||
colomon | huh | 03:07 | |
03:07
fridim_ joined
|
|||
sorear | Stefans-MacBook-Air:rakudo-jvm sorear$ perl eval-client.pl TESTTOKEN run -e '$_ = 3; { $_ := 1; for 2 -> $k { say $_ } }' | 03:08 | |
3 | |||
the jvm backend is pickier than the parrot backend about declaration before use | |||
perhaps the signature stuff for $_ is getting installed at the wrong place in the past | 03:09 | ||
benabik | r: $_ = 3; { $_ := 1; for 2 -> $k { say $_ } } | ||
camelia | rakudo 3e5868: OUTPUT«1» | ||
benabik | (Expected that, but wanted to be sure.) | ||
sorear | .ask jnthn What would you say if I killed "Cannot stringify this" and replaced it with return "<unrepresentable>"? All it does is cause deep tree dumpers to crash and slow down debugging. --target=ast is being useless. | 03:11 | |
yoleaux | sorear: I'll pass your message to jnthn. | ||
sorear | so presumably '{ $_ := 1; for 2 -> $k { say $_ } }' is generating bad QAST | 03:12 | |
but 1. I can't see the QAST because of overeager exception throwing in the bowels of NQP | |||
2. even if I could, sink context makes QAST unreadable in addition to its runtime effects and programmer-confusing effects | 03:13 | ||
03:16
btyler joined
|
|||
sorear | yep, looking at the qast that's EXACTLY what's going on | 03:19 | |
colomon | what's exactly what's going on? (I mean, other than bad QAST) | ||
sorear | gist.github.com/sorear/5882254 | 03:20 | |
see lines 19 and 51 | |||
the inner block, { say $_ }, is compiled before the inner $_ is installed in the inner pad | |||
so the lookup is resolved at compile time to $OUTER::OUTER::_ | |||
colomon | sorear++ | 03:21 | |
sorear | parrot's getlex takes a string, JVM's takes (outer count, index in pad) | ||
03:22
xinming left
|
|||
colomon | ===SORRY!=== | 03:23 | |
java.lang.RuntimeException: is copy hash param NYI | |||
(looking at calendar.t) | |||
dalek | atures: 5b06bad | (Zakariyya Mughal)++ | features.json: autovivification item fix spelling and add link to spec |
03:24 | |
atures: 379bd34 | dukeleto++ | features.json: Merge pull request #2 from zmughal/master Fixes for autovivification item |
|||
sivoais | :-D | ||
03:25
xinming joined
03:26
adu left
03:47
xenoterracide joined
03:48
atroxaper joined
|
|||
sorear | o/ xenoterracide | 03:53 | |
std: { my $_ } | 03:58 | ||
camelia | std d4cc5ab: OUTPUT«Potential difficulties: Useless redeclaration of variable $_ (see line 1) at /tmp/ByxbVrIRpf line 1:------> { my $_⏏ }ok 00:00 43m» | ||
04:03
abnorman left
04:11
BenGoldberg left
04:12
hypolin left,
hypolin joined
04:28
konundra left,
hlin_ left,
hypolin left,
Psyche^ joined,
hlin_ joined,
hypolin joined
04:31
Patterner left,
Psyche^ is now known as Patterner
04:49
birdwindupbird joined
04:51
dmol joined
04:57
FROGGS left
05:07
fridim_ left
05:11
btyler left
05:13
btyler joined
05:17
btyler left
05:20
dayangkun left
05:29
lue left
05:35
FROGGS joined
05:37
sqirrel joined
05:44
ldthien0 joined,
ldthien0 left
05:45
xenoterracide left
06:01
dayangkun joined
|
|||
FROGGS | r: s/abc/def # rakudobug | 06:06 | |
camelia | rakudo 3e5868: OUTPUT«===SORRY!===Malformed replacement part; couldn't find final $stopat /tmp/8UUWhfKPG3:1------> s/abc/def # rakudobug⏏<EOL> expecting any of: statement list prefix or term prefix or meta-prefix … | ||
sorear | FROGGS: should it be final / ? | 06:09 | |
FROGGS | yes | 06:10 | |
the code line is like: <.panic: "could find $stop">, but this does not interpolate | |||
I'm pushing in a sec | |||
06:11
xilo left
|
|||
FROGGS | well, more than a sec, need to build nqp+rakudo and spectest | 06:11 | |
06:12
PacoAir joined
|
|||
sorear | what? now that's a bug | 06:15 | |
"" strings should always interpolate | |||
06:21
dmol left
06:25
dmol joined
06:27
dayangkun left
06:28
PacoAir left
06:29
ldthien0 joined
|
|||
FROGGS | sorear: the problem is is that this is deep in the guts of the PGE | 06:32 | |
(at least I think so) | 06:33 | ||
sorear | FROGGS: there is no PGE | ||
FROGGS | I mean the regex engine that pmichaud++ wrote... is it not called PGE? | ||
sorear | pmichaud told me at yapcna that he's written five regex engines... :D | 06:34 | |
PGE was two of them | |||
FROGGS | ahh, okay, well, w/e... I'm not sure that I ever have seen the place where things like <.method: args> get handled | 06:35 | |
06:35
daxim joined
06:39
preflex left
06:40
dayangkun joined
06:44
preflex joined,
ChanServ sets mode: +v preflex
06:46
kaleem joined
|
|||
lizmat | good *, #perl6! | 06:51 | |
FROGGS | hi lizmat | 06:53 | |
dalek | kudo/nom: d7a961c | (Tobias Leich)++ | src/Perl6/Grammar.nqp: correctly print $stop in s///-panic This is a workaround for nqp issue #105. |
06:54 | |
sorear | o/ lizmat | ||
lizmat | FROGGS! sorear! | 06:55 | |
FROGGS | lizmat! | 06:56 | |
:P | |||
lizmat | :-) | ||
06:56
dmol left
|
|||
lizmat | what, no commits to nom that I need to spectest ? | 06:56 | |
:-) | |||
better make some of my own then | |||
FROGGS | yepp, ++lizmat | 06:57 | |
does somebody know what is going on with these macro fails? | |||
lizmat | not me | 06:59 | |
and by the way, labster++ for more glossary goodness | |||
07:03
ldthien0 left
07:07
arlinius left
07:17
domidumont joined,
kaleem left
|
|||
labster | no problem, lizmat | 07:31 | |
sorear | o/ labster | 07:32 | |
lizmat | backlogging: timotimo, [Coke]: the way I remember it, is that Flavio considers his project complete in the sense that pugs is complete | ||
it has served its purpose, there won't be any more development on it | |||
life support, as it were | |||
labster | good evening, sorear | ||
07:34
ldthien0 joined
07:42
cognominal left
|
|||
labster | r: (-1).sqrt | 07:44 | |
camelia | rakudo d7a961: ( no output ) | ||
labster | r: say (-1).sqrt | ||
camelia | rakudo d7a961: OUTPUT«NaN» | ||
lizmat | isn't that right? | 07:45 | |
or are you expecting i ? | |||
labster | Vaguely wondering if that should be the case. | 07:46 | |
07:46
dayangkun left
|
|||
sorear | no | 07:47 | |
if an algorithm becomes numerically unstable and a value which is supposed to be small and positive becomes negative, NaN is the appropriate response | |||
lizmat | labster: what would "((-1).sqrt)++" then give? "j" ? | ||
labster | I admit, I'd be pretty surprised to see i as a result. | ||
lizmat | r: say i**2 # not just -1 ? | 07:48 | |
camelia | rakudo d7a961: OUTPUT«-1+1.22460635382238e-16i» | ||
lizmat | n: say i**2 | ||
camelia | niecza v24-86-g39ab531: OUTPUT«-1+1.2246063538223773E-16i» | ||
lizmat | at least we're consistent :-) | 07:49 | |
labster | r: say Complex.new(-1,0).sqrt | ||
camelia | rakudo d7a961: OUTPUT«6.12303176911189e-17+1i» | ||
07:49
fhelmberger joined
|
|||
moritz | floating-point "fun" | 07:49 | |
07:49
hypolin left
|
|||
labster | r: say Complex.new(-1,0).sqrt.round | 07:49 | |
camelia | rakudo d7a961: OUTPUT«0+1i» | ||
07:49
hlin_ left
|
|||
lizmat | r: say i*i | 07:49 | |
camelia | rakudo d7a961: OUTPUT«-1+0i» | ||
07:49
hlin_ joined,
hypolin joined
|
|||
lizmat | r: my @a; @a[1]=1; say @a.exists(0) # apparently exists knows about uninitialized array entries | 07:50 | |
camelia | rakudo d7a961: OUTPUT«False» | 07:51 | |
labster | Well, I guess I found a reasonable use case for rounding Complex :) | ||
moritz | fwiw powers of complex numbers calculate angle and magnitude, and then power the angle and multiply the magnitude | 07:52 | |
lizmat | but how can me make an array element non-existent again? | 07:53 | |
lizmat is afraid this reaches into the bowels of parrot | |||
labster | or maybe the crop of parrot. | ||
the gizzard of parrot. That's the better joke. | 07:55 | ||
lizmat | the entrails? | 07:56 | |
labster | Perhaps you can read them and tell dukeleto what the future of Parrot will be. | 07:57 | |
sorear | lizmat: bind nqp::null()? I think that's what pm said at the hackathon | ||
lizmat will try that, sorear++ | |||
r: my @a; @a[1]=1; say @a.exists(1); @a[1] := nqp::null(); say @a.exists(1) # alas | 07:58 | ||
camelia | rakudo d7a961: OUTPUT«TrueTrue» | ||
08:03
Guest1337 joined
08:14
ldthien0 left
08:19
ssutch left
|
|||
dalek | p: 9963e43 | sorear++ | / (3 files): Move EvalServer into a new tools/ package |
08:21 | |
ecs: 71e9f85 | (Brent Laabs)++ | S32-setting-library/Numeric.pod: add Complex rounders (truncate, round, floor, ceiling) |
08:23 | ||
hoelzro | o/ #perl6 | 08:30 | |
sorear | o/ | 08:31 | |
dalek | p: 4ae08cd | sorear++ | src/vm/jvm/runtime/org/perl6/nqp/tools/EvalServer.java: Give the eval server something resembling an arg parser |
08:33 | |
p: d4105e3 | sorear++ | src/vm/jvm/runtime/org/perl6/nqp/tools/EvalServer.java: Attempt to not blow up on Windows |
|||
lizmat | jnthn++ will like that | 08:34 | |
sorear | the rest of you will like the next bit | 08:35 | |
lizmat | is this an is_deeply artefact? | 08:37 | |
# got: $("0" => 42, (), "2" => 23) | |||
# expected: $(0 => 42, 2 => 23) | |||
actually, I meant: | |||
# got: $("0" => 42, "1" => Any, "2" => 23) | |||
# expected: $(0 => 42, 1 => Any, 2 => 23) | |||
isn't the left side of a fat comma always auto-quoted, hence a string? | |||
sorear | no | 08:38 | |
well, yes in perl 5 where there are fat commas | |||
=> is the Pair construction operator in p6 | 08:39 | ||
it is not comma-like | |||
lizmat | ah, that's my thinko | ||
dalek | p: b619dd6 | sorear++ | src/vm/jvm/runtime/org/perl6/nqp/tools/EvalServer.java: Implement -bind-stdin option which causes eval server to exit after an EOF on STDIN |
08:41 | |
FROGGS | std: use v5; "a"x8 | 08:42 | |
camelia | std d4cc5ab: OUTPUT«===SORRY!===Whitespace is required between alphanumeric tokens at /tmp/DhEN3oDLMp line 1:------> use v5; "a"x⏏8Parse failedFAILED 00:01 52m» | ||
FROGGS | -.- | ||
lizmat | grrr | 08:43 | |
FROGGS | I'm not sure how I should work around that one | ||
sorear | add whitespace? | 08:45 | |
presumably you're not trying to parse p5 with STD.pm6 | 08:46 | ||
FROGGS | sorear: everywhere in the tests and on CPAN? | ||
sorear | FROGGS: don't try to parse perl 5 code with a grammar that expects perl 6 | ||
FROGGS | sorear: that is STD_5.pm6 | ||
sorear | clearly a bug then | ||
don't call .ws after the x operator.. *waves hands* | 08:47 | ||
FROGGS | I know, the problem is that my v5 grammar has this bug too, and I think this goes down to EXPR | ||
sorear | yeah | ||
probably wants input from TimToady | |||
FROGGS | :/ | 08:48 | |
I mean it is only about allowing numbers after an op that is a letter | 08:52 | ||
08:56
araujo joined,
araujo left,
araujo joined
|
|||
dalek | kudo/nom: 58f22ed | sorear++ | t (2 files): Track eval server changes |
08:56 | |
sorear | FROGGS: and you cant' just say x\d is whitespacey, because $x5 is a good identifier | ||
FROGGS | jepp | 08:58 | |
sorear still associates that more with Jeep than Ja | 08:59 | ||
dalek | kudo/nom: 7bfa6df | (Brent Laabs)++ | src/core/Complex.pm: add Complex.truncate, missed it earlier |
||
09:05
Stygia joined
|
|||
FROGGS | sorear: I guess it is like this right now: <infix> [ <?before \W> || <.ws> ], and it should still work when doing: <infix> [ <?before \W | \d> || <.ws> ] | 09:13 | |
because $x is longer than $ and x | 09:14 | ||
I wonder where the code is for all that | 09:15 | ||
dalek | ast: b6dac5b | (Elizabeth Mattijsen)++ | S03-operators/subscript-adverbs.t: Added hopefully exhaustive tests for []:(kv|p|k|v) and {}:(kv|p|k|v) |
||
lizmat | I guess there's not going to be a Rakudo * this month? | 09:18 | |
moritz hopes there is | 09:21 | ||
09:22
drbean left
|
|||
lizmat hopes so too | 09:22 | ||
sorear | o/ moritz | ||
moritz | \o sorear, * | 09:23 | |
FROGGS | hi moritz | 09:24 | |
lizmat | r: my @a; my @b; @b[0]:=@a[0]; say @a.exists(0); say @b.exists(0) # Schrödinger's Cat ? | 09:25 | |
camelia | rakudo 7bfa6d: OUTPUT«FalseTrue» | ||
09:26
drbean joined
09:27
kaleem joined
|
|||
FROGGS | this seems to do it btw: token infix:sym<x> { <sym> <?MARKER('ws')> <O('%multiplicative')> } | 09:30 | |
spectesting now | |||
09:30
ldthien0 joined
|
|||
jercos | Hrm, is there meant to be some way to indicate that a gather list is infinite? Obviously perl6 can't solve the halting problem for me, but uh... | 09:32 | |
r: (gather {state $x=1;loop {take $x++}})[0,1,2,3] | |||
camelia | rakudo 7bfa6d: ( no output ) | ||
jercos | r: (gather {state $x=1;loop {take $x++}})[0,1,2,3].say | ||
camelia | rakudo 7bfa6d: OUTPUT«1 2 3 4» | ||
jercos | r: (gather {state $x=1;loop {take $x++}}).say | 09:33 | |
camelia | rakudo 7bfa6d: OUTPUT«(timeout)» | ||
lizmat | sink context strikes again ? | ||
jercos | well, no? | ||
r: (1...*).say | |||
09:33
Guest1337 left
|
|||
camelia | rakudo 7bfa6d: OUTPUT«(timeout)» | 09:33 | |
jercos | or uh, not? huh. | 09:34 | |
on my own rakudo I get "1 2 3 4 ..." | |||
FROGGS | if you try to say it, it will be evaluated | ||
r: my @a := 1...*; say @a.elems | 09:35 | ||
camelia | rakudo 7bfa6d: OUTPUT«Inf» | ||
FROGGS | r: my @a := 1...*; say @a | ||
.... wait for it | |||
camelia | rakudo 7bfa6d: OUTPUT«(timeout)» | ||
FROGGS | dary! | ||
jercos | r: my @a = (gather {state $x=1;loop {take $x++}})[0,1,2,3];say "done" | 09:36 | |
camelia | rakudo 7bfa6d: OUTPUT«done» | ||
09:36
spider-mario joined
|
|||
jercos | r: my @a = (gather {state $x=1;loop {take $x++}});say "done" | 09:36 | |
FROGGS | use the bind operator | ||
camelia | rakudo 7bfa6d: OUTPUT«(timeout)» | ||
sorear | pretty sure you CAN say it's infinite | ||
jercos | r: my @a := (gather {state $x=1;loop {take $x++}});say "done" | ||
camelia | rakudo 7bfa6d: OUTPUT«done» | ||
FROGGS | at the moment you access elements of @a, it will be computed up the used index | 09:37 | |
jercos | ah, I see, doing that without the say at the end in the REPL printed the result of the assignment. | 09:38 | |
sorear | the core uses GATHER({ ... }, :infinite) in a couple places | ||
"there must be a better way" | |||
jercos | Well that was obvious >.> | ||
r: (gather {state $x=1;loop {take $x++}}:infinite).say | |||
camelia | rakudo 7bfa6d: OUTPUT«(timeout)» | 09:39 | |
FROGGS | you are missing a comma | ||
jercos | for GATHER(), yes, not for gather{}. | ||
r: (gather {state $x=1;loop {take $x++}}:infinite).infinite.say | 09:40 | ||
camelia | rakudo 7bfa6d: OUTPUT«True» | ||
jercos | r: (gather {state $x=1;loop {take $x++}},:infinite).infinite.say | ||
camelia | rakudo 7bfa6d: OUTPUT«(Mu)» | ||
jercos | r: (1...*).gist.say | 09:42 | |
camelia | rakudo 7bfa6d: OUTPUT«(timeout)» | 09:43 | |
09:46
PacoAir joined
09:47
PacoAir left
09:48
ldthien0 left
|
|||
dalek | p: 5f78018 | sorear++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/CompilationUnit.java: Cache reflective info between activations of a shared compunit |
09:49 | |
sorear | that shaves about 100-150ms off of the time for per-file overhead when using evalserver | ||
FROGGS | that'S cool | 09:50 | |
sorear | we're now consistently faster per file than rakudo-parrot, when cheating. :) | ||
tadzik | wow :) | ||
FROGGS | \o/ | ||
09:50
hlin_ left
|
|||
moritz | CHEATING IS TECHNIQUE! | 09:50 | |
lizmat | any cheating sufficiently advanced is indistinguishable from magic | 09:51 | |
sorear | your 3am crazy idea for the day: the eval server is pretty much fastcgi, right? we could make it actually use the fastcgi protocol and possibly do cool things | ||
tadzik | haha | 09:52 | |
lizmat | why not psgi ? | ||
tadzik | why not zoidberg? | ||
also, it's your crazy 3am idea, my crazy 12 o'clock idea ;) | |||
sorear | lizmat: fastcgi is very low level, it lets you socket connect to a running process, pass it "environment variables", "standard input", "command line arguments" and get back "standard output" | 09:53 | |
moritz | .oO( FastIRC ) |
||
09:57
crab2313 joined
|
|||
lizmat | sorear: but is psgi that much different? but anyway, were talking accessing an evalserver, right, not a high-volume website | 09:59 | |
it's just that for psgi, there is so much middleware available | 10:00 | ||
fwiw, spectest of FROGGS++ latest grammar change, works out ok here | |||
FROGGS | yeah, but I didnt expect it to fail, not that tiny change | 10:01 | |
lizmat | well, it didn't.. :-) | 10:04 | |
10:05
Guest1337 joined
|
|||
sorear | lizmat: i have a confession... | 10:07 | |
lizmat: i have no idea what middleware is | 10:08 | ||
lizmat | en.wikipedia.org/wiki/Middleware | 10:09 | |
maybe more to the point: blogs.perl.org/users/jakob/2012/09/...eware.html | 10:10 | ||
FROGGS | a middleware is like all and nothing | 10:13 | |
lizmat | for me the mindblowing thing was the PSGI middleware that created a clickable stacktrace of en execution error in HTML, allowing you to see the code at every level of the stack | 10:15 | |
10:16
mtk left
|
|||
daxim | old hat in other languages/frameworks | 10:18 | |
lizmat | :-) | ||
dalek | ecs: 30396f0 | (Elizabeth Mattijsen)++ | S32-setting-library/Containers.pod: Spec that classify and categorize don't work on inifinite lists So we can close github.com/perl6/specs/issues/52 |
10:23 | |
sorear is testing a test_summary patch | |||
10:26
atroxaper left,
crab2313 left
|
|||
sorear | sent to [Coke]++ | 10:39 | |
lizmat | Q: in a multi-threaded environment, will "state" be thread local or process local? | 10:40 | |
I can see a pb if a sub with "state" hasn't been called before multiple threads are started | |||
that the sub in each thread would get its own "state" | 10:41 | ||
whereas the sub *was* called before, they would share the same state | |||
sorear | lizmat: neither... sub-clone-local | 10:42 | |
r: sub acc { return sub { (state $i)++ } }; my $f = acc; my $g = acc; say $f(); say $g(); say $f() | |||
camelia | rakudo 7bfa6d: OUTPUT«001» | ||
sorear | probably not a good idea to share Sub objects across threads when using state | ||
I wouldn't guarantee locking | 10:43 | ||
lizmat | state updates should be lockless :-) | ||
and still maintain integrity :-) | 10:44 | ||
10:53
pecastro_ joined
10:56
pecastro left
10:57
sqirrel left
11:06
raiph left
|
|||
dalek | : 103343b | (Tobias Leich)++ | lib/Perl5/ (2 files): make octets in strings ("\040") work |
11:12 | |
: 884a2b7 | (Tobias Leich)++ | lib/Perl5/Grammar.nqp: correctly print missing stopper in s/// |
|||
: c55531f | (Tobias Leich)++ | lib/Perl5/ (2 files): added stub for tr/// |
|||
: 18050b8 | (Tobias Leich)++ | lib/Perl5/Grammar.nqp: allow cuddled operator x |
|||
: 0009cbb | (Tobias Leich)++ | STATUS.md: status update |
11:13 | ||
lizmat | blogs.perl.org/users/stevan_little/...reach.html # Stevan Little++ | 11:15 | |
colomon | CSV::Parser is working! | 11:19 | |
lizmat | colomon++ | ||
colomon | lizmat: not my doing, I'm going observing the smoke testing results. :) | ||
lizmat | colomon++ # you can never have enough | 11:20 | |
colomon | lizmat++ | ||
11:24
pecastro_ is now known as pecastro
|
|||
dalek | kudo/nom: 6baad97 | (Elizabeth Mattijsen)++ | src/core/control.pm: Simplify sleep() |
11:28 | |
11:36
xinming left
11:38
xinming joined
|
|||
jnthn | afternoon, #perl6 | 11:38 | |
yoleaux | 03:11Z <sorear> jnthn: What would you say if I killed "Cannot stringify this" and replaced it with return "<unrepresentable>"? All it does is cause deep tree dumpers to crash and slow down debugging. --target=ast is being useless. | ||
08:37Z <nwc10> jnthn: coffee bootstrap reminder :-) | |||
FROGGS | hi jnthn | ||
jnthn | .tell sorear sounds fajn | ||
yoleaux | jnthn: I'll pass your message to sorear. | ||
jnthn | ooh, coffee... | ||
mls | Hi jnthn! | ||
lizmat | r: { our sub a { say "oi" } }; OUR::a # silent?? | 11:39 | |
camelia | rakudo 7bfa6d: ( no output ) | ||
FROGGS | already got the m:5th/coffee/ | ||
lizmat | r: { our sub a { say "oi" } }; OUR::a() # huh? | ||
camelia | rakudo 7bfa6d: OUTPUT«No such method 'Any' for invocant of type 'Parcel' in block at /tmp/XqSnFz61lC:1» | ||
colomon | jnthn! \o/ | ||
lizmat | jnthn! | ||
colomon | > 1e100.Num.perl | 11:41 | |
1.0E100e0 | |||
whoops | |||
nqp::p6box_s(nqp::unbox_n(self) # where is the actual Num to Str conversion happening? | 11:42 | ||
jnthn | gee, 13:40. My timezone alignment is as messed up as the rest of me... :/ | ||
jnthn goes to deal with some $dayjob bits... | |||
colomon: probably smart_stringify or so | |||
colomon: in Ops.java in nqp repo | 11:43 | ||
colomon | in SixModelObject? | 11:44 | |
jnthn | oh, maybe it's actually coerce_ns or so | 11:46 | |
No, in Ops for sure | |||
colomon | coerce_n2s ? | ||
jnthn | coerce_n2s | ||
yeh | |||
I guess that's the one | |||
colomon | jnthn++ | 11:47 | |
colomon is being forced to learn some Java.... | 11:49 | ||
jnthn | It's like C# but will all the awesome removed. | 11:50 | |
colomon | which is sort of like p6 with all the mildly good or better removed.... | 11:52 | |
jnthn: did you see the inner loop getting wrong $_ bug from last night? | 11:53 | ||
jnthn | noticed when I skimmed the logs, no immediate idea what's up | ||
colomon | sorear++ did a lot of investigating, but I don't think he ended up with a fix. or maybe I missed it in the scrollback. | 11:54 | |
jnthn | I assume Rakudo on Parrot gets the right answer? | 11:55 | |
colomon | jnthn: yes | ||
hmmm... I think I just fixed coerce_n2s, but it didn't make any difference to the code. :\ | 11:56 | ||
nr: say 1e100 | |||
camelia | niecza v24-86-g39ab531: OUTPUT«1.0000000000000002E+100» | ||
..rakudo 7bfa6d: OUTPUT«1e+100» | |||
colomon | huh. maybe my expectations are wrong? | 11:57 | |
11:57
kaleem left
11:58
kaleem joined
|
|||
colomon | no, I'm pretty sure we're not calling coerce_n2s there | 12:03 | |
12:11
Stygia left
|
|||
dalek | ecs: 94fb8bc | (Elizabeth Mattijsen)++ | S29-functions.pod: Remove extra period. |
12:12 | |
colomon has a work-around which gets S02-types/num.t working, but feels it is kind of hacky | 12:13 | ||
12:14
Stygia joined
12:15
fridim_ joined
12:22
lestrrat left
12:23
Stygia left,
lestrrat joined
12:25
sqirrel joined
12:30
btyler joined
12:34
skids left
|
|||
dalek | kudo/nom: 3952e96 | (Elizabeth Mattijsen)++ | src/core/control.pm: Implement interval($seconds), as per S29:265 |
12:38 | |
[Coke] drinks some office sludge. | 12:39 | ||
colomon wonders about jdb | 12:42 | ||
lizmat | what about jdb? | 12:44 | |
colomon | how to use it to debug nqp-jvm | ||
dalek | rl6-roast-data: a7a27b4 | sorear++ | bin/rakudo.jvm.sh: Use eval server in rakudo.jvm.sh Known issues: requires bash, and does not support time or memory limits. (Note that ulimit -t would be useless as that only handles CPU time, not wall time.) |
||
rl6-roast-data: 339f879 | (Will Coleda)++ | bin/rakudo.jvm.sh: Merge pull request #4 from sorear/master Minimal eval server patch from sorear++ |
|||
jnthn looks forward to today's run ;) | 12:45 | ||
FROGGS looks forward to his current run | |||
[Coke] hates running. | |||
colomon looks forward to understanding wtf is going on with Num.Str | |||
[Coke] returns from the gym this morning. :P | |||
FROGGS | [Coke]: nonzero? | 12:46 | |
FROGGS .oO( [Coke zero]? ) | |||
12:47
Stygia joined
|
|||
[Coke] | CokeZero++ | 12:47 | |
FROGGS | bah | 12:48 | |
I dont like it | |||
[Coke] | I need to stop drinking it, but as far as diet sodas go, it's the best (aside from homemade) | ||
sorear++ #again | |||
FROGGS | I only drink coffee and water | ||
jnthn drinks many things, but very rarely does he do soft drinks | 12:49 | ||
Well, sodas | 12:50 | ||
12:50
Stygia left
|
|||
colomon | water, water, water, hard cider, whisky, wine | 12:50 | |
12:57
konundra joined,
btyler left,
atroxaper joined
|
|||
[Coke] | sorear++ much faster. | 12:58 | |
now it might actually be slower to rebuild from scratch each day! | |||
colomon thinks he may have been trying to solve the wrong problem | |||
13:01
atroxaper left
|
|||
[Coke] | colomon: ... that is what the last 10 years have felt like to me here! | 13:01 | |
13:04
fridim_ left,
Stygia joined
13:05
cognominal joined
|
|||
dalek | kudo/nom: 248ca07 | (Solomon Foster)++ | src/core/Num.pm: Num.perl needs to look for 'e' and 'E'. |
13:05 | |
13:05
Chillance joined
|
|||
[Coke] | muuuch faster. and now I already want it faster. :) | 13:08 | |
13:08
Stygia left
13:09
Stygia joined
13:11
cognominal__ joined
13:13
Stygia left
13:14
cognominal left
13:19
fhelmberger left
13:21
lelf` joined
13:22
lelf left
|
|||
colomon | Above patch should get us at least 50 more passing tests in JVM. :) (But I'm just now spectesting it on parrot.) | 13:24 | |
13:25
benabik left
|
|||
[Coke] | colomon: you have until... noonish eastern, I think. | 13:26 | |
(those will be moving to 8ish eastern at some point) | |||
13:26
benabik joined
13:29
Stygia joined
|
|||
[Coke] | r: print 21994 / 25969 | 13:32 | |
camelia | rakudo 248ca0: OUTPUT«0.846933» | ||
13:34
btyler joined
|
|||
[Coke] realizes that the 29 failures on rakudo are probably already failing on rakudo.jvm - of course we're probably recover them at the same time, too. | 13:42 | ||
also - rakudo still failing spec tests as of yesterday! | 13:43 | ||
lizmat | I think that was timotimo's doing | 13:44 | |
Method 'evaluate_unquotes' not found for invocant of class 'String' | |||
at t/spec/S06-macros/quasi-blocks.t:96 | |||
colomon | Is that the rat stuff? | ||
[Coke] | only 4053 more failing tests to go for rakudo.jvm to catch up, if I read this right. | 13:45 | |
colomon | no, rat looks like it's working finr | ||
jnthn | 84.7%...that means Rakudo JVM has overtaken Niecza as second-most-spectest-passing impl? | ||
colomon | yes | ||
lizmat | wow! | 13:46 | |
jnthn | Whee! | ||
Though, given a load of Rakudo's failures are in IO...niecza++ is probably still more useful at the moment :) | |||
colomon | crazy to think that at YAPC::NA, it basically didn't work at all | ||
my num patch spectested fine on parrakudo | 13:47 | ||
:) | |||
jnthn wonders if that brings us below 4000 to go :) | |||
13:50
raiph joined,
kaleem left
|
|||
[Coke] | colomon: how many more passing? | 14:08 | |
14:08
nyuszika7h is now known as NYUSZIKA7H,
NYUSZIKA7H is now known as nyuszika7h
|
|||
FROGGS | meh, I'm still about 39500 to go /o\ | 14:09 | |
timotimo | what did i miss in the last 2 hours? | ||
FROGGS | me I suppose | 14:10 | |
14:10
benabik left
|
|||
timotimo | oh | 14:10 | |
lizmat: what was my doing? the macro failures? | 14:11 | ||
lizmat | I thought so? | ||
timotimo | how did i manage to do that? | 14:12 | |
colomon | [Coke]: about 54, I think | 14:13 | |
lizmat is confused now | |||
I was under the impression that these failures started after some large commits you did a few days ago | 14:14 | ||
tadzik | timotimo: I have some tuits for Pod hacking now :) | ||
timotimo | the last commit i had was soft-failing div by zero | ||
that was like a week ago | |||
lizmat | hmmm…. will check in a mo | 14:15 | |
timotimo | tadzik: on github.com/timo/rakudo there's the pod6-improvements branch and do you still have the gist link i gave you? otherwise i'll get it | ||
FROGGS | I guess the macro fails are due to some nqp changes... | ||
I dont see any related rakudo commit | |||
I can bisect this this night | 14:16 | ||
lizmat | aha, then timotimo: my apologies | ||
tadzik | timotimo: I don't think I have it | ||
timotimo | no problem :) | ||
apparently having a bit of trouble with the network right now | 14:17 | ||
gist.github.com/timo/543f7b8b791cbd617b71 - there we go. my first attempt at making cells in tables parsed with formattingcodes | |||
14:18
PacoAir joined
|
|||
dalek | ast: 78d15be | (Elizabeth Mattijsen)++ | S29-context/sleep.t: Added test for "interval()" |
14:19 | |
14:20
Stygia left
|
|||
lizmat | I found the pb first on irclog.perlgeek.de/perl6/2013-06-26#i_7254019 | 14:23 | |
so it must have been a commit not too long before that | |||
colomon | labster++ # just got around to reading blog post | 14:24 | |
14:25
skids joined
14:26
SatFS joined
|
|||
lizmat | interesting read for some of us around here: users.ece.cmu.edu/~arebert/papers/m...and-12.pdf | 14:26 | |
14:27
FROGGS left
14:29
xilo joined,
segomos left,
segomos joined
14:33
daniel-s_ joined
|
|||
lizmat | and indeed, there are many nqp files with an "evaluate_unquotes" method, but src/QAST/Str.nqp is not one of them | 14:33 | |
in fact, there is no src/QAST/Str.nqp | |||
jnthn: thoughts? | |||
14:33
wtw_ joined
|
|||
jnthn | ? | 14:34 | |
there's no QAST::Str | |||
What makes you think there is? | |||
s/is/might be/ | |||
lizmat | the error in spectest in rakudo: Method 'evaluate_unquotes' not found for invocant of class 'String' | 14:35 | |
jnthn | That means a string is having evaluate_unquotes called on it. | ||
lizmat | String then | ||
jnthn | As in, a normal, boring string. | ||
When it should be called on a QAST node | |||
lizmat | this seems to trigger it: | 14:36 | |
macro four () { quasi { 2+2 } } | |||
is(four, 4, "macro returning quasi"); | |||
14:36
wtw left
|
|||
lizmat | not your very strange macro, that | 14:36 | |
jnthn | Oddness. | ||
jnthn suggests trying to bisect it, if there's not some obvious candidate commits | 14:37 | ||
lizmat | my guess would be between 8cea464c1006dfcb and 152ab7af42d5b880ea3f7 inclusive in nqp | 14:38 | |
all done by sorear | |||
within 20 minutes of each other | |||
14:40
Stygia joined
|
|||
lizmat | making a nqp/rakudo from before these patches | 14:40 | |
timotimo has some foods | 14:43 | ||
14:43
xilo_ left
|
|||
colomon is working on keybag.t | 14:44 | ||
14:45
Stygia left
|
|||
daniel-s_ | Hi. How much of the perl6 language is covered by the test suite on github? | 14:46 | |
14:46
xilo_ joined
|
|||
timotimo | a part as big as we can make it | 14:46 | |
some parts are a bit flaky, especially those that are not yet implemented in any of our implementations | 14:47 | ||
14:55
domidumont left
|
|||
SatFS | Hi, I found my $xml = from-xml(:file<test.xml>); in the XML module's readme file. Is the :file<> thingy documented somewhere? | 14:57 | |
hoelzro | that's just an adverbial pair | ||
it's basically the same as 'file' => 'test.xml' | |||
SatFS: perlcabal.org/syn/S02.html#Adverbial_Pair_forms | |||
SatFS | Thanks. :) | 14:59 | |
lizmat | hmmm… is there a way to find out which version of nqp a given version of "perl6" is using? | ||
SatFS | Well, then the readme seems odd. from-xml() expects a string. | ||
moritz | lizmat: no. But patches to the build system that add that would be very welcome indeed | 15:00 | |
timotimo | so, something like an entry into %*VM? | ||
hoelzro | that raises a good question; is there a "config" hash that describes the compilation environment for a Perl6? | 15:01 | |
timotimo | r: say %*VM.keys | ||
camelia | rakudo 248ca0: OUTPUT«0» | ||
timotimo | r: say $*VM.keys | ||
camelia | rakudo 248ca0: OUTPUT«name config» | ||
hoelzro | neat | ||
timotimo | r: say $*VM<config>.keys | ||
camelia | rakudo 248ca0: OUTPUT«git_describe sha1 a ar ar_extra ar_out archname arflags as backtrace bigendian bindir bison_version blib_dir build_dir byteorder cat cc cc_debug cc_exe_out cc_inc cc_ldflags cc_o_out cc_shared ccflags ccwarn chmod clang clock_best configdate configuration_steps con… | ||
hoelzro | is %*VM documented? | ||
timotimo | with $, not % | ||
hoelzro | ooooh | 15:02 | |
lizmat | hoelzro: S02:3107: $*VM Which VM I'm running under | 15:03 | |
hoelzro | sweet | ||
lizmat: thanks! | |||
15:05
arlinius joined
15:06
carlitos_30 joined
|
|||
lizmat | however, $*VM doesn't have anything about NQP in it | 15:06 | |
colomon | :( | 15:07 | |
jnthn | Well, the NQP being used will be in the makefile | ||
So take that path and --version on it | |||
colomon | jnthn: that seems ... very roundabout | 15:08 | |
15:08
carlitos_30 left
|
|||
jnthn | colomon: Not saying there shouldn't be a better way, just that it's a way. | 15:08 | |
colomon | this line: if $choice ~~ $i ..^ +$im.key { keeps on giving me | 15:20 | |
===SORRY!=== | |||
java.lang.ArrayIndexOutOfBoundsException: 0 | |||
I'm having a hard time seeing how... | |||
15:20
crab2313 joined
|
|||
jnthn | Sounds internals-y | 15:21 | |
colomon just realized he was considering rewriting the algorithm without ever figuring out what was wrong with the current one. | |||
jnthn | --ll-exception | ||
colomon | wtf? | 15:22 | |
oh, no fudging | |||
gist.github.com/colomon/5885498 | 15:23 | ||
looks very internals-y | |||
jnthn | yeah...I guess getting a Java stack trace may be the next task... | 15:24 | |
colomon | line numbers won't mean anything to you, hold on | ||
errr... line numbers don't mean anything to me, either. :( | |||
it looks a bit like it might be a variant on the double loop $_ issue last night, this time with a normal variable? | 15:25 | ||
could that get an error like that? | |||
jnthn | It's *possible* a lexical environment screw-up could cause it | 15:26 | |
But it sounds weird. | |||
15:27
sqirrel left
|
|||
colomon | It sounds weird no matter what. ;) | 15:28 | |
15:29
kaleem joined,
bluescreen10 joined
|
|||
colomon | jnthn: gist.github.com/colomon/5885572 source code | 15:31 | |
daxim | r: use MONKEY_TYPING; augment class Set { method have-some-more(Str $foo) { say $foo } }; set <fnord quux>.have-some-more('stuff'); | 15:32 | |
colomon | jnthn: just updated with a bit of the output, so you see why I'm confused | ||
camelia | rakudo 248ca0: OUTPUT«No such method 'have-some-more' for invocant of type 'Parcel' in block at /tmp/AV1T71RTTo:1» | ||
colomon | daxim: you want (set <fnord quux>).have... | 15:33 | |
daxim | r: use MONKEY_TYPING; augment class Set { method have-some-more(Str $foo) { say $foo } }; set(<fnord quux>).have-some-more('stuff'); | ||
camelia | rakudo 248ca0: OUTPUT«stuff» | ||
daxim | thanks for spotting that | ||
lizmat gives up on bisecting the quasi problem | |||
my nqp fiddling foo is definitely not foo enough | 15:34 | ||
jnthn | colomon: Dunno if you can golf it to work out if it's the smart match tht does it, or range, or combinatino of the two? | ||
daxim | when's the next stable rakudo release? | ||
colomon | jnthn: I can try! | ||
mls | jnthn: about getting rid of prior invokation | 15:35 | |
lizmat | daxim: do you mean rakudo * or rakudo? | ||
mls | gist.github.com/mlschroe/5867111 | ||
daxim | just rakudo | ||
[Coke] | ENOSTABLE. | ||
there are just releases. | |||
colomon | jnthn: looks like it might be the range? | ||
lizmat | didn't masak already do a 2013.06 named Poznan? | 15:36 | |
[Coke] | yes. | ||
colomon | jnthn: belay that, forgot to recompile | ||
daxim | I missed that one | ||
[Coke] | 2013-07-18 Rakudo #66 tadzik | ||
there's the next one | |||
daxim | rakudo.org front-page implies -05 is the latest | 15:37 | |
jnthn | That's the compiler release, not the Star one... | ||
daxim | ah, yes, you're right | ||
[Coke] | why do all releases except the last one have () around names? | ||
colomon | jnthn: you're not going to like this, but it looks like I may have been right. it's actually $i that's the problem, I think. | 15:38 | |
dalek | kudo/nom: 597d2c8 | coke++ | docs/release_guide.pod: claim a release several months out |
||
jnthn | mls: It does get rid of it. However, it doesn't actually fix the lifetime issue or the thread safety problem. | 15:39 | |
mls | why not? | ||
jnthn | ((CodeRef)code).outer = tc.curFrame; # still leaves the previous outer in the code object once it's over, plus there's no promise that multiple threads won't set that .outer | 15:40 | |
colomon | jnthn: yeah, you're not going to like this | ||
lizmat | jnthn: is there an NQP way of making @a.exists($n) return false *after* it has once been set? | 15:41 | |
colomon | jnthn: ah, related to the eager do? | ||
lizmat | aka "deleting" an array element? | ||
colomon | jnthn: just the do | ||
lizmat is considering implementing []:delete and []:exists | |||
colomon | gist.github.com/colomon/5885649 # golfed for your terror | ||
mls | jnthn: the outer is supposed to be set once when a sub/method/regexp is defined and never again | 15:42 | |
and it is not set for "immediate" blocks | |||
jnthn | lizmat: Doesn't delete bind an nqp::null in there? | ||
mls: OK, will have to look more carefully | |||
lizmat | possibly, but that still leaves exist() to return true on that | ||
jnthn | lizmat: If so, nqp::isnull(nqp::atpos($vm_array, $idx)) | 15:43 | |
lizmat | jnthn++ will try that | ||
15:43
cognominal__ left
|
|||
jnthn | colomon: Wow, that's it? :) | 15:43 | |
colomon | yup | ||
take away the do and it works | 15:44 | ||
mls | jnthn: it's kind of a "proof of concept". I'm quite sure that those capture_outer calls are better made somewhere else, but I'm missing some knowledge on the fixup/deserilization stuff. | ||
jnthn | colomon: Thanks | ||
colomon | jnthn: you're welcome | ||
mls | Plus, my other goal was to also get rid of the autoclose() method, I'm 99% there, but there are still a few times where it's needed. | ||
in theory we should be able to replace the autoclose with throwing an exception | 15:45 | ||
15:45
cognominal joined
|
|||
mls | (because it's most likely an error if it's done) | 15:45 | |
colomon finds it frustrating that there are bugs in code he knows well that he cannot fix, but hopes golfing them will make it easier for jnthn ++ and/or sorear++ to fix them. | 15:46 | ||
jnthn | colomon: That's going to be much easier for me to look into, yes. | ||
15:47
FROGGS joined
|
|||
mls | Oh yes, I also had some fun with the java exceptions. Debugging was a bit easier with parrot. | 15:47 | |
lizmat | jnthn: what is $vm_array in this context: nqp::isnull(nqp::atpos($vm_array, $idx)) ? | 15:49 | |
mls | Plus, running javap only shows that qb_ functions, but not the uniqueIds... | 15:50 | |
jnthn | lizmat: The underlying storage | 15:51 | |
lizmat | jnthn: $!items ? | ||
jnthn | $!items maybe | ||
15:51
bbkr left
|
|||
jnthn | May need to make enough of the array already got reified | 15:51 | |
lizmat | ack | 15:52 | |
oops, sorry petdance | |||
jnthn | :P | 15:53 | |
hoelzro | I wonder if petdance has a filter for if that word occurs by itself on a line? | 15:55 | |
[Coke] | just as a word, IIRC. | 15:56 | |
15:57
Guest1337 left,
kaleem left
|
|||
timotimo | tadzik: are you already neck-deep into the pod stuff? should i help you with something? should i rewrite the formattingcode stuff to only parse, but not yet generate formattingcodes in blocks and come up with a new way to parse formattingcodes from plain text? | 16:01 | |
kind of feel like a nap now. | 16:03 | ||
[Coke] feeds timo*2 some kafe. | 16:06 | ||
flussence | how can I use the jvm perl6 script without being cd'd into the rakudo dir? I get «Unhandled exception: java.nio.file.NoSuchFileException: Perl6/Grammar» if I try to run it from elsewhere. | ||
colomon just realized that golfing the bug means he can reimplement the code in question... | 16:07 | ||
flussence | (I've already tried making all the paths inside the perl6 script absolute) | ||
jnthn | flussence: By doing the "make install" target... ;) | ||
flussence: I'm not sure there's a good way to make it work just yet. | |||
flussence | but that just gives me "make: Nothing to be done for `install'"... | 16:09 | |
oh. | |||
jnthn | flussence: No no, make install is NYI | ||
flussence | yeah, I'm slow today | ||
16:11
SatFS_ joined,
daxim left
16:13
SatFS left
16:17
SatFS_ left
|
|||
lizmat | r: my @a=Any; say @a.exists(0) # jnthn: should this give True or False according to you? | 16:18 | |
camelia | rakudo 597d2c: OUTPUT«True» | ||
lizmat | r: my @a; say @a.exists(0) # jnthn: should this give True or False according to you? | ||
camelia | rakudo 597d2c: OUTPUT«False» | ||
jnthn | I think those are right. | 16:21 | |
dalek | ecs: 03ce297 | (Elizabeth Mattijsen)++ | S99-glossary.pod: Added lemma's for brb and afk |
||
lizmat | jnthn: but checking isnull returns false on the Any | ||
so that would make the first one return False if that were the base of @a.exists | 16:22 | ||
and that is at least not according to the spectest | |||
dalek | kudo/nom: 7e443cd | (Solomon Foster)++ | src/core/Bag.pm: Rewrite KeyBag.roll a bit. This version stores fills @inverse-mapping with Pairs which have a Range as the key. A bit more elegant, and with any luck will work under JVM. |
||
lizmat | brb | 16:24 | |
16:25
vk joined
|
|||
colomon | crap. first test failed under JVM. :\ | 16:27 | |
jnthn | lizmat: Huh? Any is not null... | 16:28 | |
16:30
spider-mario left
16:32
lelf`` joined
16:34
SamuraiJack left
16:35
spider-mario joined
16:36
lelf` left,
FROGGS left,
lelf``` joined
|
|||
dalek | kudo/nom: 78374b7 | (Solomon Foster)++ | src/core/Bag.pm: Try removing eager do from KeyBag.roll. |
16:37 | |
16:37
bluescreen10 left
16:38
lelf`` left
|
|||
pmichaud | r: my @a = Any; say @a.elems; say @a.exists(0); | 16:41 | |
camelia | rakudo 597d2c: OUTPUT«1True» | ||
pmichaud | correct. | ||
lizmat | r: my @a=Any; say @a[0,1] # so how to distinguish then between unassigned and assigned Any? | ||
camelia | rakudo 597d2c: OUTPUT«(Any) (Any)» | ||
pmichaud | r: my @a; say @a.elems; say @a.exists(0); | ||
camelia | rakudo 597d2c: OUTPUT«0False» | ||
pmichaud | also correct. | ||
lizmat | pmichaud! | ||
so, how can I make an element return false on exists *after* it has been assigned once | 16:42 | ||
pmichaud | ummmm... delete? | ||
r: my @a = 0..4; say @a[3]; @a.delete(3); say @a[3]; say @a.exists(3); # might be a bug here, though | |||
camelia | rakudo 597d2c: OUTPUT«3(Any)True» | ||
lizmat | @a.delete is NYI, that's want I want to do! | 16:43 | |
16:43
xenoterracide joined
|
|||
pmichaud | oh, delete is the way to do that, then. | 16:43 | |
you need to bind @a[3] to null. | |||
(that's what .delete should do) | |||
lizmat | then it still returns True on exists | ||
jnthn | o/ pmichaud | ||
pmichaud | then that's a bug with .exists, I bet. | ||
lizmat | hehe | 16:44 | |
pmichaud | I know that last time I looked, .delete was way wrong. | ||
lizmat | ok, I've a feeling I'm going in circles now | ||
yes, and that's what I want to correct | |||
but it feels to me .delete is wrong | |||
as it simply undefines the value, which is the equvalent of putting my $undefined in it | 16:45 | ||
pmichaud | yes, that's wrong. | ||
and I suspect "sub undefine" is wrong also. | |||
iirc, undefine should probably do the equivalent of assigning Nil to a container | 16:46 | ||
lizmat | r: my %h; %h=Nil | ||
camelia | rakudo 597d2c: ( no output ) | ||
lizmat | hmmm…last time I checked, that didn't work | ||
pmichaud | well, I really meant "scalar container" | ||
lizmat | ok, I'm about to go out to dinner | ||
pmichaud | we know there are bugs with containers for @a and %h | ||
(long standing bugs) | 16:47 | ||
16:47
raiph left
|
|||
lizmat | trying to fix those, is what I'm trying to do :) | 16:47 | |
pmichaud | they're deep bugs. | ||
lizmat | while waiting for someone to look at S11 again ;-) | ||
pmichaud | as in, "my %h" does the wrong thing entirely. | ||
(which is why they've not been fixed) | |||
r: my %h; say %h.defined; # wrong | 16:48 | ||
camelia | rakudo 597d2c: OUTPUT«True» | ||
lizmat | does this have to do with the method -> sub migration? | ||
pmichaud | no | ||
it has to do with Rakudo assuming that there's no "container" element involved in the declaration of hashes and arrays | |||
(in the sense of a scalar container element) | 16:49 | ||
lizmat | you;re saying there is one/ should be one? | ||
pmichaud | yes. | ||
a declaration like "my %h" should create a container for %h and bind it to the Hash type object | 16:50 | ||
%h is thus undefined, and autovivifies on the first bind/assignment/whatever. | |||
what happens now is that Rakudo creates a Hash object and binds %h directly to that | |||
which we've collectively decided is wrong | |||
however, since Rakudo currently assumes that all containers denote unflattening scalars, it's not as simple as just fixing the declaration | 16:51 | ||
lizmat | r: my $h= Hash.new; say $h.defined # how does that work here ? | ||
camelia | rakudo 597d2c: OUTPUT«True» | ||
pmichaud | because a ton of List handling code makes the same assumption | ||
Hash.new creates a Hash object. | 16:52 | ||
so it's defined. | |||
as opposed to: | |||
r: my $h = Hash; say $h.defined | |||
camelia | rakudo 597d2c: OUTPUT«False» | ||
lizmat | r: my $h=Hash; $h.=new | 16:53 | |
camelia | rakudo 597d2c: ( no output ) | ||
16:53
birdwindupbird left
|
|||
lizmat | r: my $h=Hash; $h.=new; say $h.perl | 16:53 | |
camelia | rakudo 597d2c: OUTPUT«{}» | ||
pmichaud | figuring out flattening behavior in Perl 6 has been one of the great adventures of the language design. | ||
more concretely, I think: | |||
rn: my %h; say %h.defined | |||
camelia | rakudo 597d2c, niecza v24-86-g39ab531: OUTPUT«True» | ||
pmichaud | oh, hmm. | ||
I thought niecza++ got that one right already. | |||
r: my %h; %h = (Nil, Nil); say %h.elems; | 16:54 | ||
camelia | rakudo 597d2c: OUTPUT«0» | ||
pmichaud | r: say (Nil).elems | ||
camelia | rakudo 597d2c: OUTPUT«0» | ||
pmichaud | the reason "my %h; %h = Nil" "works" is because Nil is still being treated as (), I suspect. | 16:55 | |
r: say (Nil, Nil).elems | |||
camelia | rakudo 597d2c: OUTPUT«0» | ||
pmichaud | yup. | ||
that's another spec change that Rakudo has yet to catch up with. | 16:56 | ||
n: say (Nil, Nil).elems | |||
camelia | niecza v24-86-g39ab531: OUTPUT«2» | ||
pmichaud | niecza++ gets it right | ||
(Rakudo's behavior was the correct one as of last year.) | |||
lizmat | S02:2265 is up to date in that respect? | 16:57 | |
colomon | pmichaud: are you sure on that? I thought Niecza's behavior was very broken in that area, last time I checked.... | ||
pmichaud | colomon: checking | ||
colomon: iiuc, Nil no longer flattens to empty lists | |||
16:58
abnorman joined
|
|||
lizmat | grrr, I need to go out to dinner, will check backlog& | 16:58 | |
pmichaud | lizmat: yes, I believe S02:2265 is the latest thinking on the topic | ||
colomon: S02:2265 seems to say that Nil doesn't disappear in list context | 16:59 | ||
thus I'd think that (Nil, Nil).elems should be 2 | |||
or, more to the point | |||
rn: say (1, Nil, 2, Nil, 3).elems | 17:00 | ||
camelia | rakudo 597d2c: OUTPUT«3» | ||
..niecza v24-86-g39ab531: OUTPUT«5» | |||
pmichaud | niecza is right according to my reading of S02, while rakudo has the old behavior. | ||
colomon | pmichaud: for sure there are a bunch of spectests which test for Rakudo's behavior, not Niecza's. | ||
like thus: | |||
pmichaud | colomon: sure, deep changes to the spec hurt. :-) | ||
colomon | rn: say say (1, Nil, 2, Nil, 3).join(',') | ||
camelia | rakudo 597d2c, niecza v24-86-g39ab531: OUTPUT«1,2,3True» | ||
colomon | errr... :\ | 17:01 | |
rn: say (1..10).map({ $_ * $_ if $_.is-prime }).join(',') | |||
camelia | niecza v24-86-g39ab531: OUTPUT«,4,9,,25,,49,,,» | ||
..rakudo 597d2c: OUTPUT«4,9,25,49» | |||
colomon | rn: say (1..10).map({ $_ * $_ if $_.is-prime }).perl | 17:02 | |
camelia | niecza v24-86-g39ab531: OUTPUT«(Empty, 4, 9, Empty, 25, Empty, 49, Empty, Empty, Empty).list» | ||
..rakudo 597d2c: OUTPUT«(4, 9, 25, 49).list» | |||
colomon | okay, now I'm completely confused | ||
pmichaud | colomon: sure, deep changes to the spec hurt | ||
17:02
domidumont joined,
stevan_ left
|
|||
colomon | my understand of that issue was that those should be Nil instead of Empty, and they should go away like Empty does | 17:03 | |
17:03
stevan_ joined
|
|||
colomon | that may have been a very shallow understanding | 17:03 | |
pmichaud | they should be Nil instead of Empty, yes. | ||
I don't know that they "go away" anymore | |||
it depends on the oh, wait | 17:04 | ||
no. | |||
colomon | if all those roast failures [Coke] has been nagging me to fix for months turn out to be bugs in roast, I will be most put out. ;) | ||
pmichaud | Rakudo has that one right. | ||
17:04
stevan_ left
|
|||
colomon | so it should be Nil, but it should disappear in that context? | 17:04 | |
pmichaud | the result of { $_ * $_ if $_.is-prime } is no longer Nil for non-prime numbers | ||
it's () | 17:05 | ||
and therefore it disappears | |||
r: sub xyz() { }; say xyz().perl | |||
camelia | rakudo 597d2c: OUTPUT«Nil» | ||
pmichaud | that's wrong. | ||
technically, that's the old spec. | |||
r: sub xyz() { if 0 { "abc" }; }; say xyz().perl | 17:06 | ||
camelia | rakudo 597d2c: OUTPUT«Nil» | ||
pmichaud | that should be () | ||
colomon is pretty sure what pmichaud is saying does not match what TimToady has said in the recent past. But that may be just a symptom of his own extreme confusion . | |||
pmichaud | I'm just reading the spec. | ||
S04:212 | 17:07 | ||
moritz back | |||
pmichaud | " If there are no statements | ||
in the block at all, the result is also C<()>. | |||
" | |||
That change was introduced in github.com/perl6/specs/commit/4895...855a4afd72 | 17:08 | ||
and it's a Deep Change that requires a lot of internal rework in Rakudo. | |||
which affects a lot of the list-handling code. | |||
colomon | oh, wait. maybe my Niecza goal was to make Empty (aka () ) disappear? | ||
17:09
crab2313 left
|
|||
colomon | this is what I get for taking so long to getting around to it. | 17:09 | |
pmichaud | my absences give me this problem also... it's hard to keep up with the impacts of the deep changes | ||
timotimo | pmichaud: now that you're here, can you tell me how @a[;1,2] and @a[*;1,2] behave for "defined as multidimensional" and "not otherwise special" arrays? and also, if the current behavior of @a[*][1,2] and @a[][1,2] are sensible. (or should i open a specbug for discussion on that?) | 17:12 | |
pmichaud | timotimo: I can't speak in great detail about how multidimensional arrays work. A lot of S09 is uncharted area. | 17:13 | |
however, note that @a[*][1,2] and (@a[*]).[1,2] would be different. | 17:14 | ||
timotimo | would you feel comfortable letting me come up with lots of stuff that may even differ from what's currently there? | ||
indeed, that is a thing that i thought of | |||
especially: should the parser collate @a[*][1,2] to a call with a LoL of [*; 1,2]? | |||
pmichaud | i.e., there has to be parser support to recognize @a[*][1,2] and convert it to the equivalent of @a[*;1,2] | ||
timotimo | ah, perfect! | 17:15 | |
that clears up a bit of stuff for me :) | |||
pmichaud | that's what S09 says, yes. | ||
I'd say you can play with stuff here, but please please please remember that LoL is itself very slushy | 17:16 | ||
so it might all end up being thrown completely out when I bring the rest of the lists implementation up to spec | |||
timotimo | mhm | 17:17 | |
pmichaud | (or when anyone does it, if it ends up being not me) | ||
as a general note -- right now people are trying to add/update features on top of some unstable fundamentals. That worries me. | |||
timotimo | implementers gonna implement ;) | 17:18 | |
pmichaud | it doesn't worry me enough to say "no, please don't do it", but it does mean that there's a lot of code that we may discover to be wrong or broken based on incorrect assumptions about the fundamentals | ||
(it also means that upgrading the fundamentals becomes harder, because there's a larger burden of stuff depending on them) | 17:19 | ||
timotimo | oh | ||
should i rather pause my work on lol-slices for the time being? | 17:20 | ||
i can totally do that. | |||
pmichaud | I'm reluctant to say "pause work" | ||
very reluctant | |||
17:20
araujo left
|
|||
timotimo | hehe. i could totally find another spot to throw my brainmatter at, as long as it seems rather easy | 17:20 | |
pmichaud | I just know that a lot of code is being added with some incorrect assumptions baked in, and it's a technical debt that has to be managed or acknowledged somehow. | 17:21 | |
(I'm not saying your code is that way... just that when I go and look at things like Array.delete and sub undefine, I know that whoever added them was just trying to make tests pass and didn't really investigate what the spec needs) | 17:22 | ||
(or if they did, they didn't investigate deeply enough :) | 17:23 | ||
17:23
cognominal left
|
|||
pmichaud | sadly, I must depart again, having now mixed everyone up for a while. | 17:23 | |
bbl | |||
17:23
cognominal joined
|
|||
timotimo | hehe :) | 17:24 | |
tadzik | timotimo: well, all tests pass on your branch :) | ||
(sorry for the late response) | 17:25 | ||
timotimo | yeah, i know that. there are not nearly enough pod tests | ||
tadzik | I only get some sink context warnings | ||
so, what are we at there? | 17:26 | ||
colomon | pmichaud++ | 17:27 | |
timotimo | so far, my code takes care that sequences of angle brackets are either shorter than the innermost outer delimiters or are balanced. | ||
it also refuses to parse codes that don't have the "i am an allowed formattingcode" bit set | |||
masak | good evening, #perl6. | ||
timotimo | fwiw, the logic for which codes are and are not allowed at any point needs to be in there to make the balancedness work properly | ||
that's another interesting question. if there's a table cell that has a C< in a line and then has two newlines so that it looks like the table cell has ended, the table needs to be aware of that and merge it with more rows before saying "this is the whole row and it ends here" | 17:28 | ||
colomon | o/ | 17:29 | |
tadzik | interesting indeed | 17:31 | |
for balancing, I think at some point we need to use nibbler | |||
which would be far easier now, as it's already ported :) | |||
segomos | how can i debug why my module isn't showing up in the perl6 module listing? | 17:32 | |
tadzik | ask moritz :) | 17:33 | |
or run the script locally | 17:34 | ||
17:34
stevan_ joined
|
|||
[Coke] | colomon: it's almost a year at this point. | 17:38 | |
dalek | ast: 3a95af7 | tadzik++ | S26-documentation/06-lists.t: Add missing is() calls |
17:39 | |
tadzik | it's weird they weren | ||
't there | |||
dalek | rl6-roast-data: 8796b8d | coke++ | / (5 files): today (automated commit) |
17:42 | |
[Coke] | summary: # 06/28/2013 78d15be rakudo++ (26020); niecza (81.91%); pugs (36.51%); rakudo.jvm (84.93%) | ||
timotimo | very nice :) | 17:43 | |
[Coke] | at this point, even if niecza passes the 63 tests it's been failing for a while, rakudo.jvm is passing more. | ||
masak | wow. | 17:45 | |
17:49
konundra left,
konundra joined
17:50
kaare_ joined
|
|||
colomon | substantially more. | 17:53 | |
moritz | segomos: the most common reason is a malformed JSON META.info file | ||
colomon | bad news is rakudo.jvm's failures are more ... urgent? crucial? ... than niecza's | 17:54 | |
tadzik | this one is valid | ||
flussence | not being able to use it outside of running tests is kind of a bug :) | 17:55 | |
(the only reason I was trying to is to see if it'd run *other* tests...) | |||
jnthn | colomon: yes, the raw numbers aren't that telling | 17:56 | |
[Coke] | looks like all the big "aborted" errors are gone. | 18:00 | |
... or I'm an idiot. | 18:01 | ||
colomon | jnthn, masak: any notion where the gist.github.com/colomon/5885649 and gist.github.com/colomon/5882157 should go in roast? | ||
[Coke] | yes, I'm an idiot. ok. here's an updated gist: gist.github.com/coke/5879701 | 18:02 | |
if anyone is looking for big bangs for their jvm hacking tuits. | |||
colomon | [Coke]++ # great list! | ||
colomon had essentially been doing the same thing without, you know, making a list or anything helpful like that. | |||
[Coke] | shell tools ftw. | 18:03 | |
colomon | we seemed to be losing a lot of temporal tests to %h is copy NYI | ||
===SORRY!=== | 18:04 | ||
java.lang.RuntimeException: is copy hash param NYI | |||
[Coke]: the keybag.t one (54 tests) is already fixed. though one of the tests is still failing. | |||
jnthn | colomon: ooh, I can do that one tonight | 18:05 | |
colomon | \o/ | ||
Error in socket connection:org.perl6.nqp.runtime.UnwindException | |||
at org.perl6.nqp.runtime.ThreadContext.<init>(ThreadContext.java:105) | |||
at org.perl6.nqp.runtime.GlobalContext.<init>(GlobalContext.java:207) | |||
at org.perl6.nqp.tools.EvalServer$ServiceThread.service(EvalServer.java:140) | |||
at org.perl6.nqp.tools.EvalServer$ServiceThread.run(EvalServer.java:107 | |||
jnthn | eek | 18:06 | |
colomon | that's S04-statements/given.t. sorear++'s issue? | ||
segomos | moritz: thank you - it seems to be showing up in panda but not on the website^ | ||
jnthn | mebbe...does it pass without the eval seerver? | ||
No, it doesn't | |||
So it's a general issue | 18:07 | ||
colomon | it's a when in a when | ||
bet it's related to the $_ issue from last night? | |||
jnthn | My gut feeling is no | ||
It's possible but it looks like a fairly different failure mode. | |||
colomon stubbornly holds that theory | 18:10 | ||
===SORRY!=== | |||
java.lang.IllegalArgumentException: sprintf only accepts ints, nums, and strs, not class __P6opaque__62 | |||
(tried to print a Match) | |||
jnthn: it's failing coming back out of the when statements | 18:12 | ||
so you're right and I'm wrong on this one | |||
18:13
tomyan joined
|
|||
colomon | gist.github.com/colomon/5886791 # golfed | 18:14 | |
18:17
abnorman left
|
|||
jnthn | colomon: OK. Gonna have dinner, try and nail a couple more $dayjob slides, then will see if I can take a look | 18:24 | |
colomon | jnthn++ | ||
colomon has been ignoring his $work all day, escaping into the sweet temptation of spectest fixing.... | 18:25 | ||
18:27
sciurius left
18:30
abnorman joined
18:31
araujo joined,
araujo left,
araujo joined
|
|||
colomon is finding it hard to remember to recompile his C++ $work code, a sure sign of having done a lot of p6 hacking lately. | 18:33 | ||
18:48
FROGGS joined,
lelf``` is now known as lelf
|
|||
dalek | : 317004a | (Tobias Leich)++ | lib/Perl5/warnings.pm: add NONFATAL |
18:49 | |
: c323694 | (Tobias Leich)++ | / (4 files): add int() and reorganise indirect object syntax |
|||
18:51
domidumont left,
abnorman left
|
|||
colomon asks again: "any notion where the gist.github.com/colomon/5885649 and gist.github.com/colomon/5882157 should go in roast?" If I don't hear suggestions soon I'll just choose a flip a coin and work from there... | 19:08 | ||
flussence | when in doubt, dump everything in t/integration and let pickier people organise it | 19:11 | |
colomon | flussence++ # I was leaning towards t/integration, very glad to have a second opinion in favor of it | 19:12 | |
flussence | there's a random pugsbug in there already, so it seems like a safe assumption | 19:13 | |
19:21
rafl left
19:22
abnorman joined
19:23
rafl joined
|
|||
FROGGS | lizmat++ # using pod for S11, that is way better than a cryptic unit or module statement | 19:42 | |
19:44
vk left,
tomyan left
19:45
kaare_ left,
vk joined
|
|||
TimToady & the Mrs are sitting in Dulles | 19:51 | ||
awwaiid | Enjoying our rain, TimToady? | 19:52 | |
awwaiid sitting in downtown DC | |||
19:53
FROGGS[mobile] joined
|
|||
TimToady | at the moment not raining here, but there's enough weather to delay our incoming plane some, dunno how much | 19:53 | |
19:53
FROGGS[mobile] left
|
|||
TimToady wonders if he has enough battery to backlog... | 19:54 | ||
colomon | TimToady! \o/ | 19:57 | |
TimToady: let me summarize: rakudo.jvm (84.93%) | 19:58 | ||
dalek | : c6923f0 | (Tobias Leich)++ | / (2 files): added weird test sub `within` |
||
TimToady | I presume passing, since I saw a 90+ % running earlier | ||
FROGGS | TimToady: and pod items instead of the unit keyword # lizmat++ | ||
TimToady | still wondering about that | 19:59 | |
TimToady has a prejudice against meaningful comments, but has been known to overcome that prejudice occasionally | |||
19:59
mathw left
20:00
mathw joined
|
|||
FROGGS | well, it is way more readable | 20:00 | |
colomon | TimToady: passing, yes | ||
TimToady is very happy about all the progress, and should maybe drop off the network more often :) | 20:01 | ||
flussence | on the other hand it does mean that pod parsing can't be trivially skipped over as a speed tweak | ||
colomon | It *is* easier to make implement when no one is changing the spec. ;) | ||
s/make// | |||
jnthn | ;-) | 20:02 | |
Until you reach a bit of the spec that's impossible to implement until tweaked :-) | 20:03 | ||
20:03
lue joined
|
|||
pmichaud | TimToady: wb to the states | 20:03 | |
TimToady | well, they keep saying welcome to DC, which ain't one, but we're really in VA | 20:05 | |
20:05
vk left
|
|||
colomon | jnthn: true enough. I still remember all the trouble we were having with the sequence operator, and pmichaud++ says, "I can make this work", and then the first thing he did was convince TimToady++ to remove about half the magic baked into the operator. :) | 20:06 | |
TimToady | well, sometimes I have visions, and sometimes I'm just seein' things | 20:07 | |
FROGGS | r: say (1188 * 100 / 40706) ~ '%' # V5 that is | 20:08 | |
camelia | rakudo 78374b: OUTPUT«2.918489%» | ||
FROGGS | err, v5 is the correct term | ||
20:09
berekuk left,
bluescreen10 joined
20:10
berekuk joined
20:20
domidumont joined
20:21
Rotwang joined
|
|||
sorear | good * #perl6 | 20:28 | |
yoleaux | 11:38Z <jnthn> sorear: sounds fajn | ||
FROGGS | hi sorear | 20:29 | |
sorear | colomon: you can get jave stack straces by putting NQP_VERBOSE_EXCEPTIONS=1 in the environment | 20:32 | |
colomon | sorear++ | ||
o/ | |||
jnthn | sorear: ooh, I didn't know that one! | 20:33 | |
sorear | jnthn: the $_ issue is simple to state but I have no iea how to fix it | ||
jnthn | sorear++ | 20:34 | |
sorear | jnthn: it's basically the same as the packages.t fail from the hackathon, but in Rakudo | ||
masak | hi sorear | ||
sorear | jnthn: in pblock() in Actions.pm, $_ is getting pushed on $block[0]. unfortunately, this is too late for any blocks nested inside the pblock - they wind up earlier than the $_ decl in the QAST, so when compiled they see $OUTER::_ | 20:35 | |
hi masak | |||
jnthn | sorear: oops. | ||
sorear | jnthn: $_ *should* be getting installed at finishpad time, but I'm not sure why it isn't. pblock calls blockoid which calls finishpad | 20:37 | |
20:37
mathw left,
mathw joined
20:41
sivoais left
20:44
autumn left
20:45
autumn joined
20:46
donaldh joined
20:48
stevan_ left
20:54
konundra left
20:56
sivoais joined,
berekuk left
20:58
donaldh_ joined
20:59
donaldh left,
donaldh_ is now known as donaldh
21:02
sivoais_ joined,
skids left
21:04
domidumont left
21:07
sivoais_ left
21:08
berekuk joined
|
|||
sorear | "total", 21497, 4052, 531, 1771, 27346, 25863 | 21:11 | |
real 0m6.524s | |||
21:13
stevan_ joined
|
|||
dalek | ast: 39fc591 | sorear++ | test_summary: Extend test_summary to support an --archive option accepting TAP::Harness::Archive output in lieu of running tests |
21:13 | |
sorear | [Coke]: ever wanted to run a test summary on multiple cores? now you can | ||
21:13
stevan_ left
21:14
stevan_ joined
21:24
vk joined
21:30
berekuk left
21:42
donaldh left
21:43
dmol joined
21:48
spider-mario left
21:49
Rotwang left
21:58
vk left
21:59
cognominal left,
xenoterracide left
22:00
bluescreen10 left
22:02
adam7504 joined
|
|||
sorear | colomon: why did roll have to be modified for jvm? | 22:03 | |
colomon | sorear: this bug gist.github.com/colomon/5885649 | 22:04 | |
22:04
adam7504 left
|
|||
colomon | that code gets this error: | 22:05 | |
===SORRY!=== | |||
java.lang.ArrayIndexOutOfBoundsException: 7 | |||
it works without the do | |||
the error happens at the "say $i" | |||
sorear | oh, blast... | 22:07 | |
colomon: same error with my $i = 42; say (do sub { $i })() | 22:09 | ||
colomon | yes, loops and variables are a thrill a minute in the JVM version right now | ||
sorear | i think blasts are mishandling lexicals | ||
jnthn | oh blorst! | 22:10 | |
colomon | oh, forgot that was a thing, thought you were just making a general purpose exclamation of dismay | ||
sorear | I was trying to pun | 22:11 | |
jnthn | It worked :) | 22:12 | |
"blorst" almost sounds like a posh English southerner saying "blast" anyway :P | 22:13 | ||
<-- common northerner :) | |||
sorear | jnthn: have you tried to use the eval server on windows yet? | 22:14 | |
jnthn | sorear: No, but my build of the latest stuff just finished :D | 22:15 | |
sorear | :D :D | ||
jnthn | So, how do I test it? :) | ||
nmake test didn't work out :( | |||
sorear | make test? | ||
jnthn | t\00-parrot\01-literals.t .......... Dubious, test returned 2 (wstat 512, 0x200) | ||
sorear | ah... :/ | ||
jnthn | for all the things | ||
sorear | perl t/harness --jvm --verbosity=1 t/01-parrot ? | 22:16 | |
jnthn | aww, --verbose doesn't tell me any more | ||
oh... | |||
bah! | |||
Can't locate File/Slurp.pm in @INC (@INC contains: C:/Perl64/site/lib C:/Perl64/ | |||
lib .) at ./eval-client.pl line 6. | |||
:) | |||
OK, *that* one I can do something about. | |||
sorear | jnthn: do you expect you'll be able to do anything interesting with the two lexical bugs today? | 22:18 | |
jnthn | sorear: Not sure. Just writing a couple of abstracts for YAPC::EU at the moment. | 22:19 | |
I can try and look after that. | |||
But if you're looking at it already, don't let me stop you. | |||
sorear | Nah | ||
I, uh, really ought to focus more on $dayjob than I have been this week... | 22:20 | ||
jnthn | ok :) | ||
sorear: yaaaays! | 22:21 | ||
sorear++ | |||
It works now I installed File::Slurp | |||
sorear | \o/ \o/ | ||
jnthn | lemme try spectest :) | 22:22 | |
sorear: Works. What parallelism level does it use? Is there a way to tweak it? | 22:23 | ||
sorear | jnthn: controlled by TEST_JOBS | 22:24 | |
if you set TEST_JOBS=4, it runs four threads in the same VM :) | |||
22:25
pecastro_ joined
|
|||
sorear | actually this came nearly for free: the harness runs as many copies of eval-client.pl as you set TEST_JOBS, and each incoming connection is processed on its own thread | 22:25 | |
dalek | href="https://modules.perl6.org:">modules.perl6.org: 606b186 | (David Warring)++ | web/lib/P6Project/Stats.pm: fixed typo in P6Project::Stats->new() |
22:26 | |
22:26
pecastro left
|
|||
FROGGS | r: my $b = Buf.new(-1); my $r; try { $r = $b.decode; CATCH { default { 1 } } }; say $b # what I am doing wrong? | 22:28 | |
camelia | rakudo 78374b: OUTPUT«Invalid character for UTF-8 encoding in method set_codes at src/gen/CORE.setting:7970 in method new at src/gen/CORE.setting:7962 in block at /tmp/aALj4SuTAv:1» | ||
sorear | which one is David Warring? | 22:29 | |
FROGGS | he is not here as it seems | 22:31 | |
dalek | : 4b75a85 | (Tobias Leich)++ | t/test.pl: added which_perl |
22:33 | |
: f055792 | (Tobias Leich)++ | / (2 files): added %SIG, invoke $SIG{__WARN__} when defined |
|||
snoopy | um that's me | 22:34 | |
FROGGS | ahh | ||
hi snoopy | |||
22:34
BenGoldberg joined
|
|||
snoopy | hi FROGGS | 22:34 | |
sorear | hi snoopy! | 22:35 | |
timotimo | what did he do? o_O | ||
oh, i saw it now | |||
snoopy | jhi sorear etc all | ||
22:36
berekuk joined
|
|||
FROGGS | the css-grammar is pretty cool (and it sounds like a lot of work) | 22:37 | |
jnthn | sorear: That cuts the spectest time in half for me, before I twiddel with TEST_JOBS | ||
The css-grammar looked like a lot of work! :) | |||
snoopy++ | |||
snoopy | i wouldn't call it work | ||
sorear | jnthn: aweshome | 22:38 | |
22:38
berekuk left
|
|||
snoopy | i didn't need to bother anyone much, the grammar stuff is all pretty solid | 22:39 | |
the w3c specs are another story | 22:42 | ||
FROGGS | snoopy: and you are using your grammar as a validator? | 22:43 | |
snoopy | yep | 22:45 | |
22:45
cognominal joined
|
|||
snoopy | the w3c specs are a bit vague & inconsistent in places | 22:46 | |
I think that one of the problems is they don't have the tools to prototype as they go | 22:48 | ||
FROGGS | I had guessed it is because the browser vendors just implement new things that become spec later | ||
flussence | I tried writing a CSS3 grammar based off the spec years ago, found out the hard way the same thing (the specs are crap) | 22:49 | |
snoopy | i think that' | 22:50 | |
.. there' crap partly because they don't (until now) have the prototyping tools to test the specs as they're developed | 22:51 | ||
still trying to use lex/yacc from the 80's | |||
BenGoldberg | How far off is the specification from the css code that's out there in the real world? | 22:52 | |
flussence | I'd guess nobody actually uses the full range of whitespace their spec allows... | ||
22:53
benabik joined
|
|||
FROGGS | jnthn: do you have a clue why .decode fails cant be catched? | 22:53 | |
snoopy | I think that by the time, they've reached recommend status 80-90% accurate | 22:54 | |
jnthn | FROGGS: They can't? | ||
snoopy | drafts are way less accurate | ||
FROGGS | r: my $b = Buf.new(-1); my $r; try { $r = $b.decode; CATCH { default { 1 } } }; say $b # what I am doing wrong? | ||
camelia | rakudo 78374b: OUTPUT«Invalid character for UTF-8 encoding in method set_codes at src/gen/CORE.setting:7970 in method new at src/gen/CORE.setting:7962 in block at /tmp/Ghr6bsMGdN:1» | ||
FROGGS | jnthn: is the example valied? | 22:56 | |
-e | |||
jnthn | r: my $b = Buf.new(-1); | ||
camelia | rakudo 78374b: OUTPUT«Invalid character for UTF-8 encoding in method set_codes at src/gen/CORE.setting:7970 in method new at src/gen/CORE.setting:7962 in block at /tmp/c7TbYuNxTH:1» | ||
FROGGS | ohh | ||
jnthn | It's not in a try when it fails | ||
"in method new" is there in the trace :) | |||
FROGGS | well, that explains it :o) | ||
yeah... | |||
thanks! | |||
timotimo | r: my $fblock = "FULL BLOCK"; say eval(q{\c[} ~ $fblock ~ q{]}); # how do i do this better? | ||
camelia | rakudo 78374b: OUTPUT«===SORRY!===Undeclared names: BLOCK used at line 1 FULL used at line 1Undeclared routine: c used at line 1» | ||
timotimo | oh, right | 22:57 | |
r: my $fblock = "FULL BLOCK"; say eval(q{"\c[} ~ $fblock ~ q{]"}); # how do i do this better? | |||
camelia | rakudo 78374b: OUTPUT«█» | ||
lue | r: my $b = Buf.new(-1); my $r; $r = $b.decode; CATCH { default { 1 } } # this should work though, no? | ||
camelia | rakudo 78374b: OUTPUT«Invalid character for UTF-8 encoding in method set_codes at src/gen/CORE.setting:7970 in method new at src/gen/CORE.setting:7962 in block at /tmp/lmnGnlrFaf:1» | ||
jnthn | timotimo: um...not sure. | ||
22:57
benabik left
|
|||
lizmat back from dinner but too tired / inebriated to backlog sensibly | 22:58 | ||
therefore sleep& | |||
jnthn | 'night, lizmat | ||
timotimo | "FULL BLOCK".unilookup, obviously | 22:59 | |
snoopy | w3c have the css validator github.com/w3c/css-validator | 23:00 | |
FROGGS | r: my $fblock = "FULL BLOCK"; say eval(qq{"\\c[$fblock]"}); | ||
camelia | rakudo 78374b: OUTPUT«█» | ||
timotimo | FROGGS: not sufficiently better to shut me up :) | 23:01 | |
dalek | ast: 9d317d0 | (Elizabeth Mattijsen)++ | S11-modules/require.t: Another case where we want to unshift to @*INC instead of push |
||
FROGGS | meh | ||
:P | |||
snoopy | that's written in Java. Parsing appears to be procedural and it's mostly stuck at css 2.1 | ||
timotimo | although it's still shorter than import unicodedata; unicodedata.lookup("FULL BLOCK") which python has | ||
lizmat | really gone now :-) | ||
sorear | r: say chr(nqp::codepointfromname("FULL BLOCK")) | 23:02 | |
camelia | rakudo 78374b: OUTPUT«█» | ||
jnthn | sorear: heh, I was pondering that one but it's Rakudo specific :) | ||
lue | r: my $fblock = "FULL BLOCK"; say qq{\c[$fblock]}; | 23:03 | |
camelia | rakudo 78374b: OUTPUT«===SORRY!===Unrecognized \\c characterat /tmp/yBThIHc56c:1------> my $fblock = "FULL BLOCK"; say qq{\c[⏏$fblock]}; expecting any of: argument list prefix or term prefix or meta-prefix»… | ||
sorear | n: use Niecza::UCD; say get_codepoint("FULL BLOCK") | ||
camelia | niecza v24-86-g39ab531: OUTPUT«===SORRY!===Q:CgOp not allowed in safe mode at /home/p6eval/niecza/lib/Niecza/UCD.pm6 line 4:------> { (ucd_get_ranges {$table} {$matcher}) ⏏}Q:CgOp not allowed in safe mode at /home/p6eval/niecza/lib/Niecza/UCD.p… | ||
snoopy | so I they don't seem to have any tools for writing declarative grammars or validating as they go | 23:04 | |
hoping that Perl6 grammars could help here | |||
23:11
Guest1337 joined
|
|||
jnthn | sorear: I think make_thunk_ref may be the guilty party | 23:15 | |
colomon used Rakudo's Grammar::Tracer module to good effect a couple of days ago. :) | |||
23:35
benabik joined
|
|||
sorear | o/ benabik | 23:36 | |
benabik | 'lo sorear | ||
23:38
ecocode joined
|
|||
jnthn | hm, well, the lexical fix I have here takes us from 24486 attempted to 24502 attempted, so I guess it must do something... | 23:38 | |
Fixes the golf colomon++ gave me too | |||
sorear | my $i = 42; say (do sub { $i })() ? | ||
or the nested pblock one | 23:39 | ||
dalek | kudo/nom: 6b4e594 | jnthn++ | src/Perl6/ (2 files): Fix blorst to genrate well-nested QAST. |
||
jnthn | sorear: The nested pblock one is the one I meant | 23:40 | |
but | |||
masak | so, in one week, Rakudo on le JVM has surpassed Niecza? | ||
jnthn | > my $i = 42; say (do sub { $i })() | ||
42 | |||
masak: I've been working on it since NOVEMBER. :P | |||
and sorear++ for some weeks :) | |||
Not to mention others :) | |||
sorear | jnthn: { $_ := 1; for 2 -> $k { say $_ } } is another fun case | ||
jnthn | r: { $_ := 1; for 2 -> $k { say $_ } } | 23:41 | |
camelia | rakudo 78374b: OUTPUT«1» | ||
jnthn | ok, that one's still busted | ||
grr | |||
sorear | jnthn: that one's caused by the pblock action method installing a $_ alias too late | ||
jnthn | Will look at that one tomorrow. | ||
oh... | |||
jnthn tries "the obvious stupid thing" | 23:42 | ||
sorear | jnthn: the $_ alias needs to be put in at finishlex time, not at pblock reduce time | ||
jnthn | sorear: needs to be? Or jsut needs to appear early enough? | 23:43 | |
sorear | jnthn: i think finishlex is the most correct time, for handling BEGIN and whatnot | 23:44 | |
jnthn | hm, true | ||
sorear: Turns out changing the push to unshift in pblock actually "fixes" it too :) | 23:45 | ||
sorear | jnthn: does 65b4e594 break 'BEGIN my $x = 5; say $x' ? | ||
jnthn | um | 23:46 | |
r: BEGIN my $x = 5; say $x | |||
camelia | rakudo 78374b: OUTPUT«5» | ||
sorear | n: BEGIN my $x = 5; say $x | ||
camelia | niecza v24-86-g39ab531: OUTPUT«5» | ||
sorear | std: BEGIN my $x = 5; say $x | ||
camelia | std d4cc5ab: OUTPUT«ok 00:00 43m» | ||
sorear | p: BEGIN my $x = 5; say $x | ||
camelia | pugs: OUTPUT«*** No such subroutine: "&BEGIN" at /tmp/ZgJeTgFq2o line 1, column 1-16» | ||
jnthn | Darn, yes... | 23:47 | |
hmm. | |||
dalek | kudo/nom: fd7e929 | jnthn++ | src/Perl6/ (2 files): Revert "Fix blorst to genrate well-nested QAST." This reverts commit 6b4e594062412e45faeaa40f079c85239f65fa9c. It breaks "BEGIN my $x = 5; say $x;". sorear++ for noticing. |
23:48 | |
jnthn | Guess I look at it tomorrow then. | ||
sorear | .oO( dalek should generate -- if $commitmsg =~ /^Revert/ ) |
23:49 | |
jnthn | :P | ||
benabik | The person doing the revert might be different than the committer. | 23:52 | |
lue | Also, we're positive here. Even if the reverter made the offending change, we prefer to reward your ability to correct your own mistakes :) | 23:54 |