»ö« 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.
dalek kudo/moar-support: a2521ac | jnthn++ | src/ (2 files):
First pass at p6bindassert.
00:06
dalek p: b766b07 | jnthn++ | src/vm/moar/QAST/QAST (2 files):
Mechanism for auto-decont, and start using it.

Will likely have to mark some more ops up as needed, but this covers the cases Rakudo setting compilation immediately hits.
00:44
kudo/moar-support: 641fa0f | jnthn++ | src/core/traits.pm:
Remove debugging code.
00:47
kudo/moar-support: d525252 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
Implement type captures.
dalek kudo/moar-support: 5318273 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
Most of optional positional arg handling.
01:06
dalek kudo/moar-support: 6b33011 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
Fix a couple of binder thinkos.
01:16
dalek kudo/moar-support: 000c8fc | jnthn++ | src/vm/moar/ops/perl6_ops.c:
Stub p6capturelex out for now.

Needs a re-visit at some point.
01:28
tadzik I think our new Makefiles are confused 03:11
gist.github.com/tadzik/7508585 03:12
neither of those specifies what realclean is
moritz puts it onto his mental TODO list, but tries that "sleep" thingy first 03:29
tadzik we're 8 timezones away, and both sleepy. Curious :) 03:30
BenGoldberg n: say "\x[10ffff]".succ 04:58
camelia niecza v24-98-g473bd20: OUTPUT«WTF␤»
BenGoldberg r: say "\x[10ffff]".succ 04:59
camelia rakudo-parrot 5d2cbe: OUTPUT«===SORRY!===␤Invalid character for UTF-8 encoding␤␤»
..rakudo-jvm 5d2cbe: OUTPUT«===SORRY!===␤Invalid code-point U+10FFFF␤»
BenGoldberg r: say "\x[10ffff]"
camelia rakudo-parrot 5d2cbe: OUTPUT«===SORRY!===␤Invalid character for UTF-8 encoding␤␤»
..rakudo-jvm 5d2cbe: OUTPUT«===SORRY!===␤Invalid code-point U+10FFFF␤»
BenGoldberg n: say "\x[10ffff]"
camelia niecza v24-98-g473bd20: OUTPUT«\x{10FFFF}␤»
BenGoldberg rn: say "\x[10FFFd]".succ.chars 05:02
camelia rakudo-parrot 5d2cbe: OUTPUT«1␤»
..rakudo-jvm 5d2cbe: OUTPUT«2␤»
..niecza v24-98-g473bd20: OUTPUT«3␤»
BenGoldberg rn: say "\x[10FFFd]".succ.comb 05:07
camelia niecza v24-98-g473bd20: OUTPUT«W T F␤»
..rakudo-jvm 5d2cbe: OUTPUT«java.nio.charset.MalformedInputException: Input length = 1␤ in block at /tmp/gqosBJ4L1z:1␤ in any eval at gen/jvm/stage2/NQPHLL.nqp:1086␤ in any evalfiles at gen/jvm/stage2/NQPHLL.nqp:1292␤ in any command_eval at gen/jvm/stage2/NQPHLL.nqp:1196…»
..rakudo-parrot 5d2cbe: OUTPUT«􏿽␤»
dalek ecs: 7e64b6c | larry++ | S17-concurrency.pod:
make winner implicitly check a channel's done too

The concept of making a channel have a boolean operator to return the done promise was bad for two reasons: 1) the logic of it was backwards from promise booleans, and 2) making a boolean op return a non-boolean is just a bad idea, and the person who proposed it should be ashamed.
05:25
TimToady (boolean on a promise is still perfectly fine though) 05:26
TimToady-- for proposing that :) 05:28
dalek ecs: 1e5230f | larry++ | S17-concurrency.pod:
clarify why more/done distinction in winner works

