»ö« 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! ! temporary logs at colabti.org/irclogger/irclogger_log/perl6
Set by moritz on 29 April 2013.
labster timotimo: can I request nqp::readlink while you're there? 00:10
dalek kudo/nom: d2af402 | pmichaud++ | tools/build/NQP_REVISION:
Bump NQP_REVISION to get ?-quantifier update and is-prime fixes.
00:15
timotimo labster: i was going to make as many as i can until i fall over into a bed of some sort :) 00:30
labster it's a new feature, though 00:31
it looks like Files.readSymbolicLink is the thing, though
timotimo it's new? 00:32
well, i guess i can implement it for both VMs. except i really don't know how to implement it for parrot yet. i will investigate, though
labster There's no readlink op in Parrot. Though I am bugging them for one.
timotimo right. you expect readline to return a new path? 00:33
as a string, i suppose
labster yes, so then we can pass it to our own version of Path later. 00:34
labster github.com/parrot/parrot/issues/967 Honestly, I have no idea how to respond to dukeleto here... I'm not a parrot dev. 00:36
pmichaud labster/timotimo: just implement the readlink op as nqp_readlink in the nqp repository 01:29
much easier than waiting for Parrot to do it :)
assuming it needs to be an op, that is. 01:31
pmichaud checks 01:32
labster I need it for IO::Path.resolve. Though I imagine it would be useful elsewhere. 01:34
pmichaud no, Parrot has it implemented as a method on the OS object.
so, it should likely be implemented that way
hmmmm
labster does it? I can't read parrot's source at all. 01:35
pmichaud sorry, I was being confusing above. 01:36
Parrot's symlink operation is written as a PCC method on the OS PMC type.
github.com/parrot/parrot/blob/mast...s.pmc#L243 01:37
Parrot doesn't yet support a readlink operation.
If it's to get one, it should likely be written as a PCC method on the OS PMC type as well -- i.e,. as part of os.pmc
and to be fully consistent, should probably write Parrot_file_readlink in the same place that Parrot_file_symlink is written. 01:38
labster can you comment here for me then? github.com/parrot/parrot/issues/967 please?
pmichaud I'll try. Not sure I'll have much more success than you've had :) 01:40
labster "Waiting for Parrot" would make a good play. 01:41
dalek rl6-roast-data: e7df8e9 | coke++ | / (3 files):
today (automated commit)
01:42
rl6-roast-data: e3d56af | coke++ | / (3 files):
today (automated commit)
pmichaud added comment as github.com/parrot/parrot/issues/96...t-17264702 01:46
labster Thanks much. Let's hope it works. 01:48
colomon nr: say "1,3..5,6".eval.perl 02:41
camelia rakudo d2af40, niecza v24-37-gf9c8fc2: OUTPUT«(1, 3..5, 6)␤»
colomon nr: my @a = "1,3..5,6".eval; say @a.perl 02:42
camelia rakudo d2af40: OUTPUT«Array.new(1, 3, 4, 5, 6)␤»
..niecza v24-37-gf9c8fc2: OUTPUT«[1, 3, 4, 5, 6].list␤»
colomon n: say [(+)] set(1,2, 5); 02:45
camelia niecza v24-37-gf9c8fc2: OUTPUT«Unhandled exception: No value for parameter '$b' in 'infix:<(+)>'␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (infix:<(+)> @ 1) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2630 (reduceop @ 12) ␤ at /tmp/TWPQ9U446Y line 1 (mainline @ 4) ␤ at /hom…
colomon whoops 02:46
n: say [+] 2 02:47
camelia niecza v24-37-gf9c8fc2: OUTPUT«2␤»
colomon just tried using Set in the ABC module, and is finding oodles of Set bugs as a results... 02:57
n: say Rat 02:58
camelia niecza v24-37-gf9c8fc2: OUTPUT«(Rat)␤»
colomon rn: say Set 03:01
camelia niecza v24-37-gf9c8fc2: OUTPUT«Unhandled exception: Parameter '' in 'Set.gist' requires a defined argument␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (Set.gist @ 1) ␤ at /home/p6eval/niecza/lib/CORE.setting line 1362 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 1364…
..rakudo d2af40: OUTPUT«(Set)␤»
colomon trying to debug your code AND your perl6 implementation at the same time is a pain. 03:05
moritz_ \o 05:10
pmichaud moritz_: \o 05:11
perigrin o/
diakopter perigrin: O_O 05:12
moritz_ status update: I've ordered a VPS at my $work; today is a holiday, I hope it's ready tomorrow; then I'll set up the IRC logs and other stuff again 05:13
diakopter moritz_: did you have a backup?
moritz_ diakopter: yes
diakopter <whew!>
moritz_ nightly dumped into dropbox 05:14
diakopter nice.
is it a bad sign that my mailman-generated parrot-dev password is a bad word? 05:15
moritz_ and ilbot_bck runs on feather now to gather logs until the new host is up
dalek ar: efbe3ad | pmichaud++ | modules/ (13 files):
Bring modules up-to-date for 2013.04 release.
06:15
ar: e050eea | pmichaud++ | / (3 files):
Add draft 2013.04 announcement.
ar: baae3b6 | pmichaud++ | docs/announce/2013.03.md:
Remove 2013.03 draft announcement -- there was no 2013.03 Star release.
dalek p: 3d5e761 | pmichaud++ | src/vm/parrot/stage0/ (9 files):
Update parrot bootstrap with ?-quantifier changes.
06:17
dalek ar: 8763435 | pmichaud++ | / (2 files):
Update release number.
06:40
d: 316b40b | pmichaud++ | STD.pm6:
Add some explanation for :iffy and :diffy.
06:47
moritz_ pure doesn't seem to be checked during the parse 06:51
so it's probably pure in the sense it's used in functional programming (side effect free, reproducible) 06:52
dalek p: 1b11be1 | pmichaud++ | src/QRegex/Cursor.nqp:
Convert NQPRegex.ACCEPTS to be multimethods based on concrete-ness.
06:53
pmichaud rakudo star release candidate at pmichaud.com/sandbox/rakudo-star-20...rc1.tar.gz 07:10
moritz_ can sombody explain to me why commit 16fa719ecaa655688a37e5942eeadc96b18e3a30 in nqp was necessary?
is it because otherwise no space for the result is allocated on the stack, with some compilers? 07:11
pmichaud the candidate gives me a large number of errors when running "make modules-test" -- see gist.github.com/pmichaud/5494118
FROGGS morning 07:12
nwc10 moritz_: what is the type of $1? If it's not the same size as int, then you can't (correctly) pass a pointer to the wrong-sized thing
there was a chunk of code in the perl 5 core over a decade ago that did that sort of cast on pointers, which had to be fixed 07:13
Jarkko tended to find most of them first, because he was using Alphas
moritz_ nwc10: ah, I don't really what the type of $1; might well have been wrong 07:14
pmichaud moritz_: my best guess is that on some systems, INTVAL != int
moritz_ from pmichaud's gist: Could not find file 'rfc3896IETF::RFC_Grammar::URI' for module rfc3896IETF::RFC_Grammar::URI
pmichaud (INTVAL is Parrot's notion of what goes in an integer register, which might not be the same as the compiler's notion of the 'int' type)
moritz_ uhm, copy&paste gone wrong 07:15
there seems to be a tab character in the error message
which suggest that there's something funny going on in require
FROGGS moritz: Could not find *file* ... for .... 07:16
it thinks it is a file, rather than a module
that is because there is a: use 'Module::Name' or require 'Module::Name', which is wrong
moritz_ so it needs to be fixed to use ::($modulename) ?
FROGGS yeah
moritz_ and Bailador seems to be missing PSGI as a prerequisite 07:17
same for jsonrpc
FROGGS or better: ModuleName:file($modulename)
err, scratch that
pmichaud bedtime here; leave suggestions for star fixes in backscroll... I'll try to look them over tomorrow morning 07:19
(which is really "later this morning" for most of us) 07:20
bbl
FROGGS sleep well
moritz_ 1) add PSGI to star 2) fix the require(s) in URI 07:22
dalek /cool: a59247e | (Tobias Leich)++ | lib/Perl6/P5Grammar.pm:
I hope that fixes \x...
07:31
/cool: 7f24f01 | (Tobias Leich)++ | lib/Perl6/P5Actions.pm:
wrong approach for supporting chop, will be changed
/cool: 311d5e3 | (Tobias Leich)++ | lib/ (3 files):
a try to replace Cool from CORE.setting with our own fivy stuff
: a59247e | (Tobias Leich)++ | lib/Perl6/P5Grammar.pm:
I hope that fixes \x...
07:32
: 7f24f01 | (Tobias Leich)++ | lib/Perl6/P5Actions.pm:
wrong approach for supporting chop, will be changed
moritz_ seems that rt.perl.org is down 07:38
hoelzro ahoy #perl6! 07:44
FROGGS hi hoelzro
sorear o/ 07:47
FROGGS \o 07:50
rindolf Hi hoelzro, FROGGS 07:59
hoelzro hello rindolf 08:00
FROGGS hi rindolf 08:01
rindolf What's up? 08:02
FROGGS v5-hacking
rindolf FROGGS: nice. 08:04
masak 8 hours until the #masakism workshop.
hoelzro \o/ 08:05
FROGGS masak++ 08:10
FROGGS now it is like 9 hours 08:10
masak ;) 08:15
timotimo yaaaaawn 08:21
FROGGS moin timotimo 08:22
timotimo hey froggs 08:40
FROGGS o/ 08:41
jnthn o/ 09:58
FROGGS hi jnthn
jnthn: that is the code with a Cool.pm, and load_module: github.com/rakudo-p5/v5/commit/311d5e3bd0 09:59
timotimo i'm confused. nqp with -e works, but when i type it into stdin nothing happens 10:03
this is known, yes?
lack of readline library?
FROGGS timotimo: nqp on parrot?
jnthn FROGGS: If you're putting it in a module you need to add "is export" to the lexical classes/subs. 10:04
FROGGS jnthn: hmmm, I had that once.... will retest, thanks!
FROGGS echo 'say(1)' | nqp 10:04
> 1
timotimo: ^^
timotimo jvm version 10:06
jnthn timotimo: I know the REPL is busted for some reason. I didn't yet have chance to work out why. 10:08
timotimo OK. i'll be continuing to implement file and directory related ops for jvm
they'll be needed eventually anyway, and so i'll bring about a quicker jakudo! yaaaaay
jnthn I doubt it's anything too deep (probably mis-implemented something)
FROGGS jnthn: btw, it would be cool if we had: perl6 -MMyModule:from<nqp> -e 'say something()' 10:11
dunno how well :<> work on the cmdline
okay, : should work everywhere
timotimo java has no portable way to chdir? 10:14
jnthn Um...wow. 10:17
timotimo it must! i'm just not finding it 10:17
jnthn didn't either on an initial google... 10:18
I just found workarounds
timotimo m(
why not keep a "current directory" in the operations class! that's gotta work!!!!! 10:19
dalek p/rak-jvm-support: 26f19d6 | (Timo Paulssen)++ | src/vm/jvm/ (2 files):
implement unlink, cwd, rename, improve rmdir.
10:22
dalek /rename: 60402f5 | (Tobias Leich)++ | / (11 files):
rename all Perl6::P5... to Perl5::...
10:29
p/rak-jvm-support: 6e192ab | (Timo Paulssen)++ | src/vm/jvm/ (2 files):
copy, link and symlink. fix rename.
timotimo that's all of the path related ops, except chdir.
dalek p: 72df616 | (Timo Paulssen)++ | README (2 files):
let github render the readme prettily
10:30
/rename: 4e98e51 | (Tobias Leich)++ | rakudo.patch:
push rakudo changes
dalek /rename: bfce05c | (Tobias Leich)++ | lib/Perl5.pm:
remove .pm
11:00
sergot hi! o/ 11:12
tadzik o/ 11:14
masak sergocie! \o/ 11:26
sergot: 4.5 hours to #masakism! :)
colomon Ah, so it's during bell rehearsal. :( 11:29
sergot \o/ 11:30
colomon guess I can have my computer log it so I can backlog...
sergot masak: how would it look like? 11:32
masak sergot: I guess we're all wondering that :) 11:32
sergot masak: ok! :) 11:33
sergot good ;) 11:34
masak sergot: short answer: I have some material, text and exercises. I expect some people to follow that in some manner, and some people to ad-lib and do their own thing and explore and improvise. 11:34
sergot sounds good 11:35
Util moritz: My last comment in the ticket explains my thinking on 16fa719. 11:46
rt.perl.org/rt3//Public/Bug/Displa...?id=117731
colomon rn: say set(1).perl 12:02
camelia rakudo d2af40, niecza v24-37-gf9c8fc2: OUTPUT«set("1")␤»
masak :/ 12:07
masak walk & 12:09
dalek ar: 1456211 | pmichaud++ | / (3 files):
Added PSGI to installed modules.
12:19
colomon rn: say set(1).WHAT 12:28
camelia niecza v24-37-gf9c8fc2: OUTPUT«Unhandled exception: Parameter '' in 'Set.gist' requires a defined argument␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (Set.gist @ 1) ␤ at /home/p6eval/niecza/lib/CORE.setting line 1362 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 1364…
..rakudo d2af40: OUTPUT«(Set)␤»
colomon already has fixing that on his to-do list 12:31
dalek ar: a944018 | pmichaud++ | modules/MODULES.txt:
Add note about jsonrpc dependency with PSGI.
12:37
pmichaud not sure what to do about the URI problems for Star :-| 12:39
oh 12:40
looks like what I have now isn't the current head for uri 12:41
dalek ar: 8b4cf2d | pmichaud++ | / (2 files):
Update URI to point to new location.
12:48
dalek ast: 4f47ca9 | moritz++ | S16-filehandles/filestat.t:
skip platform dependent tests
13:13
moritz_ [Coke]: at your convenience, please check if this makes the failure from rt.perl.org/rt3/Ticket/Display.html?id=117685 go away
timotimo i'd like to get a bit of guidance with regard to my file operations. there may be some decisions that i made that aren't useful for nqp 13:21
dalek /rename: dd4090f | (Tobias Leich)++ | Makefile:
clean up the right dir
13:54
/rename: 159f214 | (Tobias Leich)++ | / (2 files):
add the alien-statementlist at the end

