»ö« 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
beppu joined
00:10
beppu left
00:11
EvanTeitelman left
|
|||
TimToady | well, they might be different, but they're both the same sort of Liskov violation, triggered by mixing in a null role | 00:22 | |
so you don't need to ask if it's a bug, only if it's the same bug :) | |||
00:30
EvanTeitelman joined
|
|||
japhb_ | What name for the group of languages including Perl, Python, Ruby, JavaScript, PHP, etc. is most likely to be understood by *most of the users* of those languages (as opposed to how just we in the Perl community refer to this language group)? | 00:32 | |
Is "dynamic languages" sufficiently commonly used at this point? Is "scripting languages" still more likely to be understood? | |||
Mouq | "Ain't Lisp 'n ain't C" | 00:37 | |
00:47
colomon joined
01:03
EvanTeit1lman joined
01:05
EvanTeitelman left,
colomon left
01:06
colomon joined
|
|||
TimToady | I suspect scripting languages is still the most likely to be understood | 01:07 | |
01:16
FROGGS left
01:18
FROGGS joined
|
|||
Mouq | :D My tiny modification to rakudo actually make'd \o/ | 01:21 | |
01:23
lue joined
01:32
FROGGS_ joined
01:35
FROGGS left
01:42
berekuk left
|
|||
[Coke] | Mouq++ | 01:49 | |
01:52
benabik joined
|
|||
dalek | rl6-roast-data: a6cf7a7 | coke++ | / (5 files): today (automated commit) |
01:55 | |
rl6-roast-data: 3eafb81 | coke++ | cull: update perl version for new host |
|||
01:55
berekuk joined
|
|||
[Coke] hopes he fixed the thing that caused the daily runs to screw up if not attended. | 01:55 | ||
rakudo.jvm is looking better. | |||
we're back up to 99% | 01:56 | ||
TimToady | quick, put in more threading tests :) | 02:01 | |
02:05
berekuk left
|
|||
[Coke] | updated gist.github.com/coke/5879701 | 02:07 | |
when did the env fix go in? | 02:10 | ||
TimToady dimly recalls it being discussed a few days ago | 02:11 | ||
backlogging while jetlagged is not conducive to long-term potentiation... | 02:12 | ||
[Coke] saw it in backscroll somewhere, and thought it was merged in. test is still failing, though. | |||
S02-magicals/env.rakudo.jvm 14 - ENV members persist to child processes | |||
Mouq | Oh, rakudo is part of @rakudo, not @perl6 :p no wonder I don't have permissions | 02:14 | |
[Coke] | rakudo requires a committer's license agreement. | 02:15 | |
perl6 is much more open | |||
Mouq | It's cool, I'll make a pull req | ||
02:28
FROGGS_ left
02:31
FROGGS_ joined
02:33
_jaldhar left
02:45
_jaldhar joined
02:52
FROGGS_ left
02:55
FROGGS joined
03:04
xinming left
03:08
xinming joined
|
|||
Mouq | What are these weird "Unable to parse expression in blockoid; couldn't find final '}'" errors in npq grammar? I promise a final '}' is there | 03:16 | |
JimmyZ | Mouq: That means I miss } somewhere | 03:20 | |
s/I/you/ | |||
Mouq | :p | ||
JimmyZ | Mouq: not the final | ||
03:24
preflex left
03:25
preflex joined,
ChanServ sets mode: +v preflex
03:36
colomon left
|
|||
Mouq | Mmm... nope. It seems to be, in this case, a problem with doing things in nqp that it doesn't understand. | 03:38 | |
And of which, nqp doesn't seem to get "$0.Str". Could someone help; I have no idea how to do it in nqp nor where to look to find out? | 03:39 | ||
JimmyZ | .Str is perl6, not NQP | 03:41 | |
you may want ~$0 | |||
Mouq | Ahhh, duh. Sorry, I'm fresh | 03:42 | |
03:43
BenGoldberg left
|
|||
Mouq | .Str is a thing. I have a sorta fix for what was wrong | 03:56 | |
ingy waves | 04:06 | ||
04:51
kbaker left
05:02
EvanTeit1lman left
05:05
raiph joined,
abnorman left
05:06
abnorman joined
|
|||
Mouq | .ping | 05:07 | |
05:10
abnorman left
05:12
atroxaper joined
|
|||
Mouq | std: Q :fail [test] | 05:12 | |
camelia | std 06636e4: OUTPUT«===SORRY!===Unrecognized quote modifier: fail at /tmp/ohTmfksZiU line 1:------> Q ⏏:fail [test]Check failedFAILED 00:00 41m» | 05:13 | |
Mouq | std: Q :cc [test] | ||
camelia | std 06636e4: OUTPUT«ok 00:00 41m» | ||
Mouq | std: q :cc [test] | 05:14 | |
camelia | std 06636e4: OUTPUT«===SORRY!===Too late for :cc at /tmp/KA6lOq9gS9 line 1:------> q :cc⏏ [test] expecting colon pair (restricted)Parse failedFAILED 00:00 41m» | ||
atroxaper | r: for 5..1 -> { print "$i "; } | 05:15 | |
camelia | rakudo bc0051: OUTPUT«===SORRY!=== Error while compiling /tmp/kfrpM5ivSRVariable '$i' is not declaredat /tmp/kfrpM5ivSR:1------> for 5..1 -> { print "$i⏏ "; } expecting any of: postfix» | ||
atroxaper | r: for 5..1 -> $i { print "$i "; } | ||
camelia | rakudo bc0051: ( no output ) | ||
Mouq | So... Q:cc// is allowed but not spec'ed? | ||
r: for 5...1 -> $i { print "$i "; } | |||
camelia | rakudo bc0051: OUTPUT«5 4 3 2 1 » | ||
atroxaper | Why ?! Why 5..1 doesn't work? | ||
Oh... Thank you! | 05:16 | ||
Mouq | np | ||
'..' isn't smart enough to go backwards. '...' does whatever you want | |||
atroxaper | Is there unic way to generate sequence. I mean if i dunno start > finish or < . | 05:17 | |
raiph | .oO ( .. is wise enough to not be as smart as ... ) | 05:18 | |
atroxaper | You read my thougts) | ||
raiph | r: say 5 R.. 1 | 05:21 | |
camelia | rakudo bc0051: OUTPUT«1..5» | ||
Mouq | r: 1,2,3,4, ->$fac{say $fac; [*] ^$fac} ... 100 # Something's wrong here... | 05:22 | |
camelia | rakudo bc0051: OUTPUT«(timeout)401010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101xE2x90 | 05:23 | |
Mouq | Oh | ||
atroxaper | ^$i mean 0, 1, ...., i-1 | ||
Mouq | r: 1,2,3,4, ->$fac{say $fac; [*] 1 <<+<< ^$fac} ... 100 | ||
camelia | rakudo bc0051: OUTPUT«(timeout)424620448401733239439360000» | ||
Mouq | r: 1,2,3,4, ->$fac{say $fac; [*] 1 .. $fac} ... 100 | 05:24 | |
Yes | |||
camelia | rakudo bc0051: OUTPUT«(timeout)424620448401733239439360000» | ||
Mouq | Oh | 05:25 | |
grondilu | you're doing recursive factorials. That will escalade quickly :) | ||
Mouq | r: 1,2,3,4, ->$fac{say $fac; [*] 1 .. $fac} ...^ 100 | ||
camelia | rakudo bc0051: OUTPUT«(timeout)424620448401733239439360000» | ||
grondilu | and i will never reach 100 | 05:26 | |
Mouq | Oh, I thought it would quit once it passed it | ||
grondilu | I mean it will go beyond 100 quickly but not stop there | ||
raiph | r: 1,2,3,4, ->$fac{say $fac; [*] 1 .. $fac} ...^ * > 100 | ||
camelia | rakudo bc0051: OUTPUT«424» | ||
raiph | r: 1,2,3,4, ->$fac{say $fac; [*] 1 .. $fac} ... * > 100 | 05:27 | |
camelia | rakudo bc0051: OUTPUT«424» | ||
grondilu | r: say [\*] 1 .. 100; | ||
camelia | rakudo bc0051: OUTPUT«1 2 6 24 120 720 5040 40320 362880 3628800 39916800 479001600 6227020800 87178291200 1307674368000 20922789888000 355687428096000 6402373705728000 121645100408832000 2432902008176640000 51090942171709440000 1124000727777607680000 25852016738884976640000 62044840173… | ||
atroxaper | Why '1..5 Z 6..10' not equal '1...5 Z 6...10' ?? | ||
Mouq | r: (1...5) Z (6...10) | 05:28 | |
camelia | rakudo bc0051: ( no output ) | ||
Mouq | r: say 1..5 Z 6..10 cmp (1...5) Z (6...10) | 05:29 | |
camelia | rakudo bc0051: OUTPUT«===SORRY!=== Error while compiling /tmp/AEDPSiLhzkOperators '..' and 'cmp' are non-associative and require parenthesisat /tmp/AEDPSiLhzk:1------> say 1..5 Z 6..10 ⏏cmp (1...5) Z (6...10) expecting any of: postfix… | ||
Mouq | r: say (1..5 Z 6..10) cmp (1...5) Z (6...10) | ||
camelia | rakudo bc0051: OUTPUT«Decrease 6» | ||
Mouq | r: say (1..5 Z 6..10) == ((1...5) Z (6...10)) | ||
camelia | rakudo bc0051: OUTPUT«True» | ||
atroxaper | Hm.... | ||
raiph | r: say (1..5 Z 6..10) | 05:30 | |
camelia | rakudo bc0051: OUTPUT«1 6 2 7 3 8 4 9 5 10» | ||
grondilu | r: : say (1..5 Z 6..10).perl | ||
camelia | rakudo bc0051: OUTPUT«===SORRY!=== Error while compiling /tmp/RdduY8il7ZBogus statementat /tmp/RdduY8il7Z:1------> <BOL>⏏: say (1..5 Z 6..10).perl expecting any of: statement list prefix or term prefix or meta-prefix»… | ||
grondilu | r: say (1..5 Z 6..10).perl | ||
raiph | r: say ((1...5) Z (6...10)) | ||
camelia | rakudo bc0051: OUTPUT«((1, 6), (2, 7), (3, 8), (4, 9), (5, 10)).list» | ||
rakudo bc0051: OUTPUT«1 6 2 7 3 8 4 9 5 10» | |||
grondilu | r: say ((1...5) Z (6...10)).perl | ||
camelia | rakudo bc0051: OUTPUT«((1, 6), (2, 7), (3, 8), (4, 9), (5, 10)).list» | ||
05:30
cognominal left
|
|||
atroxaper | r: for 1...5 Z 6...10 -> $i, $j { say "$i : $j"; } | 05:30 | |
camelia | rakudo bc0051: OUTPUT«1 : 23 : 45 : 6» | ||
05:31
cognominal joined
|
|||
grondilu | r: for (1...5) Z (6...10) -> $i, $j { say "$i : $j"; } | 05:31 | |
camelia | rakudo bc0051: OUTPUT«1 : 62 : 73 : 84 : 95 : 10» | ||
grondilu | r: for 1..5 Z 6..10 -> $i, $j { say "$i : $j"; } | ||
camelia | rakudo bc0051: OUTPUT«1 : 62 : 73 : 84 : 95 : 10» | 05:32 | |
raiph | r: say (1..5 Z 6..10) cmp ((1...5) Z (6...10) ) | ||
camelia | rakudo bc0051: OUTPUT«Same» | ||
05:32
thou left
|
|||
grondilu | hm | 05:32 | |
raiph | r: say ((1..5 Z 6..10) cmp (1...5)) Z (6...10) | ||
camelia | rakudo bc0051: OUTPUT«Decrease 6» | ||
atroxaper | Oh... I see. It's precedence | 05:33 | |
Mouq | r: say (1 ... 5 Z 6 ... 10) cmp (1 ... (5 Z 6 ... 10)) | ||
camelia | rakudo bc0051: OUTPUT«Same» | ||
atroxaper | Many thanks! | 05:35 | |
05:40
SamuraiJack__ joined
|
|||
raiph | .oO ( thanks for wat ) | 05:44 | |
05:50
Targen joined
|
|||
raiph | r: say (1 <<Z,>> 2).perl # works as expected | 05:53 | |
camelia | rakudo bc0051: OUTPUT«((1, 2),).list» | ||
raiph | std: say (1 <<Z>> 2).perl | 05:54 | |
camelia | std 06636e4: OUTPUT«ok 00:00 44m» | ||
raiph | rn: say (1 <<Z>> 2).perl | ||
camelia | rakudo bc0051: OUTPUT«===SORRY!=== Error while compiling /tmp/Mhj0rbekaPMissing << or >>at /tmp/Mhj0rbekaP:1------> say (1 <<Z>⏏> 2).perl expecting any of: postfix infix stopper infix or meta-infix» | ||
..niecza v24-88-g1f87209: OUTPUT«(1, 2).list» | |||
masak | greetings, #perl6 | 05:56 | |
Mouq | o/ | ||
raiph | moarnin masak | ||
05:56
abnorman joined
05:57
fridim__ left
|
|||
raiph | r: say (1 <<Z>> 2).perl # pretty sure this is rakudobug; am checking rt for existing bug report | 05:58 | |
camelia | rakudo bc0051: OUTPUT«===SORRY!=== Error while compiling /tmp/yD8WPGfc8uMissing << or >>at /tmp/yD8WPGfc8u:1------> say (1 <<Z>⏏> 2).perl # pretty sure this is rakudob expecting any of: postfix infix stopper infix or m… | ||
raiph | masak: got a hint on how to search for the above <<Z>> bug? has it already been reported? | 06:00 | |
(search in rt) | |||
masak | raiph: I think maybe the Z eats the > or the >> | 06:09 | |
try <<[Z]>> | |||
06:10
kaleem joined
|
|||
raiph | r: say 1 <<[Z]>> 3 # i think i need to go to sleep <<>> AND zip? | 06:11 | |
camelia | rakudo bc0051: OUTPUT«1 3» | ||
masak | raiph: no, not zip. | 06:12 | |
the [] merely disambiguate. | |||
moritz | std: 1 <<Z>> 2 | 06:14 | |
camelia | std 06636e4: OUTPUT«ok 00:00 42m» | ||
raiph | masak: right. i was realizing that i was too sleepy to notice that the <<>> is redundant | ||
r: say 1 ... 2 Z 3 ... 4 | 06:15 | ||
camelia | rakudo bc0051: OUTPUT«1 2 3» | ||
raiph | r: say 1 ... 2 <<Z>> 3 ... 4 | ||
camelia | rakudo bc0051: OUTPUT«===SORRY!=== Error while compiling /tmp/spZcU1TpEnMissing << or >>at /tmp/spZcU1TpEn:1------> say 1 ... 2 <<Z>⏏> 3 ... 4 expecting any of: postfix infix stopper infix or meta-infix»… | ||
raiph | r: say 1 ... 2 <<[Z]>> 3 ... 4 | ||
camelia | rakudo bc0051: OUTPUT«1 2 3 2 4» | ||
raiph | r: say (1 ... 2 <<[Z]>> 3 ... 4).perl | 06:16 | |
camelia | rakudo bc0051: OUTPUT«(1, 2, 3, 2, 4).list» | ||
06:17
FROGGS left
|
|||
Mouq | "Could not find sub &reify_method" | 06:19 | |
raiph | Mouq: can you share a one liner using camelia that produces that? | 06:21 | |
Mouq | Heh, 'tr///'. Working on stuff | 06:22 | |
raiph | gotchya | ||
moritz | wow | 06:23 | |
reify_method appears only twice in 'git grep reify_method' in nqp | |||
and none of them is a declaration | |||
so it seems like a regression in nqp somewhere | |||
masak | teaching & | 06:24 | |
dalek | p: 37e13ba | moritz++ | src/how/NQPParametricRoleHOW.nqp: fix left-over call to &reify_method ... which was removed in February in commit 8bf542e5fbed9bb560fa33eece4f3332d2b906d7 |
06:27 | |
moritz | Mouq: try again with this nqp patch :-) | ||
Mouq | ++moritz | 06:29 | |
06:42
crab2313 joined
|
|||
moritz | Mouq: did it do any good? | 06:49 | |
JimmyZ | moritz: from the February commit, looks like you lost .clone(). | 06:50 | |
Mouq | '~' I messed up building it, so.. async {make; .tell moritz now all I have to do is fix everything I messed up on my own} | 06:51 | |
moritz | JimmyZ: you are right | 06:54 | |
JimmyZ: now I'm trying to reproduce Mouq++'s error, write a failing test, and then fix it for good :-) | 06:55 | ||
JimmyZ | great | ||
fix it for future :P | 06:56 | ||
Mouq | I have no clue how to induce the error. I am guessing and stealing code left and right | ||
moritz | Mouq: I guess it has something to do with composing multi methods from roles | 06:59 | |
Mouq | That sounds about right | ||
Actually, yeah it is. | 07:00 | ||
moritz | nqp: role A { multi method m() { } }; class B { }; B.m | ||
camelia | nqp: OUTPUT«Method 'm' not found for invocant of class 'B'current instr.: '' pc 77 ((file unknown):146161447) (/tmp/Bg8g9xAwG3:1)» | ||
moritz | nqp: role A { multi method m() { } }; class B does A { }; B.m | ||
camelia | nqp: OUTPUT«Could not find sub &reify_methodcurrent instr.: '' pc 5633 (src/stage2/gen/nqp-mo.pir:2658) (src/stage2/gen/nqp-mo.nqp:589)» | ||
07:00
FROGGS joined
|
|||
Mouq | Awww. "Missing or wrong version of dependency 'src/stage2/QRegex.nqp'" I'm such a noob | 07:02 | |
moritz | Mouq: did you 'make install' nqp, and afterwards cleaned out rakudo? | 07:03 | |
and then rebuild it | |||
that's what you have to do after changing nqp, I fear | |||
Mouq | 'k it looks to be working now | 07:06 | |
make | |||
07:09
cognominal left
|
|||
Mouq | moritz++ # fix works | 07:14 | |
dalek | : 2f9338f | (Tobias Leich)++ | / (2 files): numify pack's args, and don't shift from emtpy array |
07:15 | |
07:16
yves_ left
|
|||
Mouq | bed & | 07:17 | |
07:20
jeff_s2 left
07:21
dmol joined
|
|||
moritz | nqp: role R1 { multi method m() { 0 } }; class C1 does R1 { }; say(C1.m()) | 07:26 | |
camelia | nqp: OUTPUT«Could not find sub &reify_methodcurrent instr.: '' pc 5633 (src/stage2/gen/nqp-mo.pir:2658) (src/stage2/gen/nqp-mo.nqp:589)» | ||
moritz | locally that says "Method 'm' not found for invocant of class 'C1'" | ||
and | 07:27 | ||
role R1 { multi method m() { 0 } }; class C1 does R1 { proto method m($a?) {*} }; say(C1.m()) | |||
says "No applicable candidates found to dispatch to for 'm'." | |||
07:32
sqirrel joined,
jeff_s1 joined
07:34
bruges joined
|
|||
dalek | p: de7cd46 | moritz++ | src/how/NQPParametricRoleHOW.nqp: try to improve multi method composition, JimmyZ++ this is just by cargo-culting from other places that look similar; so far, all my attempts to actually call multi methods provided from roles have failed |
07:51 | |
kudo/nom: 71141df | (Elizabeth Mattijsen)++ | src/Perl6/ (2 files): Add scaffolding for COMPOSE phaser |
07:57 | ||
masak | it's so nice to see nqp and nom commits roll by. | 08:03 | |
moritz++ lizmat++ | |||
08:04
Targen left
|
|||
lizmat | morning, #perl6! | 08:04 | |
08:05
Timbus joined
|
|||
lizmat | yes, it is good to see them roll by | 08:05 | |
you know what's even better ? :-) | |||
masak | not teaching so that I could help? :) | 08:06 | |
moritz | using the features you just implemented! | ||
closing tickets! | |||
masak | finding bugs in the features someone just implemented! | ||
golfing the bugs! | 08:07 | ||
reporting them! | |||
JimmyZ | macros! | ||
08:08
rindolf joined
|
|||
moritz | marcos! | 08:08 | |
masak | sheesh people, I'm teaching... :) | ||
08:08
cognominal joined
|
|||
JimmyZ | miracle~ | 08:09 | |
miracle! | |||
lizmat | :-) | 08:10 | |
masak .oO( o/ my mummy says I'm a miracle o/ ) | 08:11 | ||
moritz | any objections to squash-merging pull request 195 (parse tr/// and die with NYI)? | ||
masak | +1 # no objections | ||
moritz | masak: for half a second I though "says I'm a mistake" :-) | ||
masak | moritz: ouch :) | ||
08:12
sqirrel left
|
|||
lizmat | fitness& | 08:12 | |
08:12
raiph left
|
|||
mathw | morning o/ | 08:13 | |
08:23
fhelmberger joined
08:26
sqirrel joined
|
|||
GlitchMr | ~/c/rakudo (nom) $ env LANG=C make install | 08:33 | |
/home/glitchmr/code/rakudo/install-jvm/bin/nqp --target=jar --output=blib/Perl6/Pod.jar --encoding=utf8 \ | |||
src/Perl6/Pod.nqp | |||
make: *** [blib/Perl6/Pod.jar] Segmentation fault | |||
Am I doing something incorrectly? | |||
08:36
dakkar joined
08:37
hoelzro_ is now known as hoelzro
|
|||
GlitchMr | Is there any way to debug such failure? | 08:37 | |
FROGGS | GlitchMr: you could try: gdb --args /home/glitchmr/code/rakudo/install-jvm/bin/nqp --target=jar --output=blib/Perl6/Pod.jar --encoding=utf8 src/Perl6/Pod.nqp | 08:40 | |
GlitchMr | ok, will try if I fail again | 08:41 | |
"/home/glitchmr/code/rakudo/install-jvm/bin/nqp": not in executable format: File format not recognized | 08:51 | ||
hmm, it looks a shell script | |||
FROGGS | hmmm | 08:52 | |
GlitchMr | Anyway, how do I use gdb? | 08:53 | |
I've 'gdb --args java -Xmx512m -Xbootclasspath/a:/home/glitchmr/code/rakudo/install-jvm/languages/nqp/runtime/nqp-runtime.jar:/home/glitchmr/code/rakudo/install-jvm/languages/nqp/runtime/asm-4.1.jar:/home/glitchmr/code/rakudo/install-jvm/languages/nqp/runtime/jline-1.0.jar:/home/glitchmr/code/rakudo/install-jvm/languages/nqp/lib/nqp.jar -cp /home/glitchmr/code/rakudo/install-jvm/languages/nqp/lib nqp --target=jar --output=blib/Perl6/Pod.jar --encoding=ut | |||
f8 src/Perl6/Pod.nqp' | |||
I can use "run" to run a program, but how can I get anything useful from gdb? | |||
FROGGS | you end up in gdb's prompt? | ||
GlitchMr | yes | ||
JimmyZ | gdb can debug java? | 08:54 | |
FROGGS | okay, after you 'run' it, and it segfaults, you can type: bt ful | ||
GlitchMr | ok, let me install debugging symbols for 'java'. | ||
Because I don't think what I currently got is useful. | |||
FROGGS | JimmyZ: you would see the bt for the C land... | ||
GlitchMr | SIGSEGV is low level failure, I think. | 08:56 | |
It isn't something like NullPointerException. | |||
08:57
berekuk joined
|
|||
jnthn | What version do you have? | 08:59 | |
Some older JDK 7's has an excessively buggy implementation of...something... | |||
GlitchMr | ~/c/rakudo (nom) $ java -version | 09:00 | |
java version "1.7.0_03" | |||
OpenJDK Runtime Environment (IcedTea7 2.1.3) (7u3-2.1.3-1) | |||
OpenJDK 64-Bit Server VM (build 22.0-b10, mixed mode) | |||
09:00
brrt joined
|
|||
jnthn | Yes, that may just be old enough... | 09:00 | |
(to have the bug) | 09:01 | ||
09:02
kivutar joined,
daxim joined
|
|||
GlitchMr | It's the newest version of Java I've in the repository (but I have rather old packages in repository...) | 09:04 | |
09:07
pernatiy left
|
|||
FROGGS | I have 1.7.0_25 | 09:08 | |
09:08
Rotwang joined
09:10
brrt left
|
|||
moritz | r: once say 42 | 09:27 | |
camelia | rakudo 71141d: OUTPUT«42» | ||
moritz | r: for ^42 { once say 42 } | ||
camelia | rakudo 71141d: OUTPUT«42» | ||
jnthn | r: for ^42 { say once 42 } | 09:28 | |
camelia | rakudo 71141d: OUTPUT«424242424242424242424242424242424242424242424242424242424242424242424242424242424242» | ||
09:30
brrt joined,
SamuraiJack joined
|
|||
Mouq | std: tr/// | 09:32 | |
camelia | std 06636e4: OUTPUT«ok 00:00 41m» | ||
Mouq | Hm | ||
09:33
crab2313 left,
SamuraiJack__ left
|
|||
dalek | kudo/nom: 0ec828a | Mouq++ | src/Perl6/Grammar.nqp: Parse tr///, and die with NYI error Squashed commit of the following: 02a7fea | moritz++ | docs/announce/2013.08.md: prepare 2013.08 release announcement |
09:34 | |
09:34
dalek left,
dalek joined,
ChanServ sets mode: +v dalek
|
|||
Mouq o /o/ o/ | 09:35 | ||
jnthn | Mouq++ | ||
moritz | also in this push: I've updated docs/ChangeLog | 09:38 | |
but it's incomplete; please add your stuff too! :-) (for jnthn, lizmat, and maybe FROGGS) | |||
09:43
sqirrel left
09:50
crab2313 joined
09:56
kivutar left
09:59
kivutar joined
10:00
iSlug joined
10:04
pernatiy joined
|
|||
10:30
berekuk left
10:31
Rotwang left,
berekuk joined
10:37
kaleem left,
SamuraiJack left
10:38
Mouq left
|
|||
masak | moritz++ | 10:41 | |
timotimo | i'm incapable of running spectests faster than 4 hours, would somebody mind doing a spectest run for me? | 10:42 | |
it's the tilde_to_strjoin branch in timo/rakudo | 10:43 | ||
masak | aww... I should really compose a reply to James Bowery. I feel sad for the state that thread ended up in. | ||
I don't understand his concern yet. but it's obvious he's put a lot of thought into... something. | |||
and it feels kinda close to things I sometimes ponder. | |||
timotimo | yes, i was disappointed, too | ||
masak | I want my answer to be something like "yeah, we like the theoretical stuff. as long as it has a practical 'body' to go with it, we generally think it's a good idea for Perl 6." | 10:44 | |
"...maybe not core, but, you know. somewhere." | |||
timotimo disappears again | |||
10:47
rindolf left
|
|||
moritz | npr: my ($a, $b) = map { my $x = $_; sub { $x } }, 1, 2; say $a eqv $b | 10:47 | |
camelia | niecza v24-88-g1f87209: OUTPUT«Unhandled exception: Cannot use value like Sub as a number at <unknown> line 0 (ExitRunloop @ 0)  at /home/p6eval/niecza/lib/CORE.setting line 296 (Any.Numeric @ 6)  at <unknown> line 0 (ExitRunloop @ 0)  at /home/p6eval/niecza/lib/CORE.setting lin… | ||
..rakudo aeb92d: OUTPUT«False» | |||
..pugs: OUTPUT«» | |||
10:48
atroxaper left
|
|||
moritz | rpn: say (sub () {}) eqv (sub () {}); | 10:48 | |
camelia | niecza v24-88-g1f87209: OUTPUT«Unhandled exception: Cannot use value like Sub as a number at <unknown> line 0 (ExitRunloop @ 0)  at /home/p6eval/niecza/lib/CORE.setting line 296 (Any.Numeric @ 6)  at <unknown> line 0 (ExitRunloop @ 0)  at /home/p6eval/niecza/lib/CORE.setting lin… | ||
..rakudo aeb92d: OUTPUT«False» | |||
..pugs: OUTPUT«» | |||
moritz | known nieczabug? | ||
moritz opened github.com/sorear/niecza/issues/175 | 10:55 | ||
10:59
kivutar left
11:00
berekuk left
11:04
colomon joined
11:06
denis_boyun joined,
iSlug left
11:08
xenoterracide left
11:23
xenoterracide joined
11:29
xenoterracide left
11:30
xenoterracide joined
11:40
crab2313 left
|
|||
ruoso | TimToady: about CREATE, I think having a inline CREATE is an optimization that can be easily done once you know that the repr is native to the runtime and that the runtime has its own concrete implementation for it. I don't think that needs to be encoded in the API for such an optimization to be possible | 11:41 | |
11:48
berekuk joined
11:50
iSlug joined
|
|||
dalek | kudo/nom: c51e77b | (Tobias Leich)++ | docs/ChangeLog: logged my changes |
11:51 | |
11:52
xenoterracide left
11:58
colomon left
|
|||
grondilu | aren't videos of jnthn's conferences at YAPC::EU online yet? | 12:02 | |
daxim | 6guts.wordpress.com/2013/08/17/yapc...13-slides/ | 12:03 | |
12:06
SamuraiJack joined
12:10
colomon joined
12:21
pmurias joined
|
|||
pmurias | jnthn: how does the module loading in nqp work? | 12:21 | |
jnthn | pmurias: Through ModuleLoader.nqp | ||
12:22
xenoterracide joined
|
|||
pmurias | jnthn: load_module seems to take *@global_merge_target, what is this? | 12:22 | |
jnthn | Either GLOBALish is passed, or not | ||
If it has an element, it's the GLOBALish to do global merging into | 12:23 | ||
If nothing is passed there, we don't need to do it (probably because we are loading it pre-compiled and so that work was already done) | |||
uh, loading it from another module that is also pre-compiled I mean | |||
pmurias | so if no global_merge_target is passed we are only setting up the serialization contexts? | 12:25 | |
jnthn | Yes | 12:26 | |
Well, can caputring the mainline context | |||
s/can/and/ | |||
Whihc may be used to do imports | |||
12:28
rahulruns joined
12:32
kaleem joined
12:35
kbaker joined
|
|||
pmurias | jnthn: Merging GLOBAL symbols failed: duplicate definition of symbol CompileTimeValue | 12:36 | |
12:36
rahulruns left
|
|||
pmurias | jnthn: when does something like that happen? | 12:36 | |
jnthn | pmurias: When you somehow manage to load two different versions of the QASTNodes library simultaneously | 12:37 | |
pmurias | jnthn: that seems to be the case | 12:38 | |
jnthn | It's happened to me before. It was a confusion of running compiler vs compiling compiler | 12:39 | |
Or something | |||
Perhaps an un-tweaked use statement if you're following the same approach I did with Moar/JVM of building all the things with a suffix | 12:40 | ||
(QASTNodesMoar, QRegexMoar, etc.) | |||
pmurias | it seems to be the case of not specifing :custom-regex-lib in my dual-backends-compile-scrip | ||
t | |||
jnthn | Oh | ||
That'd also potentially do it :) | |||
JimmyZ | I saw it in MoarVM when I didn't pass --no-regex-lib to nqp :P | 12:42 | |
iirc | |||
12:43
kbaker left
12:44
kbaker joined
|
|||
moritz | arnsholt: www.freelists.org/post/nanomsg/nano...a-released seems to be the spiritual successor to ZeroMQ, by one of the original 0MQ authors | 12:56 | |
arnsholt | Yeah, I just found it on HN as well | 12:58 | |
Certainly looks interesting | |||
JimmyZ | \o/ MIT | ||
arnsholt | OTOH, one of the things I wanted to use ZMQ for was Mongrel2, which may or may not switch over. We'll see | 12:59 | |
I think timotimo was interested in ZMQ for talking to ipython as well | |||
13:01
rindolf joined
13:02
ajr joined
13:03
ajr is now known as Guest92885
|
|||
pmurias | jnthn: re do imports, when does that happen? | 13:07 | |
jnthn | Compile time, after module loading | 13:08 | |
It's done outside of the module loader. | |||
Probably in NQP::World | |||
Though EXPORTHOW is handled elsewhere, iirc. | |||
(in NQP::Grammar) | |||
timotimo | does "interpolating strings into heredocs now dedents properly" sound worthy of a line in the changelog? | 13:15 | |
jnthn | yes | ||
timotimo | yay :) | 13:16 | |
also, maybe capitalise the first letter in each line or something | |||
13:18
denis_boyun left,
PacoAir joined
13:19
iSlug left
|
|||
timotimo | i'm considering expanding the "tilde_to_strjoin" a bit so that consecutive $foo ~= $bar calls will become one strjoin at the point where it's first accessed | 13:19 | |
13:20
kbaker left
|
|||
jnthn | I'd really have rather we made infix:<~> being list assoc work properly... | 13:21 | |
...as in, I'm not likely to accept an optimizer patch that is re-writing consecutive ~ to join. I'd accept one that collapsed them into a single many-arg'd call to infix:<~> though... | 13:22 | ||
(since code-gen may not always be smart enough to get that right straight off) | 13:23 | ||
timotimo | right, i'll just drop that branch then. | 13:29 | |
how about nqp, though? will that also just get infix:<~> with list assoc? | |||
jnthn | I suspect it can do | 13:30 | |
13:30
xilo left
|
|||
timotimo | oh, i should check out the status of my integer arithmetics optimization, if that can be merged or if there's still problems | 13:30 | |
13:33
EvanTeitelman joined
13:34
skids left
|
|||
TimToady | wow, slept in till 6:00 for a change :) | 13:35 | |
timotimo | (oh god the spam) | 13:37 | |
dalek | p/nqp-optimizer: 459e172 | (Timo Paulssen)++ | / (6 files): initial draft of optimizer, inactive ATM. |
||
p/nqp-optimizer: ba977c2 | (Timo Paulssen)++ | src/NQP/Optimizer.nqp: working build, lots of debug output, more intelligence. |
|||
p/nqp-optimizer: 8bea225 | (Timo Paulssen)++ | src/NQP/Optimizer.nqp: nqp-jvm doesn't like negative nums in substr |
|||
p/nqp-optimizer: e63cc6f | (Timo Paulssen)++ | src/NQP/Optimizer.nqp: this should have been gone already. |
|||
p/nqp-optimizer: 60e9b7e | (Timo Paulssen)++ | src/NQP/Optimizer.nqp: little improvements. actually finds symbols now. |
|||
p/nqp-optimizer: 3e45f29 | (Timo Paulssen)++ | src/NQP/Optimizer.nqp: removed debug output |
|||
timotimo | this was just a rebase, though | ||
arnsholt | timotimo: At least you didn't kill dalek by making it send too much at once =D | 13:38 | |
timotimo | i have no idea how what i did is different from what other people do. perhaps they push to multiple branches at once? | ||
arnsholt | I think it's mostly a question of how many commits you push at once | 13:39 | |
jnthn | Pro Tip: If you know you did too many commits, but you want karma for all of them, push them in batches using the refspec syntax (git push origin HEAD~4:master) :D | 13:40 | |
arnsholt | Hehe. Good idea! =D | 13:41 | |
jnthn | Of course, *I've* never done this... ;) | ||
arnsholt | Internet points are serious business! | ||
JimmyZ | You should do it, to be dalek friendly ;) | ||
timotimo | rebasing is also a karma source. | 13:47 | |
should i rebase and rewrite some of the commits to reduce the amount of noise from added and removed debug outputs? | 13:51 | ||
13:51
cooper left
13:52
Guest92885 is now known as ajr_
|
|||
PerlJam | timotimo: I typically rebase -i to consolidate the interstitial commits like those | 13:53 | |
14:01
crab2313 joined
|
|||
timotimo | problematically, they are bunched up into the commits that also do "real" work ;) | 14:01 | |
actually: "real work" probably | |||
TimToady | nr: for 1...5 Z 6...10 -> $i, $j { say "$i : $j"; } | ||
camelia | rakudo c51e77: OUTPUT«1 : 23 : 45 : 6» | ||
..niecza v24-88-g1f87209: OUTPUT«===SORRY!==="..." and "Z" are non-associative and require parens at /tmp/N_Gz7uaHd3 line 1:------> for 1...5 Z ⏏6...10 -> $i, $j { say "$i : $j"; }"Z" and "..." are non-associative and require parens at /tmp/N_Gz7u… | |||
TimToady | niecza has the correct response here | ||
14:04
kbaker joined
14:06
Targen joined
14:07
thou joined
|
|||
TimToady | huh, when I do 'make install' it fails with: Couldn't copy 'eval-client.pl' from /home/larry/nom/nqp/install: No such file or directory at tools/build/create-jvm-runner.pl line 54. | 14:07 | |
but here's the funny thing: it actually did the copy | 14:08 | ||
FROGGS | TimToady: try `make` instead | ||
TimToady | it just thinks it failed | ||
I did a make first | |||
timotimo | huh. do configureJVM.pl again, then make clean all install? | 14:09 | |
TimToady is thinking something is looking at an old errno | |||
timotimo | in my experience the rakudo makefile for jvm doesn't correctly rebuild stuff if the dependencies change etc etc | ||
lizmat | sure | 14:10 | |
HEAD ? | |||
oops, this was about timotimo's request for a spectest a few hours ago... | |||
timotimo | ah | 14:11 | |
lizmat should backlog using the website :-) | |||
timotimo | i decided to abandon that branch | ||
jnthn | timotimo: hm, I haven't seen that... | ||
lizmat | timotimo: a spectest takes about 7 mins for me | ||
timotimo | wow! | ||
lizmat | and some noise from the fans | ||
timotimo | could you do a rakudo/nom with nqp/nqp-optimizer instead? :) | ||
lizmat | sure | 14:12 | |
timotimo | fitness & :) | ||
diakopter | arnsholt: do the comments mention Disruptor? | 14:15 | |
dalek | p: e5f1cd4 | jnthn++ | src/how/NQPClassHOW.nqp: Make regex trace output a little more useful. |
||
lizmat | timotimo: Method 'optimize' not found for invocant of class 'NQPMu' | ||
timotimo: gist.github.com/lizmat/6282037 | 14:23 | ||
14:24
yves joined
|
|||
TimToady | huh, completely reconfigured/made/installed nqp/jvm, and now can't reconfig nom: jvm::runtime.jars value not available from /home/larry/nom/nqp/install/nqp --show-config. | 14:25 | |
jnthn | TimToady: That looks like a leftover from an earlier install layout | 14:26 | |
TimToady: It's install/bin/nqp these days | |||
14:27
Targen left
|
|||
TimToady | I copied the directory from what 'make install' said | 14:27 | |
14:27
pernatiy_ joined
|
|||
jnthn | This is with HEAD NQP? | 14:28 | |
Or at least, the one in NQP_REVISION... | |||
TimToady | HEAD from earlier this morning | ||
14:28
pernatiy left
|
|||
jnthn | does perl ConfigureJVM.pl --with-nqp=/home/larry/nom/nqp/install/bin/nqp work? | 14:29 | |
TimToady | install has no bin directory | ||
jnthn | o.O | ||
tadzik | yeah, it doesn't | ||
jnthn | huh... | 14:30 | |
[Coke] catches up with backscroll earlier than last time. | |||
jnthn | Here my install-jvm directory has just a bin and a languages at top level. | 14:31 | |
(Which is how current layout is expected to be) | |||
14:31
cognominal left
|
|||
TimToady | nom has an install-jvm/bin | 14:31 | |
but nqp would be installing into nom's bin | 14:32 | ||
14:32
cognominal joined
|
|||
TimToady | *n't | 14:32 | |
oh, I didn't do the --prefix that the README wants | 14:35 | ||
TimToady always hates prefix... | 14:36 | ||
tadzik | ...we have --prefix? | 14:37 | |
TimToady | see nom's README instructions for JVM | ||
tadzik | maybe that's why I have so much problems with it.. | ||
jnthn | I thought we had a --gen-nqp now, or maybe that pull request didn't get merged yet... | 14:38 | |
[Coke] | pretty sure it did. | ||
TimToady | well, the README hasn't caught up :) | ||
[Coke] | --gen-nqp for java should probably do a "git pull --rebase", aye? | 14:39 | |
since java doesn't have a particular version it's tied to yet. (or should we start tying it to a version?) | |||
jnthn | [Coke]: We tie to NQP_REVISION if you mean what NQP version... | 14:40 | |
14:42
Psyche^ left
14:44
Psyche^ joined
14:46
bluescreen10 joined
14:47
mst joined
|
|||
[Coke] | when did that start happening? last... 2 weeks? | 14:47 | |
TimToady | hah, the README instructions don't actually work; after the prefix install, 'perl ConfigureJVM.pl' complains with install-jvm/bin/nqp is not executable; use --with-nqp or use --gen-nqp at ConfigureJVM.pl line 60. | 14:48 | |
but the nqp build put the nqp into install-jvm, not install-jvm/bin | |||
[Coke] | TimToady: updating now. | 14:51 | |
pretty sure it devolves to just | |||
perl ConfigureJVM.pl --gen-nqp ; make | |||
dalek | kudo/nom: 467ec50 | (Elizabeth Mattijsen)++ | docs/ChangeLog: My additions to ChangeLog |
14:52 | |
14:52
kaleem left,
notjack joined
|
|||
TimToady | trying that now | 14:53 | |
just a bit sad that neither ignoring the README nor reading the README worked :) | 14:54 | ||
14:55
jlaire joined
|
|||
dalek | kudo/nom: 03457f2 | (Elizabeth Mattijsen)++ | docs/announce/2013.08.md: Slight change to release announcement |
14:56 | |
kudo/nom: 48d8496 | (Elizabeth Mattijsen)++ | docs/ChangeLog: ChangeLog capitalization tweaks |
14:59 | ||
15:00
skids joined
|
|||
TimToady wonders if perl6/jvm should intuit --target=jar from --output=foo.jar | 15:03 | ||
dalek | kudo/nom: 22b0079 | (Elizabeth Mattijsen)++ | docs/ChangeLog: "interpolating strings into heredocs now dedents properly" |
||
15:04
Targen joined
|
|||
TimToady | lizmat: if you're cutting a release, note that the README instructions for JVM are currently incorrect | 15:05 | |
lizmat | moritz is cutting this month's | 15:06 | |
TimToady | okay, just saw you tweaking the release announcement :) | ||
lizmat | I was just adding some of my notes, as per request earlier in the backlog | ||
"11:38:21] <moritz> but it's incomplete; please add your stuff too! :-) (for jnthn, lizmat, and maybe FROGGS)" | |||
if someone can tell me the right thing to put for JVM in the README, I'll put it there | 15:08 | ||
TimToady | perl ConfigureJVM.pl --gen-nqp | 15:09 | |
no need to dip down into the nqp directory anymore | |||
dalek | kudo/nom: a14f6cc | coke++ | README: Update README to reflect new --gen-nqp TimToady++ |
||
TimToady | looks good to me | 15:10 | |
[Coke] | lizmat: done | ||
15:12
bluescreen100 joined
|
|||
TimToady wonders why --gen options aren't the default | 15:12 | ||
I guess we're expecting a system installed nqp one of these years... | |||
15:15
kaare_ joined,
bluescreen10 left
|
|||
daxim | make packagers' (e.g. my) life easier by unifying the build system, separate configures/makefiles require annoying workaround patches | 15:16 | |
15:22
sqirrel joined
|
|||
[Coke] | I think the goal eventually is to have a single Configure.pl that optionall takes a --java or --parrot option. | 15:22 | |
daxim | why option? | 15:23 | |
FROGGS | what else? | 15:24 | |
daxim | Configure.pl --with-java --with-parrot # and both are "on" by default | ||
all targets must be reachable with one pass of configure/make | 15:25 | ||
grondilu | two builds by default? | ||
daxim | exactly | ||
15:25
brrt left
|
|||
grondilu | does not seem reasonable | 15:25 | |
daxim | you're wrong | ||
TimToady | and --with-moar and --with-node :) | ||
jnthn | daxim: Um, the two builds produce overlapping files... | 15:26 | |
TimToady | probably by that point we're talking about yum/apt installs on all these platforms | ||
daxim | jnthn, I know. I patched that out. | ||
TimToady, that's the goal | 15:27 | ||
I need yall's support to make the jvm nqp/rakudo available as package | |||
therefore drastically reducing the barriers to entry | 15:28 | ||
TimToady | but on-by-defualt is probably a bad API, since if they say --with-java they probably mean to exclude the others | ||
[Coke] | daxim; general user doesn't want two builds. | ||
daxim | nonsense | ||
TimToady | daxim: please be polite | ||
grondilu does not want two builds | |||
[Coke] | <shrug> without data, not worth arguing. | 15:29 | |
grondilu wants to try several of them, and chose the one he'll stick to for long term. | 15:30 | ||
FROGGS | well, if we can get rid of overlapping files, then having all backends off by default and turn several on to build them in one pass sounds sane, no? | ||
daxim | why should they be off by default? | 15:31 | |
FROGGS | daxim: because a user needs to choose | ||
daxim | why does a user need to choose? | ||
FROGGS | when I run configure for a software that is new to me, I need to choose what fits my needs | 15:32 | |
grondilu | daxim: haven't you notice that a build takes time? There's no need to waste time to compile stuff the user doesn't want or need. | ||
FROGGS | daxim: maybe someone doesnt like the jvm backend, should that be the default? | ||
TimToady | longterm, a user chooses via the dependencies from other packages, so there's not a lot of benefit into overengineering the config here | ||
s/into/from/ | 15:33 | ||
FROGGS | somebody might need threads, but what if only 50% of the backends offer this feature? | ||
grondilu | also, not everyone has a JDK installed on his computer. | ||
FROGGS | what if I have moarvm installed, then this might be my choice #1 | ||
TimToady | that's what package managers are for | ||
FROGGS | but I can only make the choice if I got asked, otherwise I have to scroll up a gazillion pages in my terminal, because the default backend spammed the lines after perl Configure | 15:34 | |
grondilu | I have a JDK, but it's OpenJDK and you guys told me it sucks compared to the Oracle's proprietary JDK | ||
FROGGS | so it should be nice and easy for end users, and possible for maintainers, since they end up with a batch file or so | ||
daxim | gosh, all that's hardly revelant. stop thinking like a developer for a while, and put yourself into the mindset of a packager. | ||
FROGGS | daxim: I'm putting myself in the position of a user | 15:35 | |
TimToady | I don't think --with-all is such an onorous burden on a packager | ||
FROGGS | the packager just must know what options need to be passed, done | ||
exactly | |||
and I guess we will have some sort of backend<=>feature matrix in the future, and there is a decision that needs to be made (before cloning a few hundret MB of repo's) | 15:38 | ||
that said, brb & | |||
timotimo | lizmat: did you configure.pl before trying to build my nqp? | 15:40 | |
lizmat | Ah, no, retrying | ||
you mean Configure.pl, right ? | 15:41 | ||
15:44
FROGGS left
|
|||
timotimo | uh, yes | 15:48 | |
lizmat | building ok so far | ||
timotimo | i added a new nqp file to the build | ||
lizmat | the one with optimize_method I presume :-) | ||
timotimo | yes :) | ||
15:51
REPLeffect joined
|
|||
lizmat | spectest starting | 15:54 | |
15:56
FROGGS joined
|
|||
lizmat | r: my @a of Array of Hash of Int; say @a.WHAT | 15:57 | |
camelia | rakudo 22b007: OUTPUT«(Array[Array[Hash[Int]]])» | ||
lizmat | :-) | ||
masak | \o/ | ||
lizmat++ | |||
r: my @a of Array of Hash of Int; push @a, "OH NOES"; say @a.perl | 15:58 | ||
camelia | rakudo 22b007: OUTPUT«Type check failed in .push; expected 'Array[Hash[Int]]' but got 'Str' in block at src/gen/CORE.setting:7239 in method push at src/gen/CORE.setting:7222 in method push at src/gen/CORE.setting:1517 in sub push at src/gen/CORE.setting:7594 in block at /tmp… | ||
masak | \o/ | ||
timotimo | that's great! | ||
masak | r: my @a of Array of Hash of Int; @a[0] = "OH NOES"; say @a.perl | ||
camelia | rakudo 22b007: OUTPUT«Type check failed in assignment to '@a'; expected 'Array[Hash[Int]]' but got 'Str' in block at /tmp/gOXnwrPpNe:1» | ||
masak | \o/ \o/ | ||
15:59
raiph joined
|
|||
masak | r: my @a of Array of Hash of Int; @a[0] = (my @ of Hash of Int); say @a.perl | 15:59 | |
camelia | rakudo 22b007: OUTPUT«Type check failed in assignment to '@a'; expected 'Array[Hash[Int]]' but got 'Array[Array[Hash[Int]]][Hash[Int]]' in block at /tmp/RSHb6Jp_dt:1» | ||
lizmat | r: my @a of Array of Hash of Int; @a[0]=[{a=>1}] | ||
masak | er. | ||
camelia | rakudo 22b007: OUTPUT«Type check failed in assignment to '@a'; expected 'Array[Hash[Int]]' but got 'Array[Array[Hash[Int]]]' in block at /tmp/IHLnxci3Bk:1» | ||
grondilu | r: my @a of Array of Hash of Int; @a[0] = { foo => 1 }; say @a.perl | ||
camelia | rakudo 22b007: OUTPUT«Type check failed in assignment to '@a'; expected 'Array[Hash[Int]]' but got 'Hash' in block at /tmp/tOdu9ux9Ap:1» | ||
masak | something's... wrong. | ||
lizmat | alas, it looks like the types are set up correctly, but in fact the type check I don't think knows how to handle them | 16:00 | |
grondilu | r: my @a of Array of Hash of Int; @a[0] = my % of Int = { foo => 1 }; say @a.perl | ||
camelia | rakudo 22b007: OUTPUT«Type check failed in assignment to '@a'; expected 'Array[Hash[Int]]' but got 'Hash[Int]' in block at /tmp/r1octsQWZe:1» | ||
lizmat | so the .WHAT is only correct in name, not in functionality yet :-( | ||
timotimo | expected 'Array[Hash[Int]]' but got 'Array[Array[Hash[Int]]][Hash[Int]]' - what's that? | ||
lizmat | a missing COMPOSE phaser | ||
:-) | |||
16:01
daxim left
|
|||
lizmat | timotimo: spectest completed ok, no errors (others than the icu errors I always get) | 16:02 | |
last niight:Files=752, Tests=26570, 426 wallclock secs ( 8.64 usr 2.81 sys + 2892.44 cusr 267.99 csys = 3171.88 CPU) | 16:03 | ||
masak | timotimo: it's MADNESS, UTTER MADNESS | ||
AAAAAAAAAA | |||
lizmat | with your patch: Files=752, Tests=26570, 428 wallclock secs ( 8.48 usr 2.71 sys + 2848.83 cusr 265.02 csys = 3125.04 CPU) | ||
slightly less, but I would think this is well in range of noise leveles | |||
levels | |||
masak | :) | ||
timotimo | that's 2 seconds slower :) | ||
oh, but a couple less cpu time | 16:04 | ||
lizmat | wallclock is always between 415 and 435 secinds | ||
seconds | |||
I'll run another one for comparison | |||
timotimo | i'd like to merge that branch, since it doesn't change spectests and does give performance improvements on arithmetics in nqp. probably only contributes a bit of noise to rakudo's performance, though | 16:05 | |
TimToady | r: my @a of Array of Hash of Int; say @a.WHAT.eval | ||
camelia | rakudo 22b007: OUTPUT«use of uninitialized value of type Array[Array[Hash[Int]]] in string context in block at /tmp/T9aLpKosqk:1Nil» | ||
TimToady | r: my @a of Array of Hash of Int; say @a.WHAT.gist.eval | ||
camelia | rakudo 22b007: OUTPUT«(Array[Array[Hash[Int]]][Array[Array[Hash[Int]]][Hash[Int]]])» | ||
TimToady | same issue, I suppose | 16:06 | |
lizmat | yup | ||
some cases still go wrong, like: | 16:07 | ||
TimToady | r: my @a of Array of Hash[Int,Int]; say @a.WHAT | ||
camelia | rakudo 22b007: OUTPUT«(Array[Array[Hash[Int,Int]]])» | ||
lizmat | r: my %H{Str} of Int; say %h.WHAT | ||
camelia | rakudo 22b007: OUTPUT«===SORRY!=== Error while compiling /tmp/XJf4qRPj2_Variable '%h' is not declaredat /tmp/XJf4qRPj2_:1------> my %H{Str} of Int; say %h.WHAT⏏<EOL> expecting any of: method arguments» | ||
TimToady | case | ||
lizmat | r: my %h{Str} of Int; say %h.WHAT | ||
camelia | rakudo 22b007: OUTPUT«(Hash[Any,Str][Int])» | ||
TimToady | hmm | ||
grondilu add no idea my %h{Str} of Int; could be legal syntax | 16:08 | ||
*had | |||
jnthn | That looks...odd :) | ||
Should be Hash[Int,Str], I think? | |||
TimToady | should've turned into Hash[Int,Str] | ||
lizmat | its because the PARAMETERIZE_TYPE is run before the "of" is seen | ||
TimToady | yes | ||
jnthn | ah... | ||
lizmat | this should basically be run at COMPOSE time, I think | ||
16:08
pernatiy_ left
|
|||
lizmat | but we don't have a functioning COMPOSE phaser yet | 16:09 | |
TimToady | r: my Int %h{Str}; say %h.WHAT | ||
camelia | rakudo a14f6c: OUTPUT«(Hash[Int,Str])» | ||
lizmat | nor would I know where to put one | ||
TimToady: that's tun by PARAMETERIZE_TYPE | |||
and correct | |||
it's mixing the "prefix" type with "postfix" "of" type that gets things messed up in the naming | |||
*run | 16:10 | ||
TimToady | r: my Int %h{Str} of Num; say %h.WHAT | ||
camelia | rakudo a14f6c: OUTPUT«(Hash[Int,Str][Num])» | ||
TimToady | n: my Int %h{Str} of Num; say %h.WHAT | ||
camelia | niecza v24-88-g1f87209: OUTPUT«===SORRY!===Trait of not available on variables at /tmp/oiN1ddtau7 line 1:------> my Int %h{Str} of Num⏏; say %h.WHATPostconstraints, and shapes on variable declarators NYI at /tmp/oiN1ddtau7 line 1:------> m… | ||
lizmat | I'm not sure that's legal | ||
TimToady | std: my Int %h{Str} of Num; say %h.WHAT | ||
camelia | std 06636e4: OUTPUT«===SORRY!===Extra 'of' type; already declared as type Int at /tmp/8Av62f6k10 line 1:------> my Int %h{Str} of Num⏏; say %h.WHATCheck failedFAILED 00:00 44m» | ||
TimToady | it's not | ||
but rakudo doesn't catch it yet | |||
lizmat | I guess I could catch that | 16:11 | |
TimToady | (std's is the correct behavior, for those watching) | ||
lizmat | r: my Any %h{Str} of Int | ||
camelia | rakudo a14f6c: ( no output ) | ||
lizmat | r: my Any %h{Str} of Int; say %h.WHAT | ||
camelia | rakudo a14f6c: OUTPUT«(Hash[Any,Str][Int])» | ||
lizmat | not sure I can distinguish by not specified yet type or Any | ||
16:11
colomon left
|
|||
TimToady | obviously it's treating it as my %h{Str} of Any of Int | 16:12 | |
(well, except the naming bits) | |||
still think I'd rather disallow mixing prefix and postfix as std does | 16:13 | ||
lizmat | timotimo: Files=752, Tests=26570, 421 wallclock secs ( 8.52 usr 2.77 sys + 2844.15 cusr 265.41 csys = 3120.85 CPU) | ||
lizmat would be in favour of that! | |||
TimToady | std: my Array of Num %h{Str}; say %h.WHAT | 16:14 | |
camelia | std 06636e4: OUTPUT«ok 00:00 44m» | ||
TimToady | nr: my Array of Num %h{Str}; say %h.WHAT | ||
camelia | rakudo a14f6c: OUTPUT«(Hash[Array[Num],Str])» | ||
..niecza v24-88-g1f87209: OUTPUT«===SORRY!===Coercive declarations NYI at /tmp/cpzeur2LWn line 1:------> my Array of Num⏏ %h{Str}; say %h.WHATPostconstraints, and shapes on variable declarators NYI at /tmp/cpzeur2LWn line 1:------> my Array … | |||
TimToady | coercive?!? | ||
jnthn | I suspect the right way to go is to somehow use trait_mod:<of> for the my Int %h case too... | ||
lizmat | an error in the error message ? | ||
TimToady | niecza must be confused about something there | 16:15 | |
maybe an over-specific summary message | |||
16:16
berekuk left
|
|||
lizmat | timotimo: maybe postpone the merge until after this month's cut ? | 16:16 | |
other than that, I don't see any reason not to merge | |||
from a rakudo point of view | |||
TimToady | anyway, looks like we're getting close on the type declarations/names, lizmat++ | 16:17 | |
lizmat | :-) | ||
16:18
kaleem joined,
berekuk joined
|
|||
lizmat | TimToady: could you clarify where one would put a COMPOSE phaser, and where it would be hooked up to ? | 16:18 | |
or maybe jnthn ? | 16:19 | ||
16:19
sqirrel left
|
|||
jnthn | Where's it spec'd? | 16:19 | |
dalek | ecs: fac7a1a | larry++ | S02-bits.pod: can't mix 'my Dog $x' with 'my $x of Dog' |
16:22 | |
16:22
atroxaper joined
16:23
kaleem left
|
|||
TimToady | you talking about the COMPOSE phaser? S04:1382 | 16:25 | |
synopsebot | Link: perlcabal.org/syn/S04.html#line_1382 | ||
TimToady | doesn't go into great detail | ||
masak .oO( Dog von Dog of the Noble House of Dog ) | |||
jnthn | So I see... ;) | 16:26 | |
TimToady | but the consensus here a day or so ago was that "when" means "after" | ||
jnthn | So, | ||
role R { COMPOSE { say "omg I was compaus" } }; | 16:27 | ||
# no output at this point | |||
TimToady | right | ||
jnthn | class C does R { BEGIN say "not yet"; }; BEGIN say "after"; | ||
# not yet\nomg I was compaus\nafter\n | |||
? | |||
TimToady | seems right | ||
jnthn | role R2 does R { } | ||
# no output here either as we didn't reach a class yet? | 16:28 | ||
TimToady | seems sane | ||
jnthn | class C does R2 { BEGIN say "not yet"; }; BEGIN say "after"; | ||
# not yet\nomg I was compaus\nafter\n | |||
That is, they all carry until class composition time? | |||
TimToady | isn't that how roles normally do things? | ||
jnthn | Yes. :) | ||
Just making sure we expect the same thing :) | |||
TimToady | then that's how it should still work :) | ||
lizmat | hmmm… maybe then I don't need a COMPOSE phaser | 16:29 | |
jnthn | COMPOSE { say $_ } # anything interesting? :) | ||
TimToady | well, would be nice to be able to get at the newish metaobject, I suppose | ||
lizmat | but a phaser that is run when a variable is completely defined | ||
jnthn | lizmat: I don't think that's a phaser, I think that's a method on a Variable object... | 16:30 | |
lizmat | timotimo: Files=752, Tests=26570, 425 wallclock secs ( 8.55 usr 2.76 sys + 2843.18 cusr 264.56 csys = 3119.05 CPU) | ||
jnthn: right, we discussed that before | |||
yup | |||
jnthn | TimToady: The type object of the thing that it could composed into may be a sane thing? | ||
lizmat | ok, I'll work that way | ||
jnthn | s/could/was/ | ||
16:31
ajr_ left
|
|||
pmurias | re all backends being built by default, wouldn't we want to package backends separately | 16:31 | |
? | |||
lizmat | daxim? | 16:32 | |
16:32
fhelmberger left
|
|||
lizmat | alas, daxim no longer with us :-( | 16:32 | |
mls | firefox | ||
pmurias | mls: ? | 16:33 | |
mls | eek, mouse slipped into wrong window | ||
please ignore ;) | |||
pmurias | ok ;) | ||
jnthn | There's worse things to wrong-window :) | ||
masak | mls: this is why "focus follows mouse" gets you into trouble :P | 16:34 | |
mls | yes, but I'm so used to it... | 16:35 | |
dalek | ast: 5f956b5 | (Elizabeth Mattijsen)++ | S12-introspection/WHAT.t: Add 2 more TODO tests for %h{Str} of Int case |
||
TimToady | in STD, the call to <.getdecl> is generally the appropriate moment to resolve the type of the thing being declared | 16:36 | |
(STD doesn't attemp to do that, of course) | |||
*pt | |||
16:37
wingfold joined,
gdey joined,
Mouq joined
16:39
colomon joined,
denis_boyun joined
16:40
spider-mario joined
|
|||
lizmat | no "getdecl" in rakudo :-( | 16:40 | |
masak | mls: maybe only do it on odd days, and try to break the habit on even days? :P | 16:41 | |
mls | date | 16:43 | |
would just drive me insane | |||
(or is that your secret goal ;) ) | 16:44 | ||
masak | maybe... :) | ||
16:44
donaldh joined
|
|||
mls | btw, that date above should also go to another window | 16:44 | |
moritz | masak: after you've had sloppy focus for a few years, it's just as dangerous to switch if off | ||
masak | mls: yes, I suspected that :) | 16:46 | |
moritz: I find that as a rule and with the right discipline, even changing habits is a learned skill. | |||
moritz: for example, my brain has adapted wonderfully to switching between keyboard layouts in the past few years. | 16:47 | ||
donaldh | I'm trying to decide the best way to introduce nqp::shell($cmd, $dir, %env) as a replacement for nqp::shell($cmd) | ||
16:47
Mouq left
|
|||
donaldh | Is it just to introduce a new op called nqp::shelling and then subsequently deprecate nqp::shell | 16:47 | |
shellenv even | 16:48 | ||
I love autocomplete | |||
There's a rakudo dependency on nqp::shell($cmd) so I'm trying to achieve a smooth migration. | |||
moritz | masak: mine too, as long as one type of keyboard is coupled to a certain keyboard layout | 16:51 | |
masak: and that was the problem with the macbook; its keyboard felt very similar to another laptop keyboard I had been using for years, but with a subtly different layout | 16:52 | ||
masak | moritz: yes, such things are problematic. | ||
moritz | donaldh: introducing a separate op would indeed be a good solution, IMHO | 16:53 | |
16:53
dakkar left
|
|||
pmurias | donaldh: you could make nqp::shell accept both 1 and 3 args | 16:54 | |
donaldh: and then maybe remove the support for 1 arg | |||
donaldh | pmurias: not possible. I tried two ops with the same name and only got the latter. | 16:56 | |
The core op list in QAST is keyed by op name only. So the op names exposed by nqp need to be unique. | 16:59 | ||
timotimo | donaldh: just today i saw how you can do that, though | ||
donaldh | timotimo: oh | ||
timotimo | ah, yes, the substr op | ||
donaldh | timotimo: ah. | 17:00 | |
timotimo | i can't find it any more, though | ||
donaldh | Just read it. | ||
timotimo | ah, good :) | 17:01 | |
donaldh | It's in Compiler.nqp; add substr2 and substr3 then add a substr core op that discriminates | 17:02 | |
The underlying ops still need different names. | |||
timotimo | ah, ok | 17:03 | |
donaldh | Some boilerplate for a few nqp commits until rakudo catches up. | ||
:-) | |||
17:03
denis_boyun left,
berekuk left
|
|||
TimToady | (brain plasticity)++ | 17:04 | |
pmurias | donaldh: using two names is one way to do that, the other would be to insert the missing arguments | 17:05 | |
donaldh | pmurias: how so ? | ||
17:06
Mouq joined
17:09
denisboyun joined
|
|||
dalek | kudo/nom: 932bfc8 | moritz++ | README: [README] ConfigureJVM.pl understands --gen-nqp; recommend it |
17:11 | |
moritz | oh, I was outdated. [Coke]++ already fixed it | 17:13 | |
so only the other part of my commit survived the rebase | |||
lizmat | moritz: I guess we're in a moratorium for commits now ? | 17:14 | |
17:15
wingfold left,
Mouq left
|
|||
lizmat | afk& | 17:17 | |
timotimo | i'm glad to see that my fix improves the spectest time by a solid ~1.5% | 17:20 | |
that shows that the optimization's analysis phase doesn't take too long and it gives results even when things are not executed too often. | |||
17:20
atroxaper left
|
|||
timotimo | er, hold on. that optimization won't even run the analysis step in the rakudo spectest, because it only operates on nqp code | 17:21 | |
pmichaud | good morning, #perl6 | ||
er, good afternoon I guess | |||
diakopter | pmichaud: howdy :) | 17:22 | |
colomon | o/ | 17:23 | |
donaldh | moratorium for commits ? release time already? | ||
TimToady ponders the difference between a commitee and committee | 17:26 | ||
donaldh | subtle | ||
lizmat | I'll take design by commitee any day | 17:35 | |
pmurias | pmichaud: hi | 17:38 | |
FROGGS | pmichaud: hi! | ||
pmurias | donaldh: a callback is inserted in the op table, but the way substr is implemented is propably the best for a temporary workaround | ||
jnthn | o/ pmichaud | 17:40 | |
lizmat | pmichaud! | 17:44 | |
17:52
berekuk joined
17:55
Mouq joined
|
|||
FROGGS | jnthn: how do I check if something is a 6model object in nqp@parrot? | 17:56 | |
pmurias | FROGGS: the way I was using was to treat it as 6model object + use try | 17:58 | |
FROGGS | pmurias: that might work out, thank you | ||
it does!! pmurias++ | 17:59 | ||
jnthn | FROGGS: Think there's a pir::what_or_null__PP op also | ||
Which you can use with nqp::isnull or so | |||
FROGGS | the try is okay, it is just a test file :o) | 18:00 | |
lizmat | jnthn: looking at the stack trace of "my $a of Int of Int', it seems like the "of" trait handling is superfluous ? | ||
pmurias | FROGGS: are you writting new nqp tests? ;) | ||
FROGGS | pmurias: no, just making the sprintf test fit for parrot | ||
moritz | lizmat: fwiw the release is on Thursday; I'm merely preparing the docs for it now | 18:01 | |
lizmat | moritz: ok | ||
moritz | timotimo: the spectest suite is very unusual code in that it contains few loops, so its performance characterists aren't representative for normal programs. Still a good sign if the runtime decreases :-) | 18:02 | |
lizmat | runtime actually didn't decrease above noise levels, but CPU seemed to have decreased more significanlty | 18:05 | |
I guess wallclock is more dependent on disk, and running it on an SSD helps :-) | 18:06 | ||
18:08
kbaker left
18:12
Mouq left
18:13
kbaker joined
18:15
donaldh left,
rindolf left
18:16
sqirrel joined
18:22
sciurius left
|
|||
timotimo | yes, i meant cpu time not run time | 18:26 | |
lizmat | r: my $a of Array will begin {say "foo"} of Int # is having 2 non-consecutive "of"s valid syntax? | ||
camelia | rakudo 932bfc: OUTPUT«foo» | ||
timotimo | when's the release supposed to be cut? | ||
lizmat | Thu | ||
so I guess we have less than 2 days to mess things up *and* repair them | 18:28 | ||
18:29
colomon left
|
|||
FROGGS | let's go! | 18:29 | |
timotimo | i'm just now thinking about putting the optimization in before the release | ||
lizmat | we would have at least 1 day of rakudo * smoke then | 18:30 | |
FROGGS | lizmat: does it smoke HEAD? | 18:31 | |
lizmat | afaik, yes? | ||
timotimo | it got changed, yes | ||
FROGGS | cool | ||
lizmat | now you got me doubting | ||
FROGGS | that's good | ||
lizmat | ok, cool | ||
.oO( good thing git didn't call HEAD POT ) |
18:32 | ||
FROGGS | *g* | 18:33 | |
18:34
sciurius joined
|
|||
lizmat | just as TimToady was musing whether to disallow "my Hash $a of Int' (mixing pre/postfix) | 18:40 | |
I'm inclined to disallow "my $a of Hash will begin { say "foo" } of Int" (aka, non-consecutive "of") for the same reason | |||
anybody sees a problem with that ? | 18:41 | ||
*see | |||
jnthn | Probably should be the same logic that forbids the two | 18:43 | |
Can only have one of. | |||
lizmat | well, you can have more than one, as long as they're consecutive | 18:44 | |
r: my %h of List of Hash of Int; say %h.WHAT | |||
camelia | rakudo 932bfc: OUTPUT«===SORRY!===Type List cannot accept type arguments» | ||
lizmat | r: my %h of Array of Hash of Int; say %h.WHAT | 18:45 | |
camelia | rakudo 932bfc: OUTPUT«(Hash[Array[Hash[Int]]])» | ||
lizmat | right ? | ||
timotimo | ah, those are "nested" in that case, yeah | ||
lizmat | r: (Array[Int]).WHAT.say | 18:46 | |
camelia | rakudo 932bfc: OUTPUT«(Array[Int])» | ||
18:47
donaldh joined
|
|||
lizmat | r: (Array of Int).WHAT.say # is this a rakudobug ? | 18:47 | |
camelia | rakudo 932bfc: OUTPUT«===SORRY!=== Error while compiling /tmp/eDRdwGZS0BTwo terms in a rowat /tmp/eDRdwGZS0B:1------> (Array ⏏of Int).WHAT.say # is this a rakudobug ? expecting any of: postfix infix stopper infix or met… | ||
18:47
sqirrel left
18:48
sqirrel joined
|
|||
jnthn | lizmat: No, the consecutive ones parse differently. | 18:49 | |
lizmat | so not a rakudobug, ok | 18:50 | |
jnthn | lizmat: It's not parsed as many of's, it's parsed as of and then a Foo of Bar of Baz type name. | ||
18:51
bruges_ joined,
bruges left
18:52
Mouq joined
|
|||
donaldh | Can I pass a P6 hash, say, %*ENV into an nqp::op and if so, how do I iterate its contents ? | 18:54 | |
lizmat | donaldh: %*ENV is special | 18:56 | |
donaldh | or course it is. | ||
lizmat | see src/core/terms, line 12 and following | ||
I'm not even sure it is VM agnostic | 18:57 | ||
donaldh walks into another trap | |||
yeah, it's proxied | |||
I assumed it would still behave largely like a hash though. | 18:58 | ||
lizmat | it does to the casual user | ||
jnthn | You can't pass it straight in 'cus it's not actually a low level Hash, but a Perl 6 object pointing to one... You can nqp::getattr(%*ENV, EnumMap, '$!storage') to get access to the underlying hash. | ||
donaldh | oh, cool | 18:59 | |
Util | #ps in 30m | ||
19:01
SamuraiJack left
|
|||
labster | good morning, #perl6 | 19:06 | |
FROGGS | hi labster | ||
labster | hi FROGGS | 19:07 | |
lizmat | o/ labster | 19:08 | |
labster | reading through jnthn++'s slides on parallelism and concurrency. Good stuff, would have liked to have been there. | 19:09 | |
19:11
colomon joined
|
|||
timotimo | we're hoping to get the video recordings soon | 19:12 | |
lizmat | with regards to the Rakudo & NQP Internals workshop on 14/15 September in Frankfurt | 19:13 | |
it tentatively looks like we have a venue, it is now just a matter of insurance | |||
timotimo | oh yes, i still have to make reservations. though now i have a car that i could drive there | ||
moritz | labster: the presentation was very well received | 19:15 | |
lizmat | the location: goo.gl/maps/2T5j2 | ||
19:15
Mouq left
|
|||
lizmat | which looks to be about 700m from Frankfurt main train station | 19:15 | |
FROGGS | awesome! | 19:16 | |
timotimo | i kind of have no experience getting a sleeping spot :| | ||
dalek | kudo-js: a688d83 | (Pawel Murias)++ | .gitignore: Update .gitignore. |
||
kudo-js: 868b4bd | (Pawel Murias)++ | src/QAST/Compiler/JavaScript.nqp: Implement \n in regexes. |
|||
kudo-js: 580829d | (Pawel Murias)++ | / (2 files): Concrete objects should be true when treated as booleans by default. |
|||
kudo-js: 896e597 | (Pawel Murias)++ | / (6 files): Have our own null object instead of using the builtin javascript one. That allows calling methods on it (we do that when using it in a conditional) |
|||
lizmat | as soon as the venue is really secured, I will put out a more formal announcement / invitation | ||
moritz | lizmat++ | ||
lizmat | timotimo: don't worry, I guess when we find a nice hotel in the neighborhood, we can arrange accommodation quite easily | ||
FROGGS | timotimo: well, a well knows yapc sponsor ( www.booking.com/ ) might be of help :o) | ||
lizmat | indeed :-) | ||
timotimo | that's a good hint indeed | 19:19 | |
19:20
donaldh left
|
|||
timotimo | do i enter "JAPH" somewhere to get better prices? :P | 19:20 | |
FROGGS | hehe, no idea | 19:21 | |
www.hotel-acasa.de/preise/ might be okay | |||
labster | only if your coupon code eval()'s to JAPH | ||
timotimo | :D | ||
and has not yet been seen? :) | |||
labster | JAPHbot9000? | ||
timotimo | FROGGS: did you research which rates apply? | 19:22 | |
19:23
ajr joined
|
|||
FROGGS | rates? what rates? | 19:23 | |
19:23
ajr is now known as Guest62016,
Guest62016 is now known as ajr_
|
|||
timotimo | "kleine messerate" vs "große messerate" vs "messefreie wochenenden" | 19:23 | |
FROGGS | the hotel I posted is not linked via booking.com though :/ | 19:24 | |
19:24
cognominal left
|
|||
FROGGS | I just typed in frankfurt, and ordered by price, problem is that the heapest are like 12km away from the venue | 19:24 | |
timotimo | i'd like to not sleep in a heap of people if that's possible :) | 19:25 | |
FROGGS | ahh, now I see what you mean | ||
timotimo | :D | ||
FROGGS | timotimo: I'm going to call then tmw | 19:26 | |
them* | |||
19:26
sqirrel left
|
|||
timotimo | tomorrow? | 19:27 | |
FROGGS | yeah, to ask then what the price will be | ||
geekosaur | might be a bit late now... | ||
timotimo | OK | 19:28 | |
is there a law against sleeping in a car? :) | |||
lizmat | city ordnance might | ||
FROGGS | timotimo: it is okay if you have a roxette mc | 19:29 | |
19:30
bluescreen100 left
|
|||
timotimo | music cassette? | 19:30 | |
FROGGS | you know what that is, right? | 19:31 | |
timotimo | no | 19:32 | |
:D | |||
just kidding. i'm not that young | |||
lizmat | actually, compact cassette is the proper name | ||
FROGGS feels old | |||
lizmat | if I remember correctly | ||
timotimo | i don't understand what it has to do with roxette, though | ||
FROGGS | roxette was famous when mc's were too | 19:33 | |
19:33
bluescreen100 joined
|
|||
lizmat | .oO( that was a funny Not The Nine O'Clock sketch, about the guy asking for a gramophone ) |
19:33 | |
timotimo | so ... why would i be allowed to sleep in my car if i was a bit older? | ||
FROGGS | www.youtube.com/watch?v=zN5jsPFEjg8 | ||
timotimo | ah | 19:34 | |
FROGGS | I hate that song | ||
lizmat | www.youtube.com/watch?v=dSINO6MKtco # gramophone | ||
jnthn | Please say this is a different song from yesterday... :P | 19:35 | |
lizmat | extra funny in the days of CD's kicking the bucket :-) | ||
jnthn | ah, phew, no :) | ||
jnthn ponders doing some Perl 6 stuff for a couple of hours, and wonders what to attack... | |||
lizmat | geting $_ to alias to the variable being declared in will foo {} blocks ? | 19:36 | |
FROGGS | lizmat++ | 19:37 | |
jnthn | lizmat: hmm... | ||
lizmat | could be dead simple, but I'm not seeing it yet | ||
fwiw, I'm working on a Variable.compose method to be called after handling the traits | 19:38 | ||
FROGGS | in v5 it is simple, every block is some sort of loop, so you always have a signature | ||
jnthn | No, it's not dead simple. | ||
The thing is, the phasers vary in the lifetimes... | 19:39 | ||
FROGGS | that block just needs to be an <sblock(1)>, no? | ||
lizmat | well, I couldn't even get will begin {} to work | ||
jnthn | *nod* | ||
timotimo | jnthn: would you like to do a bit on module loading? :| | ||
jnthn | Yeah, there's quite some special-casing there | ||
timotimo: Module loading? | 19:40 | ||
lizmat | ok, more than for a few hours | ||
FROGGS | ahh, no, <pblock(1)> | ||
lizmat | postpone it until after the RaNIW | ||
jnthn | lizmat: I've been thinking about this for a bit, just didn't settle on something I liked... | ||
19:40
jaffa4 joined
|
|||
jnthn | Thing is, we store phasers once inside the encloding block, but the particular variable we're interested in is associated with the activation record... | 19:41 | |
timotimo | jnthn: remember my ADT module that creates new classes through the MOP and exports them with EXPORT? | ||
where if you use those classes you get things like Error: Type check failed in assignment to '$a'; expected 'Tree' but got 'Tree' | |||
jnthn | I...don't quite remember that :) | 19:42 | |
I remember teh ADT module, not the errors | |||
lizmat | so maybe we need a phaser that gets run when a block is completed, and then set up the phasers ? | 19:43 | |
callback, really | |||
timotimo | right. gimme a sec and i'll give you the failing tests if you want them | ||
pmurias | r: print; | ||
camelia | rakudo 932bfc: ( no output ) | ||
lizmat | r: say | 19:44 | |
camelia | rakudo 932bfc: OUTPUT«» | ||
jnthn | lizmat: Maybe...mostly it's just making sure we get them invoked with the right outer scope... | ||
lizmat | ok, if you think that idea is valid, I'll try to follow that | 19:45 | |
I mean, one will block might be closing over other lexicals in the block | |||
jnthn | It feels a bit off... | ||
lizmat | ok, that is not a good sign | 19:46 | |
:-) | |||
I'll just try to fix "my Int $a of Hash" and such first | |||
jnthn | *nod* | ||
That should be an error, I guess? | 19:47 | ||
timotimo | github.com/timo/ADT/tree/EXPORT_sub - this is the branch, the test t/02* is showing the error | ||
lizmat | jnthn: yes | ||
19:48
stevan_ joined
|
|||
jnthn | timotimo: From the docs, "Since rakudo doesn't yet allow the EXPORT sub of a package to return a hash of things to export," - but it does now :) | 19:48 | |
FROGGS | masak: ping | ||
jnthn | oh, we're in a branch that's working on that... | ||
:) | 19:49 | ||
timotimo | oh yes, the readme is out of date, thanks | ||
19:49
nebuchadnezzar joined,
abnorman left
|
|||
masak | FROGGS: pong | 19:49 | |
FROGGS | masak: in nqp::sprintf we're dying if the directive-count doesnt match the arg count | 19:50 | |
masak: I dont like that anymore :o) | |||
pmurias | how should I run a shell command in nqp? | 19:51 | |
jnthn | timotimo: Well, clone'd the repo at least... :) | ||
FROGGS | because you can a) specify the arg you want by %$3s by example, and it might be handy to just format some of the args passed | ||
moritz | pmurias: there's a pir::spawnw__IP on nqp-parrot | ||
pmurias | currently pir::spawnw__Is('node QAST2JSOutput > QAST2JSOutput.output') is used, but I don't want to implement a pir:: thing on nqp-js | 19:52 | |
moritz | pmurias: then introduce an nqp:: op for it :-) | ||
jnthn | Wasn't that shell, which donaldh++ is recently tweaking? | ||
masak | FROGGS: I always knew that something like %$3s would need a different treatment. | 19:54 | |
FROGGS: but there definitely should be a count/verification of some kind. | |||
FROGGS | masak: do you have a plan about that? | ||
19:54
zwut00 joined
|
|||
FROGGS | masak: yeah, feels like strict/lax mode | 19:54 | |
masak | FROGGS: no, it's always strict, but the $3 things don't count in the count... kinda. | 19:55 | |
FROGGS: no specific plan, 'sides writing one test at a time. | |||
19:55
bluescreen100 left
|
|||
FROGGS | masak: hmmm, so a pattern only of $n's wont work out | 19:56 | |
masak | yes, I think it would... | ||
there's an underlying rule, but I can't put my finger on it. | 19:57 | ||
pmurias | jnthn: thanks | ||
FROGGS | masak: btw, when commenting out these nqp::die's, it passes now the nqp@parrot and rakudo@parrot tests too | ||
19:57
REPLeffect left
|
|||
pmurias hates that people add ops to nqp without writing a test | 19:57 | ||
FROGGS | except one %x test, which fails on the jvm too | ||
will fix one at next | |||
masak | something like this: there's non-$n and $n. non-$n always counts. $n only counts if it doesn't refer to something that was already touched by a non-$n. | 19:59 | |
timotimo | jnthn: added two new tests and improved the readme thingie | 20:00 | |
FROGGS | I was afraid you were saying that | ||
jnthn | timotimo: ok. I got the same error you mentioned. | 20:01 | |
timotimo | good to know i'm not hallucinating terminal output now :) | 20:02 | |
lizmat | jnthn: the case of "my %h{Str} of Int" | ||
I'm thinking of disallowing that as well | |||
masak | hm, why? | ||
FROGGS | masak: for v5, I could just catch (and keep) these two expections... right? | 20:03 | |
lizmat | the problem is that the $t in PARAMETERIZE_TYPE is not set correctly yet | ||
20:03
donaldh joined
|
|||
lizmat | and I don't see a way to fix this up later when handling the "of" trait | 20:03 | |
masak | FROGGS: sorry, I'm not focused enough. | ||
FROGGS | masak: np :o) | 20:04 | |
lizmat | masak: my $what := self but TypedHash[$t.WHAT, c[0]]; | ||
FROGGS .oO( a c[0] would be nice now ) | |||
lizmat | the $t.WHAT should be later corrected to Int rather than Any (in the case of "my %h{Str} of Int" | ||
20:05
raiph left
|
|||
jnthn | lizmat: I think that we may want to consider a slightly larger re-org for this stuff. | 20:05 | |
lizmat: At the moment we're doing a PARAMETERIZE_TYPE call from Actions, or via World anyway. | |||
lizmat | yup | 20:06 | |
jnthn | lizmat: I'm wondering if we should only ever do that in the Variable.compose. | ||
lizmat | but the Variable is only created if we have traits | ||
that would not catch "my %h{Str}" | |||
jnthn | lizmat: And we translate my Int %h{Str} into tweaks to Variable. | ||
lizmat: I know, I'm saying that we maybe want to do different when we spot we have types to set up. | |||
What's wrong with that? | 20:07 | ||
my %h{Str} of Int # should work like my Int %h{Str}; | |||
The problem is when we get | |||
my Int %h{Str} of Num; | |||
e.g. we need to complain when things get set twice. | |||
lizmat | ok, but currently the %h{Str} triggers the PARAMETERIZE_TYPE call *before* the "of" trait is handled | 20:08 | |
I'm not seeing how I can change the "elf but TypedHash[$t.WHAT, c[0]];" after it has been returned by PARAMETERIZE_TYPE | 20:09 | ||
*self | |||
jnthn | lizmat: I'm suggesting we don't do that call until Variable.compose | ||
lizmat | but currently at least, the Variable object is only created when we have traits | 20:10 | |
# Apply any traits. | |||
if $trait_list { | |||
my $Variable := $*W.find_symbol(['Variable']); | |||
so doing a "my %h{Str}" would never see a Variable object created, nor composed | 20:12 | ||
*or* you're saying we would need to create such an object always ? | |||
for *every* variable declaration ? | |||
masak is too tired to think properly :/ | 20:14 | ||
lizmat | teaching will do that to you | ||
masak | yes. it's as if I taught away my soul. | ||
at least they said "thank you" :) | 20:15 | ||
lizmat | those pesky little brain-sucking pupils :-) | ||
jnthn | lizmat: For every one that has type constraints on it, perhaps | ||
lizmat: Not sure if we run into the circularity saw there... | 20:16 | ||
lizmat | oddly enough, the "Str" in %h{Str} is not visible in $*OFTYPE | ||
jnthn | Right, 'cus it's the key type, not the of type :) | ||
lizmat | so that's in $shape ? | 20:17 | |
jnthn | iirc, yes | ||
lizmat | right, ok | ||
timotimo | .o( i should get in $shape, too ) | ||
lizmat | ok, I think I can go forward now | 20:18 | |
jnthn | Well, or at least sideways... :) | 20:24 | |
lizmat | hehe, it's all relative | 20:25 | |
topologically the same, no? | |||
r: my $* | |||
camelia | rakudo 932bfc: OUTPUT«===SORRY!=== Error while compiling /tmp/3TnCtz2vWKTwo terms in a rowat /tmp/3TnCtz2vWK:1------> my $*⏏<EOL> expecting any of: scoped declarator constraint postfix infix stopper infi… | ||
lizmat | whee! | ||
std: my $* | |||
camelia | std 06636e4: OUTPUT«===SORRY!===Unsupported use of $* variable; in Perl 6 please use ^^ and $$ at /tmp/2NKdtmhzVo line 1:------> my $*⏏<EOL>Parse failedFAILED 00:00 41m» | ||
lizmat | r: say $* | 20:28 | |
camelia | rakudo 932bfc: OUTPUT«===SORRY!=== Error while compiling /tmp/y1RlNh1lYNNon-declarative sigil is missing its nameat /tmp/y1RlNh1lYN:1------> say ⏏$* expecting any of: argument list prefix or term prefix or meta-prefix»… | ||
lizmat | std: say $* | ||
camelia | std 06636e4: OUTPUT«===SORRY!===Unsupported use of $* variable; in Perl 6 please use ^^ and $$ at /tmp/vZHO0HrSw2 line 1:------> say $*⏏<EOL>Parse failedFAILED 00:00 42m» | ||
dalek | p: 04fe91c | (Tobias Leich)++ | / (2 files): make sprintf pass under parrot backend Also added two tests about accessing args by index. |
20:29 | |
timotimo | does our nqp implementation of sprintf already power the parrot version of rakudo? | 20:33 | |
FROGGS | timotimo: I'd say so | ||
lizmat | not sure | ||
is it? | |||
timotimo | i just onder: is it being used or not? :) | ||
FROGGS | timotimo: it handles bigints for example, and there are no regressions (expect this, which is by design github.com/perl6/roast/blob/master...ay02.t#L23 ) | 20:34 | |
timotimo: rakudo@jvm uses it | |||
and my locally hacked rakudo | |||
lizmat | yes, but afaik parakudo doesn't | ||
I'll be gladly corrected | |||
20:35
logie left
|
|||
FROGGS | lizmat: not yet, I'm working on that point | 20:35 | |
lizmat | ok, so it *can*, but it doesn't yet, rigtht ? | ||
FROGGS | right | 20:36 | |
I want to get rid of one failing nqp test, and then I might pull it in | |||
timotimo | why is it by design? a hash should .ftm with just one string? | 20:37 | |
lizmat | cool: one more thing to add to the ChangeLog :-) | ||
20:37
logie joined
|
|||
moritz | r: (2**65).fmt: '%d' | 20:40 | |
camelia | rakudo 932bfc: ( no output ) | ||
moritz | r: say (2**65).fmt: '%d' | ||
camelia | rakudo 932bfc: OUTPUT«0» | ||
moritz | n: say (2**65).fmt: '%d' | 20:41 | |
camelia | niecza v24-88-g1f87209: OUTPUT«36893488147419103232» | ||
lizmat | std: say $" | 20:43 | |
camelia | std 06636e4: OUTPUT«===SORRY!===Unsupported use of $" variable; in Perl 6 please use .join() method at /tmp/hw_Gmzy3Dy line 1:------> say $"⏏<EOL>Parse failedFAILED 00:00 42m» | ||
20:49
kaare_ left
20:50
kbaker left
|
|||
pmurias | hmm, implementing nqp::shell on node requires using a module from the package repository :/ | 20:52 | |
mst | pmurias: you're a perl programmer. you're not allowed to be scared of modules. | 20:53 | |
20:54
raiph joined
|
|||
TimToady is scared of modules... | 20:54 | ||
slava | TimToady: kind of weird seeing that come from you ... since, you know, CPAN! :P | 20:56 | |
mst | TimToady: actually, I'm mostly only scared of the ones -you- wrote | ||
FROGGS | I'm only scared of S11 :o) | 20:58 | |
21:01
skids left
|
|||
FROGGS | pmurias++ # report (and awesome work) | 21:02 | |
21:03
ingy joined
|
|||
timotimo | ah yes, i've been looking forward to the report :) | 21:04 | |
pmurias++ :) | 21:06 | ||
21:07
pernatiy joined
21:11
jaffa4 left
|
|||
masak | slava: TimToady was so scared of modules he needed to lock them all up in CPAN... :P | 21:16 | |
kind of like an Azkaban for modules. | 21:17 | ||
FROGGS | so Andreas König is a dementor? | 21:18 | |
frettled | Things make sense now. | 21:19 | |
… several things in CPAN are rather demented ;) | 21:20 | ||
21:20
abnorman joined
|
|||
masak .oO( be a dementor in this Google Summer of Decode! ) | 21:20 | ||
frettled | masak: ooh! :) | ||
I've read that weird thread about «commensurability» or wossname on P6L, which started off with a wee bit of TL;DR syndrome. Where did that come from? | 21:21 | ||
masak | where did what come from? | 21:22 | |
21:22
stevan_ left
|
|||
frettled | «Commensurability as Key» by a James Bowery on the perl6-language mailing list. | 21:22 | |
geekosaur | we're attracting crackpot theorists; in some sense, we must have arrived :) | ||
diakopter | well.. | 21:23 | |
masak | geekosaur: no, it's always been like that. | ||
timotimo | er, crackpot is a bit harsh, isn't it? | ||
TimToady | and it's not crackpot, really, it's just rather oddly written | ||
masak | frettled: I need to read his references to find out what point he's trying to make. but I also think there is a point in there. | ||
geekosaur | well, I admit the crackpot vibe is more from the presentation than the content | ||
TimToady | we've considered units several times in the past | ||
masak | and it deserves a more measured answer that it's gotten so far. | ||
frettled | Yes, it was the tee-ell-semicolon-dee-arrrrrrness of it I reacted to :) | ||
masak | I did units in strangelyconsistent.org/blog/6-buil...you-needed | 21:24 | |
21:25
logie left
|
|||
labster | method attack-with-camelia { say "flap flap RAWWR!" } # lol | 21:26 | |
frettled | :) | ||
timotimo | .map({; .key => .value.elems })\ - is this kind of a wart? having to put a ; there to make sure it gets parsed as a block? | ||
frettled | I don't think units are central to his point, really. | ||
masak | timotimo: used to be. | 21:27 | |
timotimo | oh, it's fixed by now? | ||
masak | frettled: no, they seem to be a demo of his central point. | ||
frettled | masak: mm | ||
timotimo | r: (:a(1), :b(2), :c(3)).map({ .key => .value.sin }).say | ||
camelia | rakudo 932bfc: OUTPUT«No such method 'key' for invocant of type 'Nil' in block at /tmp/bOoU37WeVm:1» | ||
timotimo | r: {:a(1), :b(2), :c(3)}.map({ .key => .value.sin }).say | ||
camelia | rakudo 932bfc: OUTPUT«No such method 'key' for invocant of type 'Nil' in block at /tmp/xMlyJ6sVYu:1» | 21:28 | |
timotimo | r: (:a(1), :b(2), :c(3)).map({; .key => .value.sin }).say | ||
frettled | And to my simple mind it seems as if P6 has at least part way answered this with user-definabla types and roles, but, uhm? | ||
camelia | rakudo 932bfc: OUTPUT«"a" => 0.841470984807897e0 "b" => 0.909297426825682e0 "c" => 0.141120008059867e0» | ||
masak | r: say (foo => [1, 2, 3]).map({ .key => .value.elems }) | ||
camelia | rakudo 932bfc: OUTPUT«No such method 'key' for invocant of type 'Nil' in block at /tmp/mf9flPKksy:1» | ||
timotimo | it's trying to call .key on a $_ that would have had to have been created outside the map | ||
masak | r: say (foo => [1, 2, 3]).map({; .key => .value.elems }) | ||
camelia | rakudo 932bfc: OUTPUT«"foo" => 3» | ||
masak | so, hm, not fixed yet. :/ | ||
timotimo | ah, "used to be" doesn't necessarily mean "not any more, though"? | ||
FROGGS | r: say (foo => [1, 2, 3]).map( -> $_ { .key => .value.elems }) | 21:29 | |
camelia | rakudo 932bfc: OUTPUT«"foo" => 3» | ||
masak | FROGGS: that's cheating :) | ||
FROGGS | masak: peow peow peow | ||
masak | ;) | 21:30 | |
TimToady | rakudo is known to violate S04:1641 | ||
frettled | Is there such a thing as cheating? :) | ||
synopsebot | Link: perlcabal.org/syn/S04.html#line_1641 | ||
diakopter | heh synopse | ||
21:31
logie joined
|
|||
TimToady | that's an interesting backformation | 21:31 | |
like a parenthese | |||
masak | that's one hypothese | 21:32 | |
moritz kinda thought rakudo implemented that | |||
must have been a dream | |||
timotimo | ah, the implicit method calls on $_ make that interpret as a hash | ||
TimToady | which is precisely what 1641 is discussing | 21:33 | |
21:33
crab2313 left
|
|||
diakopter | what a crise | 21:33 | |
FROGGS .oO( that is discussing! ) | |||
frettled | Good thing I only have one ire per eye. | 21:34 | |
diakopter | actually that's.. | ||
irise | |||
masak | frettled: I'll show you ire. | ||
TimToady | you are the antithese of helpful | ||
21:34
spider-mario left
|
|||
masak | man, all these these... | 21:35 | |
diakopter | your eye might need a prothese | ||
frettled | topics of discuse? | ||
masak .oO( would you all discuse me for a bit ) | |||
timotimo | r: my $_ = :a(10); say ( .key => .value.sin ).hash # is this how i'd create a hash if i wanted to circumvent the "implicit methods on $_ make a closure"? | ||
21:35
logie left
|
|||
camelia | rakudo 932bfc: OUTPUT«Potential difficulties: Redeclaration of symbol $_ at /tmp/FA0VVfAG_E:1 ------> my $_ ⏏= :a(10); say ( .key => .value.sin ).has("a" => -0.54402111088937e0).hash» | 21:35 | |
21:35
BenGoldberg joined
|
|||
timotimo | also, i wrote "make that interpret as a hash" is of course wrong; i meant to write "as a closure" | 21:36 | |
masak .oO( I am frankly outgrabed at how all y'all discuse and defrile the English languib! ) | |||
diakopter | you're a slithy tove | ||
TimToady | oh, trut your shap! | ||
labster | This is starting to turn into routines of John Cleesis | 21:37 | |
masak | TimToady: I wilt not stab for that kind of rudder! | ||
21:37
logie joined
|
|||
masak leebs, fraught | 21:37 | ||
TimToady | Bru et, Tutus? | 21:38 | |
tadzik | you're making synopsebot abashed | ||
TimToady | these is not very productive... | ||
masak .oO( hobbitse ) | |||
grondilu | r: my $_ = :a(10); say { .key => .value.sin }.WHAT | ||
camelia | rakudo 932bfc: OUTPUT«Potential difficulties: Redeclaration of symbol $_ at /tmp/LAvIyESntA:1 ------> my $_ ⏏= :a(10); say { .key => .value.sin }.WHA(Hash)» | ||
grondilu | r: $_ = :a(10); say { .key => .value.sin }.WHAT | ||
camelia | rakudo 932bfc: OUTPUT«(Hash)» | ||
labster | hugme: hug synopsebot | ||
hugme hugs synopsebot | |||
TimToady | .oO( goatsis ) |
21:39 | |
diakopter | huge: hug synopsisbot | ||
grondilu | r: $_ = :a(10); say {; .key => .value.sin }.WHAT | ||
camelia | rakudo 932bfc: OUTPUT«(Block)» | ||
diakopter | hugme: hug synopsisbot | ||
hugme hugs synopsisbot | |||
tadzik | synapsebot | ||
masak fires synapsebot | |||
FROGGS | hehe | 21:40 | |
frettled | This was very productive, it improved my mood, and therefore my productivity. | ||
diakopter crosses masak | |||
frettled | masak: very nice, very nice :) | ||
masak | apparently I'm *not* too tired for very silly jokes. | ||
masak brows, exulted | |||
diakopter | wait. we were joking? | ||
masak | diakopter: sometimes we begin without you :P | ||
dalek | kudo/nom: bda4465 | (Elizabeth Mattijsen)++ | src/core/Exception.pm: Added Syntax::Perl5Var exception, to be used later at your convenience |
21:41 | |
TimToady | masak: one does not get too tired for silly jokes, one becomes too tired *of* silly jokes, silly! | ||
grondilu | r: say { .key => .value.sin }.WHAT | ||
camelia | rakudo 932bfc: OUTPUT«No such method 'key' for invocant of type 'Nil' in block at /tmp/6x91L4qPoi:1» | ||
frettled | masak: you were not talking in diakopese. | 21:42 | |
masak | TimToady: it's usually one or the other, thought. | ||
grondilu | rn: say { .key => .value.sin }.WHAT | ||
masak | though* | ||
camelia | rakudo 932bfc: OUTPUT«No such method 'key' for invocant of type 'Nil' in block at /tmp/cCEBDyMn_5:1» | ||
..niecza v24-88-g1f87209: OUTPUT«Unhandled exception: Unable to resolve method key in type Any at /tmp/K8GFZLFTP4 line 1 (mainline @ 6)  at /home/p6eval/niecza/lib/CORE.setting line 4579 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4580 (module-CORE @ 576)  at /home/p6… | |||
diakopter | lizmat-- # making us all look like slackeresises | ||
grondilu | rn: say {; .key => .value.sin }.WHAT | ||
camelia | rakudo 932bfc, niecza v24-88-g1f87209: OUTPUT«(Block)» | ||
lizmat | :-) | ||
masak | lizmat++ # for annoying diakopter with her commit rate | ||
frettled: "diakopese" sounds like something one would eat when one gets tired of Chinese and Vietnamese. | 21:43 | ||
frettled | masak: yes, definitively. I hope diakopter can cook. | 21:50 | |
21:53
araujo left
|
|||
masak .oO( Diakoptric Orthodox Church of Alexandria ) | 21:53 | ||
21:54
araujo joined
22:02
cooper_ joined
22:04
notjack left
22:05
donaldh left
22:07
REPLeffect joined
|
|||
masak | 'night, #perl6 | 22:14 | |
FROGGS | night masak | ||
# A fatal error has been detected by the Java Runtime Environment: | 22:16 | ||
# | |||
# SIGSEGV (0xb) at pc=0x0000000000000000, pid=7409, tid=46913064728320 | |||
ohh, must have done something wrong /o\ | |||
22:17
denisboyun left
22:21
dmol left
|
|||
lizmat | guess I'm still missing something essential about grammars | 22:21 | |
- | <!{ $*QSIGIL }> <.typed_panic: 'X::Syntax::SigilWithoutName'> | 22:22 | ||
+ | <!{ $*QSIGIL }> { | |||
+ $/.CURSOR.typed_panic( | |||
+ 'X::Syntax::Perl5Var', name => ~$<variable> ) | |||
but that just gives an empty string :-( | |||
$ perl6 -e 'say $*' | |||
===SORRY!=== Error while compiling -e | |||
Unsupported use of variable | |||
this is inside token variable, maybe that's the problem ? | 22:23 | ||
moritz | inside token variable, $<variable> probably doesn't make sense | ||
22:23
pecastro joined
|
|||
moritz | use $/ instead? | 22:23 | |
lizmat | hmmm… | ||
trying | |||
FROGGS | lizmat: that is token variable? | 22:24 | |
lizmat | yes | ||
FROGGS | does it actually match <variable> somewhere? | ||
lizmat | r: say $* | ||
camelia | rakudo bda446: OUTPUT«===SORRY!=== Error while compiling /tmp/PF3ket5YStNon-declarative sigil is missing its nameat /tmp/PF3ket5YSt:1------> say ⏏$* expecting any of: argument list prefix or term prefix or meta-prefix»… | ||
lizmat | I wanted to improve that, so it was matching on $*, if that answers your qiuestion | 22:25 | |
the above exception is X::Syntax::SigilWithoutName | |||
FROGGS | no, you want to pass ~$<variable>, but you never match a <variable> somewhere | 22:26 | |
lizmat | it *is* inside the token, yes | ||
so how do I get what matched so far ? | |||
moritz | $/ | ||
lizmat | ok, build almost complete | 22:27 | |
moritz | or rather ~$/ | ||
lizmat | yes, got that :-) | ||
FROGGS | that wont work | 22:28 | |
lizmat | $ perl6 -e 'say $*' | ||
===SORRY!=== Error while compiling -e | |||
Unsupported use of $ variable | |||
getting closer | |||
FROGGS | at the point you throw the exception you matched the sigil, and you failed to match a variable name | ||
you might can try to use $/.orig and $/.from | 22:29 | ||
and $/.pos | 22:30 | ||
lizmat | ok, will try | ||
moritz | or maybe simply match whatever you want to be reported | 22:31 | |
lizmat | ? | ||
moritz | right now the error is thrown after a negative look-ahead, which means it hasn't consumed the character | ||
lizmat | right, so I want the non-consumed character(s) | 22:32 | |
moritz | so maybe just writing <!{ $*QSIGIL }> . { block that dies } # if it's always just one more character | ||
moritz tries to sleep again | |||
lizmat | gnight moritz! | ||
dalek | p: 7a00808 | (Tobias Leich)++ | src/HLL/sprintf.nqp: ugly hack to render floats right, but it works |
22:37 | |
FROGGS | .tell colomon Only one nqp::sprintf / Hash.fmt issue left: github.com/perl6/roast/blob/master...ay02.t#L23 | 22:41 | |
22:45
skids joined
22:48
pmurias left
22:49
census joined
|
|||
lizmat | grr, I just realize that all of the Perl5Var exception stuff is already in the grammar | 22:54 | |
but it apparently never matches | |||
because the exception for missing name is thrown first | 22:57 | ||
23:04
PacoAir left
23:07
logie left
23:08
abnorman left,
logie joined
|
|||
lizmat | $ perl6 -e '$" =1' | 23:09 | |
===SORRY!=== Error while compiling -e | |||
Unsupported use of $" variable; in Perl 6 please use .join() method | |||
r: $"=1 | |||
camelia | rakudo bda446: OUTPUT«===SORRY!=== Error while compiling /tmp/EdhCU8eDCGNon-declarative sigil is missing its nameat /tmp/EdhCU8eDCG:1------> <BOL>⏏$"=1 expecting any of: statement list prefix or term prefix or meta-pref… | ||
23:10
raiph left
|
|||
lizmat | if I can get this to work reliably, it would mean I could rip out the "special_variable" token out of the grammar, about 200 lines out of 4000+, about 5% ? | 23:11 | |
TimToady, jnthn: would it make sense to reduce the grammar in that way, moving the burden of reporting/lookup to the Exception class ? | 23:12 | ||
will check backlog tomorrow, sleep now& | |||
23:13
logie left
23:16
abnorman joined
23:19
logie joined
23:26
xilo joined
23:27
thou left
|
|||
jnthn | 'night, #perl6 | 23:28 | |
23:51
abnorman left
23:52
abnorman joined
23:55
raiph joined
|