more only makes sense on on channels, while done only works on promises, and hence will happily autocoerce a channel to its 'done' promise.
05:38
lue apparently, clearing out all parrot related things in /usr/local magically worked. Must've been some change between 5.9.0-version commits. 05:50
*sigh* nevermind, just me doing the usual simple messups. Stupid parrot... >:( 05:52
dalek ecs: d4ca726 | larry++ | S17-concurrency.pod:
some typos/fossils in combine

make $:v and $:k work as they do in winner
lue OK, the 2013.10 tagged NQP doesn't bail out on me. Is it git blame/bisect/* that lets me find the offending change? 05:55
FROGGS, jnthn, other interested parties: according to git bisect, commit fe517a2d50e719cf949cb1d27daa4ee1bb1538c0 of NQP is where I'm no longer able to use not-gen-parrot NQP. 06:09
TimToady r: say <a b>.combinations 06:11
camelia rakudo-jvm 5d2cbe: OUTPUT«No such method 'combinations' for invocant of type 'Parcel'␤ in block at /tmp/gwclTaRYDR:1␤ in any eval at gen/jvm/stage2/NQPHLL.nqp:1086␤ in any evalfiles at gen/jvm/stage2/NQPHLL.nqp:1292␤ in any command_eval at gen/jvm/stage2/NQPHLL.nqp:1196…»
..rakudo-parrot 5d2cbe: OUTPUT«No such method 'combinations' for invocant of type 'Parcel'␤ in block at /tmp/3kMfrLW1Na:1␤ in any at /tmp/3kMfrLW1Na:1␤ in any at gen/parrot/stage2/NQPHLL.nqp:1146␤ in any eval at gen/parrot/stage2/NQPHLL.nqp:1133␤ in any evalfiles at …»
TimToady r: say <a b>.list.combinations 06:12
camelia rakudo-jvm 5d2cbe: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤ in block at /tmp/itBcBO7Zv_:1␤ in any eval at gen/jvm/stage2/NQPHLL.nqp:1086␤ in any evalfiles at gen/jvm/stage2/NQPHLL.nqp:1292␤ in any command_eval at gen/jvm/stage2/NQPHLL.nqp:11…»
..rakudo-parrot 5d2cbe: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤ in method combinations at gen/parrot/CORE.setting:7994␤ in block at /tmp/2V5t_tjvcK:1␤ in any at /tmp/2V5t_tjvcK:1␤ in any at gen/parrot/stage2/NQPHLL.nqp:1146␤ in any eval …»
lue FROOGS, jnthn, o.i.p.: commenting out ASSERT_ARGS(COMPARE) in qrpa.pmc lets me go on, but I don't know the ramifications of doing this (assuming it'll finish compiling.)
TimToady r: say <a b>.list.combinations(0..2) 06:13
camelia rakudo-parrot 5d2cbe, rakudo-jvm 5d2cbe: OUTPUT«a b a b␤»
TimToady r: say <a b>.list.combinations(0..2).perl
camelia rakudo-parrot 5d2cbe, rakudo-jvm 5d2cbe: OUTPUT«((), ("a",), ("b",), ("a", "b")).list␤»
TimToady as list methods, combinations and permutations probably need to be in Any 06:14
r: say <a b>.list.combinations(0..*).perl
camelia rakudo-parrot 5d2cbe, rakudo-jvm 5d2cbe: OUTPUT«((), ("a",), ("b",), ("a", "b")).list␤»
TimToady also needs to default range to that one
TimToady is glad the methods are finally there though 06:16
lue agrees on both improvements 06:17
r: say <a b c>.list.combinations(0..1).perl
camelia rakudo-parrot 5d2cbe, rakudo-jvm 5d2cbe: OUTPUT«((), ("a",), ("b",), ("c",)).list␤»
TimToady r: say <a b c d e f g h>.list.combinations(0..*)[^20].perl 06:18
camelia rakudo-parrot 5d2cbe, rakudo-jvm 5d2cbe: OUTPUT«((), ("a",), ("b",), ("c",), ("d",), ("e",), ("f",), ("g",), ("h",), ("a", "b"), ("a", "c"), ("a", "d"), ("a", "e"), ("a", "f"), ("a", "g"), ("a", "h"), ("b", "c"), ("b", "d"), ("b", "e"), ("b", "f"))␤»
TimToady r: say <a b c d e f g h>.list.combinations(5..*)[^20].perl 06:19
lue so so the argument means "give me $x..$y elem combination lists", correct? (That's the only sensible thing I can see anyhow)
camelia rakudo-parrot 5d2cbe, rakudo-jvm 5d2cbe: OUTPUT«(("a", "b", "c", "d", "e"), ("a", "b", "c", "d", "f"), ("a", "b", "c", "d", "g"), ("a", "b", "c", "d", "h"), ("a", "b", "c", "e", "f"), ("a", "b", "c", "e", "g"), ("a", "b", "c", "e", "h"), ("a", "b", "c", "f", "g"), ("a", "b", "c", "f…»
TimToady yes
looks like we can simplify rosettacode.org/wiki/Subset_sum_problem#Perl_6 now 06:23
though it would appear to not work with the built-in now, perhaps due to a 'nodal' problem 06:30
TimToady no, more likely due to .combinations returning parcels rather than arrays 06:40
there's not much point in flattening there...
yeah, requires a .tree (and .lol still doesn't work, sigh), though I believe .combinations is specced to return a list of Array, or equivalent non-flattening object 06:43
so returning list of Parcel is wrongish
lue TimToady: I imagine S09 will/should receive S17's level of attention after S17 is done :) 06:45
TimToady it'll receive more attention when someone starts implementing it :) 06:46
r: <a b c>.list.combinations.lol.perl.say 06:48
camelia rakudo-jvm 5d2cbe: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤ in block at /tmp/psR41Ij02G:1␤ in any eval at gen/jvm/stage2/NQPHLL.nqp:1086␤ in any evalfiles at gen/jvm/stage2/NQPHLL.nqp:1292␤ in any command_eval at gen/jvm/stage2/NQPHLL.nqp:11…»
..rakudo-parrot 5d2cbe: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤ in method combinations at gen/parrot/CORE.setting:7994␤ in block at /tmp/KKVI9ndIGc:1␤ in any at /tmp/KKVI9ndIGc:1␤ in any at gen/parrot/stage2/NQPHLL.nqp:1146␤ in any eval …»
TimToady r: <a b c>.list.combinations(*).lol.perl.say
camelia rakudo-parrot 5d2cbe: OUTPUT«Cannot call 'combinations'; none of these signatures match:␤:(List : Int $of, Mu *%_)␤:(List : Range $of = { ... }, Mu *%_)␤ in any at gen/parrot/BOOTSTRAP.nqp:1218␤ in any at gen/parrot/BOOTSTRAP.nqp:1209␤ in method combinations at gen/pa…»
..rakudo-jvm 5d2cbe: OUTPUT«Cannot call 'combinations'; none of these signatures match:␤:(List : Int $of, Mu *%_)␤:(List : Range $of = { ... }, Mu *%_)␤ in any at gen/jvm/BOOTSTRAP.nqp:1201␤ in block at /tmp/gxt_Fn466O:1␤ in any eval at gen/jvm/stage2/NQPHLL.nqp:1086␤…»
TimToady r: <a b c>.list.combinations(0..*).lol.perl.say
camelia rakudo-parrot 5d2cbe, rakudo-jvm 5d2cbe: OUTPUT«LoL.new(ListIter.new())␤»
TimToady sigh
TimToady r: <a b c>.list.combinations(2).lol.[1].perl.say 06:51
camelia rakudo-parrot 5d2cbe, rakudo-jvm 5d2cbe: OUTPUT«Any␤»
emma hi guys. Do any of you ever make Irssi scripts? 08:16
FROGGS lue: that makes of course sense... 08:21
lue: I will care about today 08:23
dalek p: d7adc6c | (Tobias Leich)++ | src/vm/parrot/pmc/qrpa.pmc:
protect ASSERT_ARGS

These are for debugging only as it seems.
08:49
kudo/nom: 03c08f0 | (Tobias Leich)++ | tools/build/NQP_REVISION:
bump nqp revision, to get ASSERT_ARGS fix
08:51
FROGGS lue: that should fix it
FROGGS ticks TODO item 1 08:53
dalek kudo/moar-support: 5d2cbe4 | moritz++ | src/core/Backtrace.pm:
Fix classification of errors as coming from the setting

the build system refactor changed the file name of the generated CORE.setting file
08:56
kudo/moar-support: 03c08f0 | (Tobias Leich)++ | tools/build/NQP_REVISION:
bump nqp revision, to get ASSERT_ARGS fix
kudo/moar-support: 5f8369c | (Tobias Leich)++ | / (2 files):
Merge branch 'nom' of github.com:rakudo/rakudo into moar-support
dalek kudo/moar-support: 632b44b | (Tobias Leich)++ | Configure.pl:
display nqp+backend version info
09:51
FROGGS Using /home/froggs/dev/nqp/install/bin/nqp-p (version 2013.10-246-gd7adc6c / Parrot 5.9.0).
Using /home/froggs/dev/rakudo/../nqp/install/bin/nqp-j (version 2013.10-246-gd7adc6c / OpenJDK 1.7.0_25).
Using /home/froggs/dev/rakudo/../nqp/install/bin/nqp-m (version 2013.10-246-gd7adc6c / MoarVM 2013.10-138-g9e56dc1).
dalek kudo/moar-support: 5641202 | (Tobias Leich)++ | tools/build/Makefile-Moar.in:
rules like m-install should only care about moar
09:56
moritz should realclean delete config.status too? 10:02
FROGGS I dunno 10:03
dalek kudo/moar-support: adfa55e | (Tobias Leich)++ | tools/build/Makefile-Moar.in:
add dynext/*.[o|so] files to rule m-clean
10:04
FROGGS moritz: are you adding the rule `realclean` or shall I? 10:05
moritz FROGGS: I'm doing it
FROGGS k
I thought so :o)
btw, we should either add a \n to $outfile in fill_template_file or add another newline to every Makefile.in 10:07
because slurp seems to remove one
and the generated makefile looks weird at "j-testclean:"
k, all TODO items ticked :o) 10:08
moritz I have a local patch for realclean, but I need to finish rebuilding NQP to be able to test it 10:14
dalek kudo/moar-support: 193eda0 | moritz++ | tools/build/Makefile- (4 files):
clean up realclean
10:15
FROGGS moritz: do you still have problems to build rakudo@moar? 10:17
moritz FROGGS: haven't tried yet 10:18
FROGGS: same problem as before 10:21
FROGGS moritz: and you made realclean in moarvm? 10:23
dalek kudo/moar-support: ab3f1a8 | moritz++ | tools/lib/NQP/Configure.pm:
[Configure] add source comments to generated Makefile
FROGGS ohh, that is better 10:24
moritz not yet, trying again with realclean
FROGGS and I fetch a fresh rakudo, and try a --gen-nqp --gen-moar 10:25
timotimo ohai o/ 10:42
FROGGS o/ 10:44
timotimo GlitchMr: your $a (+=) 1 is missing the important "cas" part on the right hand side 10:48
dalek p: 596687d | (Tobias Leich)++ | tools/build/MOAR_REVISION:
bump moar revision
11:03
kudo/moar-support: 4451f60 | (Tobias Leich)++ | tools/build/NQP_REVISION:
bump nqp rev which bumps moar rev
11:05
itz Error while compiling op p6captureouters: No registered operation handler for 'p6captureouters' at gen/moar/stage2/QAST.nqp:4047 (/home/steve/sandbox/m0ar/MoarVM/languages/nqp/lib/QAST.moarvm:frame_name_1120:52) 11:24
thats with moarvm of 20 min or so old and moar-support 11:25
timotimo yeah, could be 11:26
you could stub it if you want to :P 11:27
itz I see moar seems to host nqp now how near on rakudo on moar? 11:32
s/near on/near is
timotimo jnthn is getting to like ~700 of the CORE.setting 11:33
line*
jaffa4 hi all 11:45
timotimo hi
FROGGS itz: the error you get is the thing where we are now, yes
itz ok thanks just checking I hadn;t messed up! 11:46
FROGGS :o)
timotimo yay, i get further 11:47
FROGGS \o/ 11:49
timotimo Error while compiling op p6captureouters: No registered operation handler for 'p6captureouters' 11:50
\o/
FROGGS yeah baby :o)
timotimo juggles lots of prefixes 12:14
i should flatten out this hierarchy
moritz one prefix to rule them all! 12:24
jaffa4 Lexical '$*LINEPOSCACHE' not found in dynamic scope 12:37
FROGGS jaffa4: just declare it before calling .parse 12:58
jaffa4 ok. htanks 13:01
dalek kudo/moar-support: 0a4172e | (Tobias Leich)++ | / (2 files):
allow --gen-moar to be passed to nqp
kudo/moar-support: 70290ce | (Tobias Leich)++ | / (2 files):
--gen-moar implies --backends=moar, moritz++
13:11
FROGGS moritz: ^^
dalek kudo/moar-support: 7bf18a5 | jnthn++ | src/vm/moar/ (2 files):
An attempt at p6captureouters.
14:26
osystem: fd4e091 | jaffa4++ | META.list:
Update META.list
14:27
dalek p: ce7482c | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
Scatter more auto-decont.
14:41
kudo/moar-support: ab46918 | (Tobias Leich)++ | Configure.pl:
--gen-moar implies --gen-nqp
colomon no chatter this morning, just commits, eh? 14:44
jnthn Shhh! :P 14:45
BenGoldberg rn: .say, .chars.say for "\x[10FFFD]", "\x[10FFFD]".succ; 15:38
camelia niecza v24-98-g473bd20: OUTPUT«􏿽␤2␤WTF␤3␤»
..rakudo-parrot 03c08f: OUTPUT«􏿽␤1␤􏿽␤1␤»
..rakudo-jvm 03c08f: OUTPUT«􏿽␤2␤􏿽␤2␤»
BenGoldberg rn: .comb.say for "\x[10FFFD]", "\x[10FFFD]".succ; 15:39
camelia rakudo-parrot 03c08f: OUTPUT«􏿽␤􏿽␤»
..niecza v24-98-g473bd20: OUTPUT«􏿽␤W T F␤»
..rakudo-jvm 03c08f: OUTPUT«java.nio.charset.MalformedInputException: Input length = 1␤ in block at gen/jvm/CORE.setting:7258␤ in block at gen/jvm/CORE.setting:7122␤ in method gimme at gen/jvm/CORE.setting:7540␤ in block at /tmp/NSku78nOvd:1␤ in any eval at gen/jvm/s…»
BenGoldberg A little consistancy would be nice :P 15:40
dalek kudo/moar-support: 7d98d41 | jnthn++ | src/vm/moar/ (2 files):
p6box_[ins] for Moar.
15:42
kudo/moar-support: 1530675 | jnthn++ | src/vm/moar/Perl6/Ops.nqp:
Fix p6bindassert code-gen.
kudo/moar-support: d865340 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
Named slurpy param binding.
kudo/moar-support: 0e26597 | jnthn++ | src/vm/moar/Perl6/Ops.nqp:
Set up boxing handling.
jnthn BenGoldberg: They consistently think yo're doing something weird :P 15:43
BenGoldberg Well, I try to be consistently weird :) 15:45
Parrot's probably the most correct there -- it's a string of just one codepoint, no matter how many bytes it takes up. 15:46
xinming sorry again if I just post the question to wrong channel. (network disconnection) 16:03
dalek kudo/moar-support: 864b986 | jnthn++ | src/vm/moar/Perl6/Ops.nqp:
Better bind fail error reporting.
16:11
colleen93 a/s/l? 17:25
tadzik: thanks for inviting me here. But no one wants to cyber. 17:27
tadzik :|
jnthn tadzik: You might have mis-explained what we do here... :P 17:27
TimToady is not familiar with "cyber" as a verb. :)
tadzik well I do :P
jnthn: oh, colleen93 knows exactly what we're doing here 17:28
TimToady Mostly we just cyber Perl 6 here, and anything related to it, which is pretty much everything... 17:29
colleen93 'perl6: say 3;'
TimToady doesn't want the quoteses 17:30
nwc10 r: say any('male', 'female', 'bot')
camelia rakudo-parrot 03c08f, rakudo-jvm 03c08f: OUTPUT«any(male, female, bot)␤»
jnthn r: say ('male', 'female', 'bot').pick 17:31
camelia rakudo-parrot 03c08f, rakudo-jvm 03c08f: OUTPUT«female␤»
nwc10 r: say ('male', 'female', 'bot').pick
camelia rakudo-parrot 03c08f: OUTPUT«male␤»
..rakudo-jvm 03c08f: OUTPUT«bot␤»
nwc10 good. it is at least slightly random
timotimo you can't know that 17:32
nwc10 well, it's not identical. I guess the random number generator isn't simply returning 42
colleen93 timtimo: a/s/l? 17:33
colleen93 rakudo: niecza: std: eval 17:37
camelia rakudo-parrot 03c08f, rakudo-jvm 03c08f: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling proto of 'eval' requires arguments (lines 1, 1)␤ Expected: :(, )␤»
timotimo huh, that's unexpected.
colleen93 tadzik: brt. cu in a bit 17:39
dalek p: b97cea4 | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
Implement nqp::chain compilation.
17:48
jaffa4 could anyone try to install a module? 17:52
some files are not installed when a I use a module 17:53
moritz successfully installed a module 17:54
jaffa4 try Perl6::Format
is fomat.pm installed for you?
format.pm
dalek kudo/moar-support: 92a6a5f | jnthn++ | src/vm/moar/ops/perl6_ops.c:
Get p6capturelex working.
17:58
dalek kudo/moar-support: 9fe03f6 | jnthn++ | src/vm/moar/ (2 files):
Implement p6var.
18:15
dalek kudo/moar-support: 30b66f0 | jnthn++ | src/vm/moar/Perl6/Ops.nqp:
First pass at p6return.
19:01
kudo/moar-support: 486c40c | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
Auto-boxing of native args.
cirnopaws Is this where I into perl 6? 19:03
FROGGS cirnopaws: what? 19:03
cirnopaws: you are missing a verb 19:04
jnthn I think for most verbs I can think of, the answer is "yes" though :)
FROGGS true
:o)
cirnopaws hooray
FROGGS cirnopaws: welcome :o) 19:05
moritz p: say 'this is also the channel where #perl6 you, cirnopaws' 19:06
camelia rakudo-parrot 03c08f: OUTPUT«this is also the channel where #perl6 you, cirnopaws␤»
cirnopaws woah did perl 5 have a repl? 19:11
moritz cirnopaws: not built-in 19:12
but there's a popular one on CPAN, Devel::REPL iirc
lee_ there is another called reply metacpan.org/pod/release/DOY/Reply.../bin/reply 19:14
it works out of the box, unlike Devel::REPL 19:15
dalek kudo/moar-support: f976a4a | jnthn++ | src/core/GatherIter.pm:
Make GatherIter contain something we can compile.

Just dies with NYI for now.
19:16
cirnopaws I'm on windows for whatever reason. I installed rakudo-star, do I have to fix any path variables to use modules and what-not? 19:18
moritz probably include C:\Rakudo\bin in PATH 19:19
cirnopaws ty 19:20
dalek kudo/moar-support: c502b75 | (Tobias Leich)++ | src/core/ (2 files):
moar behaves like jvm here
cirnopaws who has a good joke 19:53
FROGGS probably the CIA 19:55
(the hear much, you see)
japhb_ "Type check failed in assignment to '$!a'; expected 'Int' but got 'Int'" -- Now what the heck does *that* mean? 20:02
moritz japhb_: are you using any foreign call stuff, or custom REPRs or so? 20:03
japhb_ wonders if somehow the meaning of Int changed between BEGIN time and run time
No custom REPRs, no foreign call. But I am using the metamodel to build the class in question.
flussence maybe you used a "but" somewhere? 20:04
or some subtype clause...
moritz r: sub f(Int $x) { say 42 }; { my constant Int = Str; f(Int) }
camelia rakudo-parrot 03c08f, rakudo-jvm 03c08f: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling 'f' will never work with argument types (Str) (lines 1, 1)␤ Expected: :(Int $x)␤»
flussence I've had that problem before though I don't remember how I caused it
timotimo hehehe
moritz r: sub f(Int $x) { say 42 }; { my class Int { } f(Int) }
camelia rakudo-parrot 03c08f: OUTPUT«===SORRY!=== Error while compiling /tmp/xhfqRafKRo␤Two terms in a row␤at /tmp/xhfqRafKRo:1␤------> (Int $x) { say 42 }; { my class Int { } ⏏f(Int) }␤ expecting any of:␤ statement list␤ h…»
..rakudo-jvm 03c08f: OUTPUT«===SORRY!=== Error while compiling /tmp/bNhHXVvUcz␤Two terms in a row␤at /tmp/bNhHXVvUcz:1␤------> (Int $x) { say 42 }; { my class Int { } ⏏f(Int) }␤ expecting any of:␤ statement list␤ hori…»
japhb_ flussence: No 'but's 20:05
FROGGS r: sub f(Int $x) { say 42 }; { my class Int { }; f(Int) }
moritz well, 'but' is also just implemented with the MOP
camelia rakudo-parrot 03c08f, rakudo-jvm 03c08f: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling 'f' will never work with argument types (Int) (lines 1, 1)␤ Expected: :(Int $x)␤»
japhb_ But I'm not redefining Int ... 20:06
moritz that's what they all say :-)
japhb_ Here, give me a sec, I'll push
moritz often such bad error messages are related to parameterized types or mixins
jaffa4 cirnopaws: you need that , especially if you use panda. 20:07
dalek -pb: c75a77e | (Geoffrey Broadwell)++ | lib/PB/Model/Generator.pm:
WIP: Continuing work on PB::Model::Generator
20:09
japhb_ moritz: github.com/samuraisam/p6-pb/blob/m...tor.pm#L37 and following 20:11
Things actually get interesting around line 76, when the fields are converted to attributes. 20:12
moritz japhb_: try to bind to $type rather than assigning 20:16
japhb_: otherwise you pass a container to as a the type constraint 20:17
japhb_ smacks his forehead 20:17
I bet that's exactly it
gah 20:18
jnthn Then file a ticket so we can add the appropriate nqp::decont into the MOP code :)
moritz japhb_: but printing a container actually prints the contents, which is why it it says "expected Int" instead of "expected Scalar" 20:18
japhb_ moritz: Yeah, and annoyingly, .WHERE sees through the container as well, so I couldn't tell I had different Ints. :-( 20:20
My test program gets much farther now, THANK YOU. 20:21
(I should use DUMP more often)
moritz japhb_: you're welcome
moritz tries to find out how Attribute initializes $!type 20:27
moritz ah, there's a .new method added in BOOTSTRAP.nqp 20:29
dalek -pb: 7a984ac | (Geoffrey Broadwell)++ | lib/PB/Model/Generator.pm:
Fix tricky PB::Model::Generator bugs; moritz++
jnthn yeah, that's the place to look
moritz spectesting the patch... 20:31
jnthn moritz++ 20:32
dalek -pb: 487caad | (Geoffrey Broadwell)++ | lib/PB/Binary/Writer.pm:
Easy parts of PB::Binary::Writer::write-message()

Only handles the very simplest cases, but it's a start.
20:33
dalek p: dbe228b | (Tobias Leich)++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
mapped nqp::readfh
20:35
moritz bah, rakudo on parrot doesn't build anymore with a ulimit of 1.5GB RAM 20:43
and 2GB doesn't prevent the spectests from freezing
cirnopaws try 16
moritz ENO16GB 20:44
flussence throw swapfiles at it until it stops complaining? that's usually how I deal with it on my netbook... 20:45
moritz flussence: then it won't stop the laptop from freezing :-)
timotimo use zram :P
(last time i tried zram to get rakudo to compile better without swap, it froze my whole system) 20:46
cirnopaws download more ram 20:47
moritz compile without ulimit, spectest with ulimit
ok, my patch compiles, that's a good first step 20:48
jnthn Just don't do anything with usmile...
dalek ecs: d318f70 | (Geoffrey Broadwell)++ | S13-overloading.pod:
Fix 'is exported' typo in S13
20:49
dalek p: a91bdb0 | (Tobias Leich)++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
mapped nqp::writefh
20:53
dalek kudo/moar-support: 9c2ae9b | (Tobias Leich)++ | src/core/IO.pm:
use readfh/tellfh/writefh on moar too
20:54
japhb_ is very happy to see the virtual hackathon going on today 20:55
dalek kudo/moar-support: e5bf94a | jnthn++ | src/vm/moar/Perl6/Ops.nqp:
Implement p6argvmarray.
20:59
moritz t/spec/S32-io/other.t aborts after 34 tests on rakudo-parrot for me 21:06
anybody else seen that? 21:07
dalek kudo/nom: 087165f | moritz++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
decontainerize type constraints in Attribute.new
21:08
moritz japhb_: that should make your recent commit unnecessary
japhb_ Thanks, moritz. 21:17
lue
.oO(Hm. How *does* rakudo know where the setting is by default?)
21:18
FROGGS moritz: all 60 tests pass here 21:19
jaffa4 FROGGS: what tests?
FROGGS <moritz> t/spec/S32-io/other.t aborts after 34 tests on rakudo-parrot for me
dalek kudo/moar-support: c9ff211 | jnthn++ | src/vm/moar/ (2 files):
Implement p6list.
21:33
japhb_ What's the shorter way to say 'use Foo::Bar; constant Quux = Foo::Bar::Baz; # Now use Quux::Beer instead of Foo::Bar::Baz::Quux::Beer'? And is it implemented yet? 21:38
FROGGS japhb: use Foo::Bar:name<Quux>, which is NYI 21:39
well, sort of
I dunno if you could alias a symbol what you are currently immporting... 21:40
dalek kudo/moar-support: 5f60529 | jnthn++ | src/vm/moar/Perl6/Ops.nqp:
Implement p6bindattrinvres.
21:42
FROGGS japhb: can't find it in S11 21:44
FROGGS japhb: use Foo::Bar:name<Quux> would just alias Foo::Bar to Quux, you could access Quux::Baz::Beer then 21:44
japhb_ Nothing like asking a question, and immediately being pulled away from the computer ... 22:11
japhb_ FROGGS: Roger that 22:12
FROGGS :o) 22:13
and fwiw, it should be doable to implement that kind of aliasing
dalek kudo/moar-support: 6820ab7 | jnthn++ | src/vm/moar/ (2 files):
Partial p6scalarfromdesc implementation.
22:17
kudo/moar-support: f870efd | jnthn++ | src/vm/moar/Perl6/Ops.nqp:
Fix thinkos in p6bindattrinvres.
kudo/moar-support: 1613c7f | jnthn++ | src/vm/moar/Perl6/Ops.nqp:
Implement p6definite.
FROGGS O.o 22:18
lizmat_ reading S11:391, I wonder whether "later" shouldn't be called "idle" 22:35
synopsebot Link: perlcabal.org/syn/S11.html#line_391
FROGGS you mean S17:391 22:38
synopsebot Link: perlcabal.org/syn/S17.html#line_391
FROGGS funny thing is that S11 has an "later" near that place :o)
lizmat_ oops, yeah, you're right :-) 22:39
jnthn Wonder if I can find tuits to try and get the new syntax in before the NPW talk...
lizmat_: BTW, on NPW - I'll be teaching on the Friday, but am free on the evening to do any pre-conf meetup. 22:40
lue lizmat_: s/later/⌛/ clearly. :)
jnthn lizmat_: On Sunday I gotta travel to Stockholm... 22:41
lizmat_: Dunno when you're planning on coming/going.
lizmat we're planning on getting in Copenhagen on Wed evening 22:41
jnthn Oh wow...
lizmat see some sights
jnthn That's way early :)
Yeah ;)
lizmat hope the weather will cooperate
jnthn It's not bad here. 22:42
lizmat and on Thu I need to do the Rakudo release
jnthn ook
pippo o/ #perl6 22:43
lizmat jnthn: wrt to Channel.peek: how about it really doing a .poll, but keeping the result in the object until *the same thread* calls .poll ? 22:44
pippo lizmat: Hello. Finally I reach you again. 22:45
jnthn lizmat: That feels risky to me...
lizmat sorry, distracted by a number of things
jnthn lizmat: I think it's one of those semantics we'd look back on and think, "wtf..."
lizmat yeah, the moment I wrote it, my hair on the back of my neck went up
maybe we need to get rid of .peek altogether 22:46
jnthn Well, using it is kinda asking for trouble
I can think of the odd legit use
pippo lizmat: I found the problem on (^20_000).join(',').split(','). I.e. why on your machine is fast and on mine is slow. 22:47
lizmat ok, what was it ? 22:49
pippo lizmat: I think that the problem lies on the fact that map is lazy. If you ask to calculate last element of the array (i.e. (^20_000).join(',').split(',')[19_999]) you'll see what I mean ;-) 22:50
lizmat ahhh..... good point
lizmat hmmm... still "fastish" here: 22:53
$ time perl6 -e 'say (^20_000).join(",").split(",")[19_999]'
19999
real0m12.825s
$ time perl6-p -e 'say (^20_000).join(",").split(",")[19_999]' 22:54
19999
real0m17.934s
pippo what if you try this sintax: (^20_000).join(',').split(',')[*-1]
what if you try this syntax: (^20_000).join(',').split(',')[*-1]
lizmat $ time perl6-p -e 'say (^20_000).join(",").split(",")[*-1]' 22:57
19999
real1m0.156s
pippo And if you ask to print the entire array? 22:58
lizmat that will simply take longer again because of either the joining or the writing
$ time perl6 -e 'say (^20_000).join(",").split(",")[*-1]' 22:59
Unhandled exception: java.lang.OutOfMemoryError: Java heap space
that's the jakudo versin
jnthn Hm, that wants profiling...
lizmat gather/take on jakudo, jnthn 23:00
we know it has problems, no?
jnthn Yeah, it stack overflows...
And maybe other things...
It's a quite horrible bug. 23:01
If it's me who's going to fix it, I'll look at it when I do gather/take on MoarVM.
I gotta understand the stuff in depth then anyway.
lizmat indeed 23:02
jnthn Thing that bothers me is the error is about *heap* space, not stack...
lizmat that single line of code too 4G of RAM
jnthn If it was about stack space I could comfortably attribute it to the bug I know.
But the fact it's heap makes me think there's more to it.
lizmat FWIW, on parakudo, that code eats up to 8G of RAM 23:04
jnthn eek 23:05
OK, so it's nothing backend specific 23:06
dalek ecs: 73baf14 | (Elizabeth Mattijsen)++ | S17-concurrency.pod:
Some close/done fiddling, plus the -> a sender

Which makes we wonder, whether we shouldn't have a "keeper" for channels as well.
jnthn That want ssome good in-depth analysis to work out what's going on.
lizmat I can't help but wonder whether it is some list reification issue 23:07
jnthn I think so.
dalek -pb: adb9120 | (Geoffrey Broadwell)++ | lib/PB/ (3 files):
Factor out RepeatClass enum to its own module
23:08
-pb: e1838b5 | (Geoffrey Broadwell)++ | lib/PB/Model/Generator.pm:
Quiet debug output; add reminder comment

Comment out the debug say's in PB::Model::Generator, and add a reminder comment to deal with redefining existing message classes.
-pb: 87d6d28 | (Geoffrey Broadwell)++ | lib/PB/Binary/Writer.pm:
Handle submessages in PB::Binary::Writer::write-message()
pippo jhnthn: when you'll look at this pb on Moar do not forghet also this one: my %h; for ^20_000 {%h.push($_ => $_)}
jhntn: which gives ... java.lang.OutOfMemoryError: Java heap space
dalek ecs: 2b89a45 | (Elizabeth Mattijsen)++ | S17-concurrency.pod:
Remove Channel.peek, it is too dangerous

And a remnant from Thread times.
pippo jnthn: when you'll look at this pb on Moar do not forghet also this one: my %h; for ^20_000 {%h.push($_ => $_)} 23:10
jnthn: which gives ... java.lang.OutOfMemoryError: Java heap space
lizmat and on that note, I bid you all a good night!
jnthn 'night, lizmat
FROGGS gnight lizmat
pippo o/ gnight
pippo good night #perl6 23:46
timotimo jnthn: if you can give me a bit of guidance, i can try to make the new syntax for winner work 23:46
i'm just not sure what exactly it needs to spit out 23:47
jnthn timotimo: Ah, cool. I think the best way is to write a WINNER that takes arguments. Maybe just thing, block, thing, block, and default (I think "later"?) as a named maybe. 23:48
timotimo: And just emit a call to that.
timotimo do i have to treat "more" and "done" differently? 23:49
i'm thinking i may have to write kind, thing, block, kind, thing, block instead for the arguments 23:50
jnthn oh, huh...
lemme check the latest spec
timotimo iirc "more" fires if a channel has an item ready and "done" for a channel will fire if the channel's closed?
jnthn oh wow 23:51
that's changed more than I realized...
timotimo when is that talk? 23:52
jnthn Saturday :)
timotimo i could make that 23:52
jnthn :)
jnthn Yeah, agree on the "kind" thingy 23:53
jnthn Or at least that we need to distinguish them somehow to the primtive. 23:54
timotimo should that be an integer or a string?
jnthn The operative sentence is "This works because more only ever works on channels, while done only ever works on promises, so it knows to check the promise of channel $c rather than $c itself."
timotimo ah, done only works on promises, that's good to know.
jnthn Yeah, but it means you need to grab the appropriate promise from the channel 23:55
timotimo winner $p1, $p2 { done $p1 { ... }; done $p2 { ... } } # do we need the redundancy for $p1 and $p2 here? 23:55
jnthn That's what I'm kinda wondering...
I was a little surprised to see that 23:56
timotimo i guess it's useful for the "done * { ... }" case
but in the other cases it seems purely redundant
jnthn I wonder if we can say you only have to mention such things if you're gonna use the *
And even then you can mention others in the done/more clauses. 23:57
Something still feels a tiny bit off with that...
timotimo so the arguments to winner will be fed to any (well, "the one") block with a *, and any additional "done" blocks can fire as well. huh. 23:58