So every module that changes $*MAIN, will trigger nibbling to this statementlist.
dalek /experimental: dd4090f | (Tobias Leich)++ | Makefile:
clean up the right dir
13:54
/experimental: 159f214 | (Tobias Leich)++ | / (2 files):
add the alien-statementlist at the end

So every module that changes $*MAIN, will trigger nibbling to this statementlist.
LlamaRider Hm, did the rakudo implementation of "dir" change intentionally? 14:28
my @tests = dir 't/data', test => /'.txt' $$/;
this guy used to return the bare filenames, now it also returns the 't/data/' prefix with them 14:29
moritz_ LlamaRider: it returns an IO::Path object, and did so before; it's just the default stringification of IO::Path that has changed
moritz_ LlamaRider: use .basename if you just want the file name 14:30
LlamaRider mkay, if it's intentional, I will refactor my test files.
moritz_ sorry for the inconencience; the previous version was a hack to preserve backwards compatibility 14:31
LlamaRider no worries :) 14:32
PerlJam good $localtime all 14:36
jnthn timotimo: What do you want some guidance with? :)
jnthn may be able to help
LlamaRider So, Lingua::EN::Sentence installs with panda flawlessly again, moritz++ thanks for the quick response. 14:38
timotimo just see if what i did is okay. maybe a hint for chdir would be great ;) 14:45
moritz_ LlamaRider++ # fixing Lingua::EN::Sentence 14:47
GlitchMr One hour to workshop in #masakism. Just mentioning. 15:03
geekosaur considers auditing... assuming something doesn't explode in his face (mmm, sev1s) 15:04
jnthn timotimo: I can take a look at the patch you have 15:06
timotimo: There is some user.dir thing, but it seems hacky
timotimo: But it may be enough for now
timotimo these "patches" are already in nqp/rak-jvm-support. i have nothing else 15:09
jnthn timotimo: oh, you already pushed them 15:10
timotimo: OK, then will review soon :)
masak three minutes until #masakism. 15:57
colomon masak++ 16:02
masak ...and we're off. 16:07
man, that channel came alive.
sjn yep :) 16:08
cognominal :) 16:09
gtodd :) 16:18
gtodd ... if a piece of code walked through listed all the methods/functions available for every module in @INC 16:21
would that be exercising anything in rakudo that would show some useful improvement in speed performance? 16:23
flussence the parser maybe 16:24
pmichaud another rc candidate tarball for R* 2013.04: pmichaud.com/sandbox/rakudo-star-20...rc2.tar.gz 16:25
It still has errors in LWP::Simple and File::Tools
gist.github.com/pmichaud/5496339
if anyone wants to suggest fixes, let me know and I'll work on them. (I know a lot of folks are playing in #masakism now. :-) 16:26
Util labster: ping 16:31
gtodd are: print $("reHTona tsuj".flip.tclc, Mu.^methods.grep(/p.**2l$/).tclc, "hacker\n");
labster ahoy Util
gtodd r: print $("reHTona tsuj".flip.tclc, Mu.^methods.grep(/p.**2l$/).tclc, "hacker\n");
camelia rakudo d2af40: OUTPUT«Just another Perl hacker␤»
hoelzro can you bind a RHS Pair to two variables on the LHS?
ex. my ( $first, $second ) := $pair? 16:32
Util labster: Would a Parrot implementation of readlink() satisfy your needs, if it did not work (yet) on Win32? 16:33
PerlJam hoelzro: why? 16:48
hoelzro: seems like an odd thing to want. (why binding and not just assignment?)
dalek nqp/rak-jvm-support: 66ea32d | pmichaud++ | src/ (4 files):
nqp/rak-jvm-support: "Temporarily" convert ?-quantified captures to use **0..1 instead.
nqp/rak-jvm-support:
nqp/rak-jvm-support: This is in preparation for bringing the ?-quantifier in line with
nqp/rak-jvm-support: S05, such that ? is an "item quantifier" instead of a "list quantifier".
labster Util: sure, for now.
Util labster: Good, for I wrote one last night :) 16:49
labster Sorry, I'm a bit distracted by the #masakism class, y'know.
labster In any case, it's part of the solution 16:49
Util labster: predictable, given that moshpit :)
labster Which is good, so Util++
Util Polishing and tesing now. I expect to push within 70 min. 16:50
pmichaud Util++
I really need to figure out how to get multiple windows to work in irssi... 16:51
Util Written according to pmichaud's analysis (I was just typing), so pmichaud++ too!
pmichaud: I will be glad to help. On my Mac, ssh'ed into Feather (and using Screen, but that is irrelevant I think), Esc+4 switches me to session 4, which is #parrot. 16:52
hoelzro PerlJam: I have a list of Pairs 16:53
and I would like to do for @pairs -> ( $first, $second )
Util Esc+Q switches to session 11 (the 11th channel I joined), which is #perl6, etc.
pmichaud Util: oh, I can already switch between channels; I'm wanting multiple channels to appear at the same time
i.e., using /window show #n 16:54
PerlJam hoelzro: oh! for @pairs -> [ $first, $second ] { ... } # IIRC
hoelzro why [ ... ]?
Util pmichaud: Oh, I have not done that, but I know that you can.
pmichaud that works but there's no divider bar between the windows, which makes it hard for me to see where one window begins and another ends 16:54
flussence the problem with irssi's split windows is you only get one statusbar for the lot, and then you have to pay attention to it all the time to make sure you're sending to the right channel... 16:55
pmichaud flussence: I've seen pictures on the web where people have multiple statusbars 16:56
benabik pmichaud: I *think* `/statusbar prompt type window` is what you're looking for. 16:57
pmichaud and even with only one statusbar, if I just had a divider I'd be okay
pmichaud I'm opening up another irssi session now so I can experiment there without losing threads in my active irssi session :) 16:57
flussence hm, maybe I'm misremembering... 16:57
flussence
.oO( would be nice if irssi was a client-server thing so all the windowy stuff could be done by tmux/screen... )
17:00
PerlJam hoelzro: I was thinking about signature unpacking, but what I gave you doesn't work with Pairs apparently (just tried it)
hoelzro: maybe for @p -> $p[:key($f), :value($s)] { ... } # ?? 17:01
hoelzro =( 17:02
PerlJam aye, it's unweildy
jnthn You don't need to take the $p, and you probably want (...) instead of [...]
TimToady also want a space between 17:03
(if you have the $p)
otherwise it's gonna try to parse a subscript spec
jnthn ah, and that :) 17:03
PerlJam sorry, my brain isn't in the Perl 6 zone right now :)
(I was secretly hoping you guys would chime in with the simpler syntax that looked something like for @p -> [$f,$s] { ... } ) 17:06
Util TimToady: I wish that for @pairs -> [ $first, $second ] { ... } worked as an alternative syntax to the proper (:key($f), :value($s)) syntax. 17:06
TimToady @pairs».kv -> $first, $second might work 17:07
r: say :foo.kv
Util s/wish/have wished/; # While working on RC
camelia rakudo d2af40: OUTPUT«foo True␤»
Util TimToady: Noted. Thanks! 17:08
jnthn oh, that's cute :)
TimToady++
TimToady well, it's also ugly 17:09
one would like a better pair unpacker
dalek Heuristic branch merge: pushed 17 commits to rakudo/jvm-support by jnthn 17:10
TimToady maybe [$first => $second] could be forced to work
PerlJam Seems like it could be generalized such that "unpackers" could be defined in user space too (so that custom objects could unpack nicely)
jnthn PerlJam: You define a method Capture on the object to say how the object coerces to a capture.
PerlJam for @points -> ($x,$y,$x) { ... } # comes to mind immediately.
pmichaud for @pairs { my ($first, $second) = .kv; ... } # not too bad
TimToady well, we're getting dangerously close to ADTs there... :) 17:11
PerlJam er, $z
TimToady but a special [$key => $value] syntax would be relative self documenting, if not terribly generalizable 17:12
PerlJam aye
cognominal is github slow or is this just for me? 17:21
diakopter #masakism is slowing it down 17:24
cognominal :)
tadzik heh 17:25
PerlJam TimToady: maybe {$k => $v} instead of [] since pairs are more aligned with hashes? (something just bugs me about [$k=>$v] ) 17:27
TimToady imagines an inside @array.kv expresses as {@keys => @values} 17:29
*inside-out
sergot n: my $s = "start\nsomething\nanything\nend"; for $s.split("\n") { $p = m:i/^start$/ ?? 1 !! m:i/^end$/ ?? 0 !! $_; .say if $p != 1|0; } 17:31
camelia niecza v24-37-gf9c8fc2: OUTPUT«===SORRY!===␤␤Variable $p is not predeclared at /tmp/OOgQPqYyny line 1:␤------> g\nanything\nend"; for $s.split("\n") { ⏏$p = m:i/^start$/ ?? 1 !! m:i/^end$/ ?? ␤␤Variable $p is not predeclared at /tmp/OOgQPqYyny line 1…
sergot r: my $s = "start\nsomething\nanything\nend"; my $p = 0; for $s.split("\n") { $p = m:i/^start$/ ?? 1 !! m:i/^end$/ ?? 0 !! $_; .say if $p != 1|0; } 17:31
camelia rakudo d2af40: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏something' (indicated by ⏏)␤ in method Numeric at src/gen/CORE.setting:10830␤ in sub infix:<==> at src/gen/CORE.setting:3008␤ in sub infix:<==> at src/gen/CORE.setting:3006␤…
diakopter toddr: all the action is in #masakism 17:42
Util labster: readlink() for Parrot committed, and your ticket updated. 18:05
labster thanks much, Util++
Util labster: You are very welcome. 18:09
dvj r: (1, 2, 3, 4, 5, 10) >> say 18:11
camelia rakudo d2af40: OUTPUT«===SORRY!===␤Unsupported use of >> to do right shift; in Perl 6 please use +> or ~>␤at /tmp/I7gwhpGqUm:1␤------> (1, 2, 3, 4, 5, 10) >>⏏ say␤»
dvj r: (1, 2, 3, 4, 5, 10) >>.say
camelia rakudo d2af40: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix > instead␤at /tmp/pdmZc6aMc_:1␤------> (1, 2, 3, 4, 5, 10) >>⏏.say␤»
dvj r: (1, 2, 3, 4, 5, 10) >>.say 18:12
camelia rakudo d2af40: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix > instead␤at /tmp/SDdjtUOnn5:1␤------> (1, 2, 3, 4, 5, 10) >>⏏.say␤»
dvj r: (1, 2, 3, 4, 5, 10)>>.say
camelia rakudo d2af40: OUTPUT«10␤4␤2␤5␤3␤1␤»
dvj r: (1, 2, 3, 4, 5, 10)>>.print
camelia rakudo d2af40: OUTPUT«1042531»
dvj r: (1..10)>>.print
camelia rakudo d2af40: OUTPUT«10864297531»
TimToady dvj: you shouldn't rely on the ordering of >> for things with side effects 18:16
(like say or print)
since hyper operators specifically promise you don't care, so it can do them in parallel 18:17
r: .say for 1, 2, 3, 4, 5, 10 18:18
dvj oh oops, I was just testing. Mixed windows with private chat with camelia
camelia rakudo d2af40: OUTPUT«1␤2␤3␤4␤5␤10␤»
TimToady is how we usually get around that
np
dvj :) 18:19
skids marvels that there are no less than 5 overloaded compsci expansions for "ADT" 18:47
.oO(this acronym is now officially closed for new meanings)
18:48
jnthn
.oO( Apparently Delightful TLA )
18:52
pmichaud
.oO( Already Did That )
18:59
dalek rl6-roast-data: 4d55267 | coke++ | / (4 files):
today (automated commit)
19:13
ast: 27ead91 | pmichaud++ | S05-match/ (3 files):
Result of a failed regex match is now Nil; add test for it and
19:21
kudo/nom: 5edb135 | pmichaud++ | src/core/Cursor.pm:
Failed regex matches should return Nil.
FROGGS kids are in bed \o/ 19:28
tadzik \o/
...for now... :>
FROGGS *g* 19:30
timotimo hm, i'd love to get EXPORT sub support into rakudo before the next star, so i can make ADT super shiny and suggest it be included in R* :) 19:31
grondilu failed to install LWP::Simple 19:32
FROGGS r: sub test($s = CALLER::<$_> is rw) { $s.chop }; $_ = "abc"; test() 19:34
camelia rakudo d2af40: OUTPUT«===SORRY!===␤Missing block␤at /tmp/4aBP1urjlL:1␤------> sub test($s = CALLER::<$_> ⏏is rw) { $s.chop }; $_ = "abc"; test()␤ expecting any of:␤ postfix␤ infix stopper␤ infix or meta-infix␤»…
FROGGS TimToady: is that supposed to work?
std: sub test($s = CALLER::<$_> is rw) { $s.chop }; $_ = "abc"; test()
camelia std 316b40b: OUTPUT«===SORRY!===␤Default expression must come last at /tmp/EkpsxexFb6 line 1:␤------> sub test($s = CALLER::<$_> ⏏is rw) { $s.chop }; $_ = "abc"; test()␤Unable to parse signature at /tmp/EkpsxexFb6 line 1:␤------> sub test⏏… 19:34
FROGGS std: sub test($s is rw = CALLER::<$_>) { $s.chop }; $_ = "abc"; test()
camelia std 316b40b: OUTPUT«ok 00:00 46m␤»
FROGGS ahh, cool 19:35
r: sub test($s is rw = CALLER::<$_>) { $s.chop }; $_ = "abc"; test()
camelia rakudo d2af40: OUTPUT«===SORRY!===␤Cannot use 'is rw' on an optional parameter␤at /tmp/1OYwe2nb08:1␤------> ␤»
FROGGS is sad
timotimo :(
FROGGS but np, I can make multis, one with an arg and one without 19:35
pmurias what happened to the irc log? 19:37
FROGGS server is dead 19:38
PerlJam It broke.
FROGGS so there is a backup log running
diakopter yes 19:47
dalek p/rak-jvm-support: 7d9f0b9 | jnthn++ | src/vm/jvm/ (2 files):
Case consistency with Parrot backend.
19:48
p/rak-jvm-support: 1e2629a | jnthn++ | src/vm/jvm/QAST/Compiler.nqp:
Add infrastructure for getting op result type.
p/rak-jvm-support: 907a86c | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/CallFrame.java:
Make 24-module.t less busted on JVM.

This also helps towards the Rakudo work.
kudo/jvm-support: e14ef54 | jnthn++ | src/ (2 files):
Get hold of QAST compiler in more portable way.
19:53
kudo/jvm-support: 623d45e | jnthn++ | src/vm/jvm/runtime/org/perl6/rakudo/Ops.java:
Implement p6bool op for JVM.
kudo/jvm-support: f5cd6d9 | jnthn++ | src/Perl6/Actions.nqp:
Correct atkey that should be atpos.

Also remove an unrequired "my"; it's the default for subs.
kudo/jvm-support: 11c7841 | jnthn++ | src/Perl6/World.nqp:
Replace a join with nqp::join.
jnthn Well, now I get to line 77 of CORE.setting before it blows up... :) 19:54
[Coke] 77 out of... 19:55
that sounds trollish, sorry. glad you're cutting into it at all. 19:56
jnthn 13,000 or so :P 19:58
[Coke] WOOT. 19:59
jnthn Well, I suspect that the further in I get, the faster I'll be able to go.
At the moment I'm hitting every little missing thing.
pmurias would it make sense for me to submit a gsoc proposal for a rakudo/nqp javascript backend to the parrot foundation? 20:01
jnthn Hah. Just hit "need signature binding". There's an interesting little project. :P 20:02
pmurias: Hm, good question. :)
diakopter if it's going to be re-absorbed, I'd say yes. If it's going to be dissolved, I'd say yes.
jnthn pmurias: I'd be happy to see that worked on as a gsoc project. 20:03
[Coke] did TPF get accepted? I'd submit it there first, parrot second.
pmurias TPF didn't take part 20:04
[Coke] O_o 20:04
I'm not sure parrot is a great place to submit that, since it has nothing to do with parrot.
I could see doing it as a backup, but not as a primary. But I'm just one guy. You should ask over in #parrot on irc.perl.org 20:05
pmurias is there anyone else submiting a gsoc proposal to the parrot foundation? 20:06
[Coke] Yes, though I haven't seen any perl6 proposals.
pmichaud based on past discussions, I wouldn't expect the Parrot Foundation to be in favor of funding proposals to support alternate VMs 20:07
but I'd be hugely in favor of seeing a javascript-based backend for NQP. 20:08
diakopter pmichaud: but it wouldn't be funded by the parrot foundation; it'd be funded by google 20:09
jnthn If it's between trying to submit it through the Parrot foundation and not submitting it at all, it may be worth a try.
pmichaud diakopter/jnthn: the sticking point in the past hasn't been about money. 20:10
PerlJam um ... if gsoc doesn't fit, maybe a normal TPF grant would?
pmichaud there are still Hague grants, too :) 20:11
I'm not sure if javascript backend for nqp would qualify there, though; the Hague grants are traditionally about new Perl 6 features, not just porting what we have to other platforms
I'm not saying one can't apply for gsoc through the Parrot Foundation; just that some of the people involved have been negative towards the idea of doing anything that helps NQP be multi-platform. 20:12
so, more like saying "watch for landmines" 20:13
[Coke] as a straight TPF grant, it would be considered, sure. 20:18
pmichaud yeah, I suspect it'd get fair consideration as a straight TPF grant. 20:19
and wherever it's proposed, I'll be in favor of it. :)
dalek kudo/jvm-support: 80f3017 | jnthn++ | src/Perl6/Actions.nqp:
Make sure $*DISPATCHER is declared before use.
[Coke] diakopter: it's not just funding, it's time, energy (mentors required, etc.) 20:20
Util 1. The Perl Foundation is about to umbrella the former elements of Parrot Foundation, needed due to temp lack of manpower.
2. The Perl Foundation failed to register as a GSoC org, due to temp lack of (one key) manpower.
3. GSoC tasks do not cost either group any money.
4. I am the GSoC backup admin for PaFo, and defacto primary admin while dukeleto is away. 20:21
Therefore, I will look favorably and equitably on any Perl[56]-related tasks, students, mentors, or anything else related.
[Coke] pmurias: www.perlfoundation.org/how_to_write_a_proposal
Util++
Util Oh, and 5. Parrot is moving to focus on the current primary client: Rakudo. 20:22
lizmat rn: use Test; diag Mu 20:25
camelia rakudo 5edb13: OUTPUT«Nominal type check failed for parameter '$message'; expected Any but got Mu instead␤ in sub diag at lib/Test.pm:138␤ in block at /tmp/ii8clYH8nv:1␤␤»
..niecza v24-37-gf9c8fc2: OUTPUT«Unhandled exception: Nominal type check failed in binding '$str' in 'diag'; got Mu, needed Any␤ at /home/p6eval/niecza/lib/Test.pm6 line 0 (diag @ 1) ␤ at /tmp/0x3xE84wmt line 1 (mainline @ 4) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4299 (ANON @ …
pmichaud as a gsoc grant, I volunteer to be a mentor. I suspect others would be willing mentors as well. (Not that pmurias++ would need much in the way of mentoring, which is why I volunteer :)
lizmat rn: use Test; diag Any
camelia niecza v24-37-gf9c8fc2: OUTPUT«Use of uninitialized value in string context␤ at /home/p6eval/niecza/lib/CORE.setting line 1356 (warn @ 5) ␤ at /home/p6eval/niecza/lib/CORE.setting line 266 (Mu.Str @ 15) ␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /home/p6eval/niecza/lib/Test.pm6 li…
..rakudo 5edb13: OUTPUT«use of uninitialized value of type Any in string context in sub diag at lib/Test.pm:140␤␤# ␤»
lizmat wonders if this behaviour of Test::diag is intentional ?
lizmat perl5: use Test::More; diag undef 20:26
p5: use Test::More; diag undef
timotimo eval: print("hello!"); 20:27
lizmat eval: use Test::More; diag undef
diakopter rn: use Test; diag Any.new
camelia rakudo 5edb13: OUTPUT«# Any<-820487277>␤»
..niecza v24-37-gf9c8fc2: OUTPUT«# Any()<instance>␤»
timotimo rest in peace, perl5 eval bot :(
jnthn lizmat: Maybe diag should .gist it
pmichaud lizmat: I think it has more to do with the printing of an undefined value.
r: print Any 20:28
camelia rakudo 5edb13: OUTPUT«use of uninitialized value of type Any in string context in block at /tmp/SBaB1jaMJ3:1␤␤»
pmichaud r: print "# " ~ Any
camelia rakudo 5edb13: OUTPUT«use of uninitialized value of type Any in string context in block at /tmp/Tq8_EZzbtc:1␤␤# »
jnthn But I'm not very surprised by the current behavior either.
lizmat the thing is that I have a problem in my masakism code, trying to figure it out with "diag", and the "diag" stops the tests
masak quick summary of today's #masakism workshop: it was a success. people appear to want to do it again. date not set for that, but we'll make sure people get the message.
jnthn \o/ 20:29
pmichaud ...the diag stops the tests? that seems odd.
masak indeed.
pmichaud diag throws a warning, but normally doesn't terminate the process.
flussence p5eval: quack
p5eval flussence: quack
masak :)
p5eval: blub blub blub
p5eval masak: ERROR: Can't locate object method "blub" via package "blub" (perhaps you forgot to load "blub"?) at (eval 7) line 1.
flussence
.oO( quacks do echo... I've been lied to! )
lizmat not so: gist.github.com/lizmat/5498119 20:30
jnthn pmichaud: If you pass Mu to it then it fails to bind to the Any default of the parameter, maybe that's it.
pmichaud yeah, that would be odd. perhaps &diag should accept Mu as an argument.
that would make sense for something like 20:31
r: use Test; diag 2|3;
camelia rakudo 5edb13: OUTPUT«# 2␤# 3␤»
lizmat well, I wasn't passing Mu consciously to it, the value I wanted to show happened to be Mu (which was the error)
pmichaud which probably ought to be
r: use Test; diag (2|3).Str;
camelia rakudo 5edb13: OUTPUT«# any(2, 3)␤»
pmichaud changes &diag.
spectesting now 20:32
jnthn pmichaud: Maybe .gist instead of .Str? 20:33
pmichaud: so diag Mu emits "# Mu" not the warning?
lizmat that would be consistent with Perl 5's Test::More::diag 20:34
pmichaud jnthn: well, I don't think everything should be gist'ed there, no.
at least, I'm not certain of that yet.
lizmat r: use Test; diag Mu.gist; diag Any.gist; diag "foo".gist
camelia rakudo 5edb13: OUTPUT«# (Mu)␤# (Any)␤# foo␤»
lizmat r: use Test; diag Mu.gist; diag Any.gist; diag "foo".gist; 1.gist 20:35
camelia rakudo 5edb13: OUTPUT«# (Mu)␤# (Any)␤# foo␤»
lizmat r: use Test; diag Mu.gist; diag Any.gist; diag "foo".gist; diag 1.gist
camelia rakudo 5edb13: OUTPUT«# (Mu)␤# (Any)␤# foo␤# 1␤»
lizmat seems right to me so far ;-)
masak I should probably blog about the workshop. some kind of summary. 20:38
masak will try to do that tomorrow evening
lizmat I also wonder whether the same problem doesn't exist for Test::is: 20:43
Nominal type check failed for parameter ''; expected Any but got Mu instead
in sub infix:<eq> at src/gen/CORE.setting:1286
in sub is at lib/Test.pm:81
diakopter yapc austin registrations to date: i.imgur.com/70CYXPp.png 20:44
masak lizmat: looks like. 20:52
lizmat: putting junctions in the type system kinda sucks sometimes. this is one of those times. 20:53
lizmat guess so… :-)
PerlJam diakopter: What was the expected number of registrations? 20:54
lizmat anyways, I'm trying to grok why this is not a good way to pass a block with 1 parameter as a parameter:
$promise.then( { $value= $^x } );
dalek pan style="color: #395be5">perl6-examples: c35ee7a | (David Warring)++ | parsers/CSSGrammar.pm:
use separator operator (%) in CSS Grammar. e.g. for declarations
masak lizmat: looks kosher to me.
lizmat well, it doesn't work :-)
that's where my Mu's are coming from 20:55
jnthn r: my $value; my $b = { $value = $^x }; $b(42); say $value
camelia rakudo 5edb13: OUTPUT«42␤»
jnthn Looks working to me.
dalek kudo/nom: 8025743 | pmichaud++ | lib/Test.pm:
Switch Test.pm's &diag function to accept Mu arguments. We may
jnthn Guess the bug is not exactly that.
masak r: class Promise { method then(&fn) { say "before"; &fn(42); say "after" } }; my Promise $promise .= new; my $value = 0; $promise.then( { $value = $^x } ); say $value
camelia rakudo 5edb13: OUTPUT«before␤after␤42␤»
masak lizmat: wfm
grondilu rn: say qqx{date -d {say GMT}} 20:56
diakopter PerlJam: dunno.. that graph doesn't include the 50 or so speakers who aren't buying badges
camelia niecza v24-37-gf9c8fc2: OUTPUT«Unhandled exception: rungather may not be used in safe mode␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (rungather @ 0) ␤ at /tmp/HHbMKUDJKX line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4299 (ANON @ 3) ␤ at /home/p6eval/niec…
..rakudo 5edb13: OUTPUT«qx, qqx is disallowed in restricted setting␤ in sub restricted at src/RESTRICTED.setting:2␤ in sub QX at src/RESTRICTED.setting:9␤ in block at /tmp/ZG7if4NpGf:1␤␤»
grondilu can't I interpolate inside a qqx{} quote?
masak grondilu: read the error message.
diakopter PerlJam: I'm guessing maybe 75 more register, and another 25 show up without registering 20:57
grondilu I know I can't do it *here*, but it seems that I can't even on my machine :/
jnthn grondilu: What are you expecting to interpolate there? The return value of say?
grondilu oh yeah 20:58
FROGGS rn: say qq{date -d {say GMT}}
camelia rakudo 5edb13, niecza v24-37-gf9c8fc2: OUTPUT«date -d {say GMT}␤»
FROGGS that is what you execute
grondilu rn: say qqx{date -d {"GMT"}}
camelia niecza v24-37-gf9c8fc2: OUTPUT«Unhandled exception: rungather may not be used in safe mode␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (rungather @ 0) ␤ at /tmp/2zOYykMcpZ line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4299 (ANON @ 3) ␤ at /home/p6eval/niec…
..rakudo 5edb13: OUTPUT«qx, qqx is disallowed in restricted setting␤ in sub restricted at src/RESTRICTED.setting:2␤ in sub QX at src/RESTRICTED.setting:9␤ in block at /tmp/Zxsak8rvJg:1␤␤»
jnthn Also, you need to use different quotes than { ... } if you want to interpolate a closure.
grondilu oops sorry forgot to remove :x
rn: say qq{date -d {"GMT"}}
camelia rakudo 5edb13, niecza v24-37-gf9c8fc2: OUTPUT«date -d {"GMT"}␤»
jnthn rn: say qq[date -d {"GMT"}] 20:59
camelia rakudo 5edb13, niecza v24-37-gf9c8fc2: OUTPUT«date -d GMT␤»
jnthn Nestings of the quote starter/stopper take precedence over escapes.
timotimo r: say qq{ foo { bar } baz };
camelia rakudo 5edb13: OUTPUT« foo { bar } baz ␤» 21:00
masak grondilu: what jnthn said.
timotimo so the nested braces will make no difference but be counted for equality for ending the quotation?
masak grondilu: so it's work if you don't use {} on the outside.
grondilu ok
jnthn timotimo: yes 21:01
[Coke] masak++ #ism 21:02
grondilu is trying to run something like qqx[echo $longDNAstring |grep -F "{join "n", @interwoven_patterns}"]
because there is no fgrep version of grep in Perl6, is there? 21:03
! it actually worked
grondilu is now trying with the full length DNA string... 21:04
lue hello o/ 21:10
dalek /experimental: 3129123 | (Tobias Leich)++ | / (2 files):
enable "use v6" and load Perl5::Terms (in a crappy way)
21:12
/experimental: 394a1c5 | (Tobias Leich)++ | / (4 files):
move Cool.pm to Perl5/Terms.pm, which has a working sub chop
/cool: 60402f5 | (Tobias Leich)++ | / (11 files):
rename all Perl6::P5... to Perl5::...
/cool: 4e98e51 | (Tobias Leich)++ | rakudo.patch:
push rakudo changes
/cool: bfce05c | (Tobias Leich)++ | lib/Perl5.pm:
remove .pm
/cool: dd4090f | (Tobias Leich)++ | Makefile:
clean up the right dir
/cool: 159f214 | (Tobias Leich)++ | / (2 files):
add the alien-statementlist at the end

So every module that changes $*MAIN, will trigger nibbling to this statementlist.
FROGGS hi lue
lue what does "diag" mean/do, by the way? DIAGnostic? DIAGonal?
FROGGS the former
lizmat rn: my @a; @a.push {...}; $_() for @a 21:37
camelia niecza v24-37-gf9c8fc2: OUTPUT«===SORRY!===␤␤Unexpected block in infix position (method call needs colon or parens to take arguments) at /tmp/lHLWIerXVt line 1:␤------> my @a; @a.push ⏏{...}; $_() for @a␤␤Parse failed␤␤»
..rakudo 802574: OUTPUT«===SORRY!===␤Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?)␤at /tmp/7uUU26mse6:1␤------> my @a; @a.push ⏏{...}; $_() for @a␤ expecting any of:␤ method arguments␤ …
FROGGS rn: my @a; @a.push: {...}; $_() for @a 21:38
lizmat sub foo {...}; my @a; @a.push &foo
camelia rakudo 802574: OUTPUT«Stub code executed␤ in method sink at src/gen/CORE.setting:10840␤ in method reify at src/gen/CORE.setting:5637␤ in method gimme at src/gen/CORE.setting:6058␤ in method eager at src/gen/CORE.setting:6037␤ in block at /tmp/MJjP9mmGWq:1␤␤»
..niecza v24-37-gf9c8fc2: OUTPUT«Unhandled exception: >>>Stub code executed␤ at /tmp/Xub62wyPlo line 1 (ANON @ 4) ␤ at /tmp/Xub62wyPlo line 1 (mainline @ 8) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4299 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4300 (module-CORE …
lizmat it should have been:
rn: sub foo {...}; my @a; @a.push: &foo
camelia rakudo 802574, niecza v24-37-gf9c8fc2: ( no output )
FROGGS same as: rn: my @a; @a.push {...}; $_() for @a 21:39
err, this: rn: my @a; @a.push: {...}; $_() for @a
lizmat indeed, but the missing : stumped me for a long while
colomon r: gist.github.com/colomon/5498600
camelia rakudo 802574: ( no output ) 21:40
colomon doh!
lizmat rn: my @a; @a.push {*}; $_() for @a
camelia rakudo 802574: OUTPUT«===SORRY!===␤Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?)␤at /tmp/wX8lAP75Js:1␤------> my @a; @a.push ⏏{*}; $_() for @a␤ expecting any of:␤ method arguments␤ …
..niecza v24-37-gf9c8fc2: OUTPUT«===SORRY!===␤␤Unexpected block in infix position (method call needs colon or parens to take arguments) at /tmp/AlXsfl09LW line 1:␤------> my @a; @a.push ⏏{*}; $_() for @a␤␤Parse failed␤␤»
colomon r: gist.github.com/colomon/5498600
camelia rakudo 802574: OUTPUT«Just another Perl hacker␤»
lizmat sub foo {*}; my @a; @a.push &foo; $_() for @a
rn: sub foo {*}; my @a; @a.push &foo; $_() for @a
camelia rakudo 802574: ( no output )
..niecza v24-37-gf9c8fc2: OUTPUT«Unhandled exception: System.NullReferenceException: Object reference not set to an instance of an object␤ at Niecza.Kernel.TypeDispatcher (Niecza.Frame th, Boolean tailcall) [0x00000] in <filename unknown>:0 ␤ at Niecza.Kernel.StandardTypeProtoC (Niecza.…
lizmat the silence of rakudo stumped me 21:41
colomon lizmat: you didn't tell it to say anything.
lizmat rn: sub foo {say "foo"}; my @a; @a.push &foo; $_() for @a
FROGGS r: sub foo { say 42 }; my @a; @a.push &foo; $_() for @a
camelia rakudo 802574, niecza v24-37-gf9c8fc2: OUTPUT«foo␤»
rakudo 802574: OUTPUT«42␤»
colomon well, maybe it should have given you an error. hmm.... 21:42
jnthn @a.push &foo # parses as @a.push & foo()
FROGGS weird, the : after push isnt always needed?
ahh, thats why
lizmat FROGGS: it *is*
jnthn FROGGS: not if it's argless, or you couldn't write $a.foo = 42;
Well, it *is* needed if you want to give arguments to push :) 21:43
dalek /experimental: 9ce1b77 | (Tobias Leich)++ | STATUS.md:
status update after fudging op/chop.t
lizmat anyway, I learned a lot from this… :-) 21:44
masak lizmat: glad to hear it. 21:52
that was the idea :)
donaldh Is it possible to eval nqp here? 21:53
FROGGS nqp: say("hello!")
camelia nqp: OUTPUT«hello!␤»
masak yes, now I see why @a.push &foo was legal.
that kinda sucks...
donaldh FROGGS: thanks. 21:54
FROGGS you're welcome
r: my @a; @a.push
camelia rakudo 802574: ( no output )
FROGGS r: $_ = 42; my @a; @a.push; say @a
camelia rakudo 802574: OUTPUT«␤»
donaldh notes it is not mentioned in the banner
FROGGS what does .push without an arg?
camelia: help
camelia FROGGS: Usage: <(nqp-jvm|star|pugs|nqp|std|niecza|rakudo|b|nom|npr|n|r|perl6|prn|rn|p|rnp|nrp|pnr|rpn|p6|nr)(?^::\s) $perl6_program>
FROGGS it is too much to put it in topic 21:55
lizmat rn: class A { }; my $a= A.new( foo => 1 ) # shouldn't this complain about trying to initialize a non-existing attribute?
camelia niecza v24-37-gf9c8fc2: OUTPUT«Potential difficulties:␤ $a is declared but not used at /tmp/9h2An7RCRL line 1:␤------> class A { }; my ⏏$a= A.new( foo => 1 ) # shouldn't this c␤␤»
..rakudo 802574: ( no output )
lizmat rn: class A { }; my $a= A.new( foo => 1 ); $a # shouldn't this complain about trying to initialize a non-existing attribute?
camelia rakudo 802574, niecza v24-37-gf9c8fc2: ( no output )
donaldh nqp: nqp::say(nqp::isprime_I(nqp::box_i(-4, nqp::knowhow().new_type(:name('TestBigInt'), :repr('P6bigint'))), 0)); 21:57
camelia nqp: OUTPUT«0␤»
donaldh nqp::say(nqp::isprime_I(nqp::box_i(-4, nqp::knowhow().new_type(:name('TestBigInt'), :repr('P6bigint'))), 1)); 21:58
donaldh nqp: nqp::say(nqp::isprime_I(nqp::box_i(-4, nqp::knowhow().new_type(:name('TestBigInt'), :repr('P6bigint'))), 1)); 21:58
camelia nqp: OUTPUT«0␤»
lizmat submits rakudobug
donaldh nqp: nqp::say(nqp::isprime_I(nqp::box_i(-3, nqp::knowhow().new_type(:name('TestBigInt'), :repr('P6bigint'))), 1)); 21:59
camelia nqp: OUTPUT«0␤»
donaldh nqp: nqp::say(nqp::isprime_I(nqp::box_i(3, nqp::knowhow().new_type(:name('TestBigInt'), :repr('P6bigint'))), 1));
camelia nqp: OUTPUT«1␤»
donaldh Sane. Saner than Java it seems. 22:00
jnthn lizmat: No, there's nothing in the spec that says it should.
lizmat hmmm… so any typos in attribute names will remain unnoticed then 22:01
jnthn lizmat: Or if there is, I've like to know where :)
donaldh FROGGS: oh :-)
nqp: nqp::say(nqp::isprime_I(nqp::box_i(7, nqp::knowhow().new_type(:name('TestBigInt'), :repr('P6bigint'))), 0)); 22:04
camelia nqp: OUTPUT«0␤»
lizmat jnthn: I don't think it is specced either, but I feel it should 22:05
if you really want to be able to pass strange stuff to .new, you should either make your own .new or BUILD, no?
anyways… it's been a long evening
lizmat gnight #perl6 22:05
labster good night, lizmat 22:06
jnthn lizmat: The problem is how do we determine what went unused...
'night, lizmat
lizmat will sleep on that
donaldh jnthn: do we care that the bigint libs on parrot and Java give different results for negative numbers and zero certainty ? 22:08
for negative numbers and also for zero certainty, not just the && case.
jnthn Do you have any promises if you ask with zero certainty? :) 22:09
donaldh e.g. should I bother special casing a return value of 0 for all numbers < 1?
Or just provide the java.math.BigInteger behaviour? 22:10
jnthn donaldh: If it's easy, I'd do it so we get consistency.
donaldh I know, I know, zero certainty kind of begs undefined behaviour.
jnthn Yeah, I'm not bothered about the zero certainty one, I don't think. But the negative one sounds worth doing.
donaldh yep, agreed. 22:11
FROGGS r: my @s = <abc def ghi>; sub choop (*@s is rw) { for @s -> $s is rw { $s.=chop } }; choop(@s); say @s 22:24
camelia rakudo 802574: OUTPUT«abc def ghi␤»
FROGGS is "is rw" on a slurpy param supposed to be a noop?
masak FROGGS: no, don't think so. 22:27
FROGGS: that looks like a bug to me. 22:28
FROGGS I mean, I can understand that it is hard to apply is rw, if you maybe get several scalars/arrays as input 22:28
r: my @s = <abc def ghi>; sub choop (@s is rw) { for @s -> $s is rw { $s.=chop } }; choop(@s); say @s 22:29
camelia rakudo 802574: OUTPUT«ab de gh␤»
FROGGS spec says: When applied to a variadic parameter, the rw trait applies to each element of the list: 22:32
sub incr (*@vars is rw) { $_++ for @vars }
so, who fixes it? :D 22:34
masak 'night, #perl6 22:45
FROGGS night sir masak
jnthn 'night, #perl6 22:56
TimToady o/ 22:57
FROGGS gnight jnthn 22:59
TimToady n: my @s = <abc def ghi>; sub choop (*@s is rw) { for @s -> $s is rw { $s.=chop } }; choop(@s); say @s
camelia niecza v24-37-gf9c8fc2: OUTPUT«ab de gh␤»
TimToady looks like niecza does it 23:00
n: my @s = <abc def ghi>; sub choop (*@s) { for @s -> $s is rw { $s.=chop } }; choop(@s); say @s
camelia niecza v24-37-gf9c8fc2: OUTPUT«ab de gh␤»
TimToady though in fact it's probably just ignoring the rw
FROGGS n: my @s = <abc def ghi>; sub choop (*@s is readonly ) { for @s -> $s is rw { $s.=chop } }; choop(@s); say @s 23:01
camelia niecza v24-37-gf9c8fc2: OUTPUT«ab de gh␤»
TimToady r: my @s = <abc def ghi>; sub choop (*@s) { for @s -> $s is rw { $s.=chop } }; choop(@s); say @s 23:06
camelia rakudo 802574: OUTPUT«abc def ghi␤»
Juerd That's a lot of work for a noop :) 23:07
FROGGS *g*
FROGGS gnight 23:26