»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
00:01 cognominal left 00:05 Khisanth left, cognominal joined
[Coke] probably should stop drinking coffee after, oh, 10am. 00:15
(and coke zero, and diet mountain dew...)
TimToady yeah, go for the sugary stuf after 10am 00:19
*ff
00:20 Khisanth joined
dalek ast: cf4f001 | coke++ | S04-declarations/my.t:
niecza fudge
00:21
timotimo i read "surgery" and was thoroughly confused
colomon [Coke]++ # beat me to it 00:23
timotimo phenny: tell jnthn: is World::apply_trait the best place to put the levenshtein search or would it better be placed in your proposed trait_mod:<is>(Mu:U $type, *%fail)? 00:26
phenny timotimo: I'll pass that on when jnthn is around.
00:27 bowtie left
[Coke] colomon: gist.github.com/4552472 - some potentially low hanging fruit. 00:40
colomon [Coke]: danke 00:44
isBEKaml [Coke]: say, have you had any spectest failures with rakudo? 00:46
I get two in filestat.t and filetest.rakudo 00:47
It's repeatable. 00:51
japhb_ Thanks for the mention in the release announcement. :-) 00:52
isBEKaml not ok 28 - ~~:z returns false on directories 00:53
^^ filetest.t 00:54
not ok 8 - IO.accessed should be updated when contents of file is read
^^ filestat.t
japhb: It's all our pleasure - :-)
The above are the two failures I see here. 00:55
00:58 whiteknight joined 01:01 anuby joined
isBEKaml r: qx(ls) 01:02
p6eval rakudo efac0f: OUTPUT«===SORRY!===␤Undeclared routines:␤ ls used at line 1␤ qx used at line 1␤␤»
isBEKaml r: say "t".IO 01:03
p6eval rakudo efac0f: OUTPUT«IO.new(ins => 0, chomp => Bool::True, path => "t")␤»
isBEKaml r: say "t".IO ~~ :z
p6eval rakudo efac0f: OUTPUT«False␤»
isBEKaml ^^ this returns True locally 01:04
(of course, I have a folder called "t" in the current directory) 01:05
benabik :z?
isBEKaml yeah
benabik r: say 't'.IO.s 01:07
p6eval rakudo efac0f: OUTPUT«4096␤»
benabik isBEKaml: Is your t directory empty? 01:08
isBEKaml benabik: no, that's the spectest folder. It should return False.
benabik isBEKaml: OS? 01:09
isBEKaml win7 cygwin
benabik I wonder if Win7 always returns 0 size for directories. Linux and Darwin seem to give a size. 01:10
isBEKaml yup, it's 0 sized.
:/ 01:11
benabik Bad test?
01:12 thou left
isBEKaml Might be: github.com/perl6/roast/blob/master...test.t#L73 01:12
And the other failure is here: github.com/perl6/roast/blob/master...stat.t#L58 01:13
hmm, this happens even with the older rakudo I have here. (about 2 months old) 01:15
01:15 hypolin joined
benabik It's because .z == .e && .s == 0 01:16
And cygwin always gives .s == 0 for directories.
isBEKaml So, it's cygwin - I'll go ahead and make a release. 01:17
benabik++ 01:18
benabik For future reference: cygwin.com/ml/cygwin/2011-01/msg00170.html 01:19
isBEKaml benabik: thanks, I'll keep that in mind.
benabik I'll leave it to others to decide if this is stupid behavior of Cygwin or a bad assumption in the tests.
01:20 am0c joined
geekosaur would be inclined to consider taking the size of a directory to be dubious at best 01:22
(note that cygwin has to deal with a very ugly special case, to wit, the root directory of a FAT drive)
(also I'm not sure you can even take the size of a directory specified as a UNC path) 01:23
if the concept is to be meaningful at all in perl6, perhaps it should be implemented by globbing the entries in the directory and counting the result 01:24
also note an additional screw case with regard to portability: what does :s do on OS/400 and successors? 01:25
benabik *nix appears to give a size based on the blocks needed to store the directory entry. Relying on that cross-platform is probably not good.
geekosaur exactly 01:26
you can't even do that much in the FAT case I mentioned; root directories have a fixed preallocated space that isn't part of the filesystem /per se/
(mmm, backward compatibility) 01:27
sorear I thought FAT32 allowed the root to grow 01:29
what's the deal with OS/400 and sizes?
geekosaur I think it does, but the base part is still not represented as a disk file like on unixy filesystems or (I think) ntfs
os/400 allows a container and a file to have the same name
japhb_ sorear, yeah, but cygwin probably has to support anything Windows supports -- all the way back to FAT16 or even FAT12.
01:30 wk left
geekosaur (it's somewhat more complicated than that but that's the part I'm thinking of) 01:30
sorear ntfs is pretty unixy, it has inode numbers and the root directory is identified by a well-known inode number
ntfs' personal brand of crazy is that the inode table and the free block list are also files with inode numbers
geekosaur and all bets are off if you're accessing a network filesystem
um. ever wonder why unix traditionally doesn't use inode 1? 01:31
sorear I did not know that 1 was traditionally avoided 01:32
benabik didn't know it didn't.
geekosaur I think early pre-bitmap ext2 even continued that tradition for a while: inode 1 was the free list
isBEKaml rakudo and nqp tarballs: www.dropbox.com/sh/fkk6frqdiknwfso/ptM3dojQsC 01:33
let me know if you see any problems
geekosaur and very early unix filesystems gave inode 0 the allocation for the superblock and inode table
this kinda broke with FFS and successors 01:34
isBEKaml Also, if you have access to upload to rakudo.org, please feel free to do the same. :-)
geekosaur (specifically cylinder groups)
01:38 MikeFair left 01:39 MikeFair joined, leprevost joined
isBEKaml I've sent out a pull request for rakudo release. Day job beckons. :-) 01:42
Thanks! (I'll be away for a couple of weeks now - please upload those tarballs too from my dropbox folder or make anew) 01:43
01:43 isBEKaml left 01:52 leprevost left, arlinius left 01:59 b1rkh0ff left 02:05 FROGGS_ joined, alec joined 02:09 FROGGS left 02:11 japhb_ left 02:12 whiteknight left 02:28 leprevost joined
[Coke] phenny: tell isBEKaml about github.com/coke/perl6-roast-data/b...ummary.out 02:50
phenny [Coke]: I'll pass that on when isBEKaml is around.
[Coke] (no failures in filestat)
02:53 Targen left 03:12 jokar joined 03:36 cognominal left 03:38 fgomez left 03:42 orafu left, ph1ur3 joined, orafu joined 03:46 Targen joined 03:47 SamuraiJack joined, leprevost left 03:49 grondilu_ joined 03:52 grondilu left 04:00 fgomez joined 04:03 broquaint joined 04:21 grondilu_ is now known as grondilu 04:22 grondilu left, grondilu joined, stevan_ left 04:26 preflex_ joined 04:27 preflex left, preflex_ is now known as preflex 04:32 fgomez left 04:35 dayangkun left 05:11 grondilu left 05:18 aindilis left 05:19 aindilis joined 05:23 kaleem joined 05:26 dayangkun joined 05:29 fgomez joined 05:32 stevan_ joined 05:36 xinming_ left 05:37 stevan_ left
lue wonders if the lack of anything in NQPParametricRoleHOW's compose method (as opposed to Concrete's version of the method) is the cause of that bug he encountered a month or so ago... 05:48
05:49 For-Odin joined 05:50 cognominal joined
moritz \o 06:07
06:19 jaldhar joined 06:26 quester joined
raiph o/ 06:29
06:45 ifim left 06:48 kaleem left 06:51 quester left 07:00 For-Odin left 07:02 cognominal_ joined, cognominal_ left 07:04 cognominal left, cog joined 07:13 kaleem joined 07:32 kaleem left, kaleem joined 07:41 FROGGS_ left 07:43 Pleiades` left 07:50 Pleiades` joined 07:58 FROGGS joined 08:13 rindolf joined 08:31 Pleiades` left 08:33 Pleiades` joined 08:41 brrt joined 08:52 wk joined
Su-Shee good morning everyone. 08:53
moritz \o
aloha: seen FROGGS
aloha moritz: FROGGS was last seen in #perl6 55 mins 21 seconds ago joining the channel.
08:53 Pleiades` left
FROGGS moritz: morning 08:56
you miss me?
btw, I'm not in eckental next monday, so no beer for us ó.ò
moritz FROGGS: :( 08:57
that was actually what I was aiming at
FROGGS ya, sad that is
moritz ah well, I won't run away; if you come into that region again, just drop me a line 08:58
08:59 Pleiades` joined
FROGGS I will 08:59
09:04 cog_ joined
rindolf Su-Shee: morning. 09:05
FROGGS: hi.
FROGGS hi rindolf
09:05 cog left
rindolf FROGGS: what's up? 09:06
09:06 hoelzro|away is now known as hoelzro
rindolf moritz: morning. 09:06
cedrvint hello #perl6 09:07
rn: subset UInt of Int where * >= 0; sub foo (UInt $bar?) { }; foo();
p6eval niecza v24-17-gd343a2a: OUTPUT«Potential difficulties:␤ $bar is declared but not used at /tmp/IuSYCRdJwn line 1:␤------> UInt of Int where * >= 0; sub foo (UInt ⏏$bar?) { }; foo();␤␤»
..rakudo efac0f: OUTPUT«Parameter '' requires an instance, but a type object was passed␤ in method Bridge at src/gen/CORE.setting:3097␤ in sub infix:<>=> at src/gen/CORE.setting:3028␤ in block at /tmp/1TWJJ_uTap:1␤␤»
cedrvint is this ^ a known Rakudo bug? 09:08
it seems subsets and missing-but-optinal arguments don't mix well 09:09
FROGGS rindolf: $work 09:10
rn: subset UInt of Int where * >= 0; sub foo (UInt:D: $bar?) { }; foo(); 09:11
p6eval rakudo efac0f: OUTPUT«Not enough positional parameters passed; got 0 but expected between 1 and 2␤ in sub foo at /tmp/Lf_44uAt2f:1␤ in block at /tmp/Lf_44uAt2f:1␤␤»
..niecza v24-17-gd343a2a: OUTPUT«Potential difficulties:␤ $bar is declared but not used at /tmp/wjcmtW2Xp2 line 1:␤------> t of Int where * >= 0; sub foo (UInt:D: ⏏$bar?) { }; foo();␤␤Unhandled exception: No value for parameter '' in 'foo'␤ at /tmp/wjcmtW2Xp2 line 0 (…
09:11 atrodo left
FROGGS rn: subset UInt of Int where * >= 0; sub foo (UInt:D: :$bar?) { }; foo(); 09:12
p6eval niecza v24-17-gd343a2a: OUTPUT«Potential difficulties:␤ $bar is declared but not used at /tmp/SN29Hmdx_i line 1:␤------> of Int where * >= 0; sub foo (UInt:D: :⏏$bar?) { }; foo();␤␤Unhandled exception: No value for parameter '' in 'foo'␤ at /tmp/SN29Hmdx_i line 0 (…
..rakudo efac0f: OUTPUT«Not enough positional parameters passed; got 0 but expected 1␤ in sub foo at /tmp/OdxSr7x077:1␤ in block at /tmp/OdxSr7x077:1␤␤»
09:12 wk left
FROGGS rn: subset UInt of Int where * >= 0; sub foo (UInt :$bar?) { }; foo(); 09:12
p6eval rakudo efac0f: OUTPUT«Parameter '' requires an instance, but a type object was passed␤ in method Bridge at src/gen/CORE.setting:3097␤ in sub infix:<>=> at src/gen/CORE.setting:3028␤ in block at /tmp/LdpgjnS3sx:1␤␤»
..niecza v24-17-gd343a2a: OUTPUT«Potential difficulties:␤ $bar is declared but not used at /tmp/pSKT8VkPHQ line 1:␤------> Int of Int where * >= 0; sub foo (UInt :⏏$bar?) { }; foo();␤␤»
FROGGS weird indeed
please file a bug, I've seen no such ticket
cedrvint OK 09:13
09:30 kaleem left 09:31 kaleem joined 09:38 ph1ur3 left 09:42 Psyche^ joined 09:46 Patterner left, Psyche^ is now known as Patterner 09:51 cog_ left, dakkar joined 10:02 anuby left 10:03 hypolin left 10:06 sqirrel joined 10:08 Ayiko joined 10:18 wk joined 10:19 fhelmberger joined 10:34 avay joined, cog joined
avay is there any compiler on internet for perl ,which has many modules installed in it, and doesn't give errors of not finding the modules used in the code 10:36
FROGGS avay: rakudo star distribution is your friend 10:37
avay: go to rakudo.org
but I really hope you are talking about Perl 6, not Perl 5
avay yeah 10:38
FROGGS :o)
well then, welcome in our midst ;o)
avay thanks FROGGS!!!
FROGGS you're welcome
10:40 avay left 10:49 b1rkh0ff joined 10:56 cog left 11:04 xinming joined 11:06 Su-Shee_ joined 11:09 Su-Shee left 11:12 Su-Shee_ is now known as Su-Shee
timotimo FROGGS: now that multi-merging is finished, what cool stuff you wanted to do was unblocked? it was at least in big part about Inline::C, right? 11:14
11:16 dayangkun left
FROGGS timotimo: it was the SDL module 11:18
this one needed Inline::C together with NativeCall
so this should work now, and my game BubbleBreaker too
maybe there are minor issues, dont know right now 11:19
all these modules might need a bit more love
timotimo github.com/FROGGS/Games-BubbleBrea...ker.pl#L24 - typo: "buubles" 11:21
also, this isn't the perl6 version! *gasp* 11:22
11:25 cog joined, cog left, cog joined, cog_ joined, brrt left 11:26 cog_ left
FROGGS timotimo: github.com/FROGGS/p6-Games-BubbleBreaker 11:33
the File::HomeDir fix isnt pushed to the repo as I see now
timotimo found it already, thanks :) 11:35
11:35 b1rkh0ff left
timotimo hm, the code looks like it could be much prettier 11:35
FROGGS ohh ya, that was the first thing I did in perl 6 11:36
I know a bit more now ;o)
timotimo :D 11:37
bbkr_ is there any chance that Socket.get() will be fixed in 2013.01 - rt.perl.org/rt3/Ticket/Display.html?id=116302 ? without it all modules that depends on HTTP::Easy will be broken again in Star release. 11:41
moritz yes, there is any chance.
bbkr_ a chance* :)
timotimo not to burst your sarcasm, or anything ... but 11:42
isn't it already fixed in the compiler that was released today?
moritz I didn't fix it
bbkr_ Socket.read was fixed, Socket.get not 11:43
timotimo github.com/svatsan/rakudo/blob/69b...013.01#L26
ooooh, okay :(
sorry about that
wtf is that song, that doesn't even sound good 11:52
12:00 fgomez left
timotimo (that was a mischan, btw) 12:04
FROGGS: what necessitates use soft; for inline::c? is it a bug in rakudo or just something that's missing from inline::c? 12:11
moritz usualy run-time &routine.wrap is the reason 12:13
rakudo optimizes dispatch (and somtimes even inlines calls) at compile time 12:14
so if you wrap at run time, ith might not call the correct routine unless you 'use soft;'
timotimo hm, i see 12:16
at first i thought use soft; was the negative counterpart of what use strict did in perl5. is that wrong?
moritz yes, that's wrong 12:17
well, not too wrong. It allows some run-time mucking that's otherwise forbidden. But none of the details of 'use strict;' (strict refs, vars, subs) contradict it 12:18
r: use soft; if 0 { nosuchsub } 12:19
p6eval rakudo efac0f: OUTPUT«===SORRY!===␤Undeclared routine:␤ nosuchsub used at line 1␤␤»
moritz still complains at compile time
12:23 Pleiades` left 12:29 Pleiades` joined 12:30 drbean joined
FROGGS timotimo: I believe this use soft isnt needed anymore but need to test to confirm 12:35
it was a try to get the multi import merging right
12:40 kaleem left 12:41 jokar left
jnthn The "soft" thing prevents inlining 12:57
phenny jnthn: 00:26Z <timotimo> tell jnthn is World::apply_trait the best place to put the levenshtein search or would it better be placed in your proposed trait_mod:<is>(Mu:U $type, *%fail)?
jnthn Which is normally undesirable, but if you're gonna do runtime wrapping will matter 12:58
timotimo: Since you have NQP code, maybe best in apply_trait. But I suggest that you throw a typed exception from the proposed trait mod I suggested, and then detect it in apply_trait and augment it with the suggestions then rethrow it.
dalek kudo/nom: 179fd4b | isBEKaml++ | src/core/tai-utc.pm:
updated tai-utc
13:01
kudo/nom: d0e16da | isBEKaml++ | docs/release_guide.pod:
Updated release guide
kudo/nom: 0de5379 | isBEKaml++ | tools/build/NQP_REVISION:
[Release] Bump NQP_REVISION
kudo/nom: 59c2982 | isBEKaml++ | VERSION:
[Release] Bump VERSION
kudo/nom: 69b53cf | isBEKaml++ | docs/announce/2013.01:
[Release] Add 2013.01 Rakudo compiler release announcement.
kudo/nom: 3ee51ac | isBEKaml++ | docs/release_guide.pod:
Remove Sonoma from suggested pm names
kudo/nom: 3a8d48a | moritz++ | / (5 files):
Merge pull request #94 from svatsan/rel-2013.01

Rakudo compiler release 2013.01
moritz did isBEKaml++ create a tarball? 13:03
FROGGS it's in his dropbox 13:04
(where ever this is)
he mentioned it this morning
moritz www.dropbox.com/sh/fkk6frqdiknwfso/ptM3dojQsC
FROGGS: thanks, that made it easy for me to find the link in the logs
FROGGS np ;o) 13:05
13:05 pmurias joined
moritz but I only have the wrong SSH keys here :( 13:05
so I can't upload them until I get home
moritz pushes the tags 13:06
13:07 cog left 13:14 cog joined
FROGGS I believe this can wait a few hours 13:15
13:18 sqirrel left 13:24 dayangkun joined 13:31 cog left 13:37 cog joined
pmurias jnthn: t/qast_tring.t expects 0.0, isn't 0 the correct answer? 13:43
jnthn: correct as in what nqp-parrot would produce 13:44
13:49 jaldhar left
bbkr_ is testing new release 13:50
FROGGS bbkr_: if you get the chance, can you test the rakudo/froggs_multibyte branch? there are bugfixes for multibyte chars for IO::Socket::INET.recv 13:52
it also introduces an optional $bin param that will give you a Buf instead of a Str when true 13:53
bbkr_ FROGGS: sure, I'll test it right after $dayjob 13:54
FROGGS no hurry, I just want to make sure that this is tested positive before merging in
++bbkr_ # but thanks already for taking the time 13:55
14:06 cog left 14:07 benabik left 14:13 colomon left 14:18 skids left, PacoAir joined, atrodo joined 14:19 hash_table joined 14:24 Vlavv joined 14:26 hash_table left 14:35 fhelmberger left 14:36 colomon joined 14:44 MikeFair left 14:45 MikeFair joined 14:46 mtk joined 14:47 cog joined 14:52 dayangkun left 14:53 dayangkun joined 14:54 kaare_ joined 14:59 bbkr joined, eternaleye_ joined 15:00 kst` joined 15:01 nebuchad` joined, SamuraiJack_ joined 15:02 nebuchad` is now known as nebuchadnezzar 15:03 zamolxes_ joined, steven__1 joined, Woodi_ joined, amkrankr1leuen joined 15:06 colomon_ joined
colomon_ rn: say +"1428." 15:06
p6eval niecza v24-17-gd343a2a: OUTPUT«Unhandled exception: Cannot parse number: 1428.␤ at /home/p6eval/niecza/lib/CORE.setting line 1435 (die @ 5) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3539 (ANON @ 10) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3541 (NumSyntax.str2num @ 5) ␤ a…
..rakudo 3a8d48: OUTPUT«Cannot convert string to number: radix point must be followed by one or more valid digits in '1428.⏏' (indicated by ⏏)␤ in method gist at src/gen/CORE.setting:10404␤ in sub say at src/gen/CORE.setting:7559␤ in block at /tmp/wCvdIed8f9:1␤␤»
colomon_ that seems... unperlish to me.
not sure what's up with freenode (like why I've got a colomon_, and why my previous comments didn't go to the actual channel.) 15:07
15:07 colomon left, SamuraiJack left, eternaleye left, zamolxes left, colomon_ is now known as colomon 15:08 jaldhar joined
colomon r: printf ("%g\n", "1428.") 15:08
FROGGS colomon: that answers your question
p6eval rakudo 3a8d48: OUTPUT«Null PMC access in get_number()␤ in sub sprintf at src/gen/CORE.setting:2414␤ in sub printf at src/gen/CORE.setting:2419␤ in block at /tmp/wq16xfG0aP:1␤␤»
colomon known rakudo-bug?
FROGGS I'm talking about the netplit ;o)
arnsholt Probably. NULL PMC errors usually are
FROGGS dunno if 42. should work
arnsholt Unless they're NQP bugs =)
colomon arnsholt: Null PMCs are *definitely* a Rakudo bug 15:09
FROGGS r: say 42. + 1
p6eval rakudo 3a8d48: OUTPUT«===SORRY!===␤Unsupported use of . to concatenate strings; in Perl 6 please use ~␤at /tmp/l7VOP660B_:1␤------> say 42. ⏏+ 1␤»
15:09 stopbit joined
colomon even if the string does not make a valid number. 15:09
though...
rn: say "1428djsklfj"
p6eval rakudo 3a8d48, niecza v24-17-gd343a2a: OUTPUT«1428djsklfj␤»
colomon rn: say +"1428djsklfj"
p6eval niecza v24-17-gd343a2a: OUTPUT«Unhandled exception: Cannot parse number: 1428djsklfj␤ at /home/p6eval/niecza/lib/CORE.setting line 1435 (die @ 5) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3539 (ANON @ 10) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3541 (NumSyntax.str2num @ 5…
..rakudo 3a8d48: OUTPUT«Cannot convert string to number: trailing characters after number in '1428⏏djsklfj' (indicated by ⏏)␤ in method gist at src/gen/CORE.setting:10404␤ in sub say at src/gen/CORE.setting:7559␤ in block at /tmp/h00UnoIbtV:1␤␤»
colomon ah, at least it's consistent there. 15:10
FROGGS n: say 42. + 1
p6eval niecza v24-17-gd343a2a: OUTPUT«===SORRY!===␤␤Decimal point must be followed by digit at /tmp/h7SXCRXVQu line 1:␤------> say 42.⏏ + 1␤␤Unsupported use of . to concatenate strings; in Perl 6 please use ~ at /tmp/h7SXCRXVQu line 1:␤------> say 42. …
FROGGS okay, not supported
15:11 sweet_kid joined
colomon I don't have any issues with it being not supported in p6 code. But it's not as clear to me it should be not supported in string to number conversion at runtime. 15:11
15:11 sweet_kid left, sweet_kid joined, sweet_kid left
FROGGS I'd vote for it beeing handled exactly the same 15:11
arnsholt std: my $x 42. 15:12
p6eval std 7deb9d7: OUTPUT«===SORRY!===␤Confused at /tmp/zza8cfliDj line 1:␤------> my $x ⏏42.␤ expecting any of:␤ constraint␤ infix or meta-infix␤ infixed function␤ initializer␤ statement modifier loop␤ trait␤Parse failed␤FAILED 00:00
..42m␤»…
15:12 arlinius joined
arnsholt std: my $x = 42. 15:12
15:12 sweet_kid joined
p6eval std 7deb9d7: OUTPUT«===SORRY!===␤Decimal point must be followed by digit at /tmp/tTf9e_iIyS line 1:␤------> my $x = 42.⏏<EOL>␤Unsupported use of . to concatenate strings; in Perl 6 please use ~ at /tmp/tTf9e_iIyS line 1 (EOF):␤------> my $x = 42… 15:12
15:12 sweet_kid left
arnsholt colomon: There you go. Apparently it's not supposed to be allowed =) 15:13
FROGGS if numbers is strings will be pasred differently than in code, this will just add complexity
15:13 sweet_kid joined
dalek kudo-js: 345e4e2 | (Paweł Murias)++ | runtime.js:
Implement some trig ops.
15:13
kudo-js: 46f606a | (Paweł Murias)++ | / (2 files):
Steal t/qast_math.t.
FROGGS even to my head
arnsholt Because it might throw a spanner in the works when you want to do "42.some-method()" perhaps?
FROGGS r: class 3 { method 14159265358979 { say 42 } }; say 3.14159265358979 15:14
p6eval rakudo 3a8d48: OUTPUT«===SORRY!===␤Unable to parse class definition␤at /tmp/Bq6v7T872_:1␤------> class ⏏3 { method 14159265358979 { say 42 } }; ␤ expecting any of:␤ statement list␤ prefix or term␤ prefix or meta-prefix␤ …
FROGGS std: class 3 { method 14159265358979 { say 42 } }; say 3.14159265358979
p6eval std 7deb9d7: OUTPUT«===SORRY!===␤Unable to parse class definition at /tmp/J29wcyQkRY line 1:␤------> class ⏏3 { method 14159265358979 { say 42 } }; ␤ expecting any of:␤ name␤ trait␤Parse failed␤FAILED 00:00 40m␤»
FROGGS n: class 3 { method 14159265358979 { say 42 } }; say 3.14159265358979 15:15
p6eval niecza v24-17-gd343a2a: OUTPUT«===SORRY!===␤␤Unable to parse class definition at /tmp/Rm_qFBFG2l line 1:␤------> class ⏏3 { method 14159265358979 { say 42 } }; ␤␤Parse failed␤␤»
colomon identifiers have to start with a letter, don't they?
FROGGS damn :o)
looks like
moritz yes, and that's a very good thing :-)
r: class _3 { method _14 { say 'pi' } }; _3._14 15:16
p6eval rakudo 3a8d48: OUTPUT«pi␤»
moritz IMHO that's already confusing enough :-)
FROGGS ohh, you could use class and methodnames like GOTO and JUMP
and of course mix german names in
r: sub Ox34254 { 42 }; say Ox34254 # haha 15:18
p6eval rakudo 3a8d48: OUTPUT«42␤»
FROGGS I think you can do really weird stuff using unicode letters
like trolling your fellows
15:19 SunilJoshi joined
colomon argh, this script is infuriating. 15:20
moritz .u O
phenny U+004F LATIN CAPITAL LETTER O (O)
colomon Null PMCs when I run it in rakudo, "index out of range" (when I never use an index) when I run it in niecza 15:22
moritz colomon: what are you trying to do?
(if it's a compile-time error, --ll-exception might give you a better idea about what the error is about)
colomon take a bunch pairs of 3D points, split them into two groups, and print out each group 15:23
r: printf ("%g\n", "1428.")
p6eval rakudo 3a8d48: OUTPUT«Null PMC access in get_number()␤ in sub sprintf at src/gen/CORE.setting:2414␤ in sub printf at src/gen/CORE.setting:2419␤ in block at /tmp/b6ZKSUbdZI:1␤␤»
colomon r: printf ("%g\n", "1428") 15:24
p6eval rakudo 3a8d48: OUTPUT«Null PMC access in get_number()␤ in sub sprintf at src/gen/CORE.setting:2414␤ in sub printf at src/gen/CORE.setting:2419␤ in block at /tmp/URFTSDV2Rn:1␤␤»
colomon r: printf ("%f\n", "1428")
p6eval rakudo 3a8d48: OUTPUT«Null PMC access in get_number()␤ in sub sprintf at src/gen/CORE.setting:2414␤ in sub printf at src/gen/CORE.setting:2419␤ in block at /tmp/tIRAW6MmH1:1␤␤»
colomon r: printf ("%g\n", +"1428")
p6eval rakudo 3a8d48: OUTPUT«Null PMC access in get_number()␤ in sub sprintf at src/gen/CORE.setting:2414␤ in sub printf at src/gen/CORE.setting:2419␤ in block at /tmp/dV7xkY4ihn:1␤␤»
colomon r: printf ("%g\n", +"1428.3")
p6eval rakudo 3a8d48: OUTPUT«Null PMC access in get_number()␤ in sub sprintf at src/gen/CORE.setting:2414␤ in sub printf at src/gen/CORE.setting:2419␤ in block at /tmp/QP2BNqcQmK:1␤␤»
colomon r: printf ("%g\n", 1428.3)
p6eval rakudo 3a8d48: OUTPUT«Null PMC access in get_number()␤ in sub sprintf at src/gen/CORE.setting:2414␤ in sub printf at src/gen/CORE.setting:2419␤ in block at /tmp/tfXBCoKUNG:1␤␤»
colomon r: printf ("%f\n", 1428.3)
p6eval rakudo 3a8d48: OUTPUT«Null PMC access in get_number()␤ in sub sprintf at src/gen/CORE.setting:2414␤ in sub printf at src/gen/CORE.setting:2419␤ in block at /tmp/5_rUagHeEK:1␤␤» 15:25
colomon am I doing something obvious wrong there?
n: printf ("%f\n", 1428.3)
p6eval niecza v24-17-gd343a2a: OUTPUT«Unhandled exception: index out of range␤ at /home/p6eval/niecza/lib/CORE.setting line 1301 (sprintf @ 4) ␤ at /home/p6eval/niecza/lib/CORE.setting line 1302 (printf @ 5) ␤ at /tmp/Ls_xw_E4jY line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setti…
colomon n: printf ("%e\n", 1428.3) 15:26
p6eval niecza v24-17-gd343a2a: OUTPUT«Unhandled exception: index out of range␤ at /home/p6eval/niecza/lib/CORE.setting line 1301 (sprintf @ 4) ␤ at /home/p6eval/niecza/lib/CORE.setting line 1302 (printf @ 5) ␤ at /tmp/_m0G3uw7aR line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setti… 15:27
moritz colomon: yes, you're only passing one argument (a parcel) to printf 15:30
colomon: because there's a space before the (
colomon n: printf("%e\n", 1428.3)
p6eval niecza v24-17-gd343a2a: OUTPUT«1.428300e+003␤»
colomon moritz++ 15:31
PerlJam Seems like that would be an easy thing to check for and give a more awesome error message
colomon PerlJam: amen
15:32 isBEKaml_mobile joined
colomon can anyone think of a better error message for this than "Not enough arguments for this format string" ? 15:35
15:35 hash_table joined
isBEKaml_mobile moritz: thanks for the merge. Can I send out the mail to p6c or will you? (I figured I'd send it out after upload to rakudo.org, so as not to cause confusion) 15:36
colomon has the Niecza source open and is only pausing in case someone has a more awesome message
isBEKaml_mobile (I won't be around for long - crappy network on mobile) 15:37
PerlJam colomon: if you could check the type of the format and see that it's a Parcel, you could say "maybe you put a space before the opening parenthesis?" :) 15:40
FROGGS colomon: there are error message like: Do ABC if you meant to do XY. 15:41
colomon PerlJam: That is a much more complicated solution!
FROGGS PerlJam: right
PerlJam indeed
FROGGS but these suggestions in the messages are pretty awesome
15:42 leprevost joined
PerlJam or ... you could make passing a Parcel as the only arg do what you were expecting. 15:43
(I know ... I'm going the wrong way on the simple..complex spectrum) 15:45
15:45 jlaire left
moritz isBEKaml_mobile: I haven't uploaded yet (don't have the ssh key at hand; must wait until I get home), so please wait with the p6c mail 15:47
15:47 jlaire joined
dalek ecza: af64300 | (Solomon Foster)++ | lib/Printf.cs:
More meaningful error message when a printf format string tries to consume more arguments than are available.
15:47
colomon now understands the original $work problem this script was supposed to study, for what it's worth. 15:48
isBEKaml_mobile moritz: Okay. I'll come back in 3-4 hrs ish.
BBL
15:48 isBEKaml_mobile left
colomon checked in the simple change to Niecza that probably would have told him what the heck was going on, without mucking about triyng to analyze parcels. 15:51
PerlJam colomon++ 15:52
15:54 skids joined
moritz joyofcoding.org/ # sounds like fun :-) 15:59
colomon Huh. I love the idea of the conference, but the actual schedule they have probably would not convince me to drive an hour for it, much less fly to Europe. :) 16:01
moritz yes, same here
timotimo wow, 180 euros 16:02
for such a short conference!
FROGGS thats a bit much compared to perl conferences
tadzik moritz: are you not in Europe anymore? 16:04
16:04 benabik joined 16:06 pmurias left
moritz tadzik: I am :-) 16:07
tadzik not in Europe? :)
moritz slaps tadzik
tadzik Really, how can I tell! :D 16:08
FROGGS ohh, you could tracert him
tadzik suddenly, Netherlands
FROGGS gtg home, see ya later 16:09
16:09 FROGGS left, benabik_ joined, benabik left, benabik_ is now known as benabik 16:13 brrt joined
brrt hi folks, i had an idea recently 16:14
what if we made the allocators / garbage collectors for a (hypothetical) perl vm not only polymorphic, but hierarchical?
so that for example, we could have an actual stack of call frames, allocated by its own special magic allocator 16:15
and this would live alongside of the common allocator 16:16
rurban wouldn't this be super slow? 16:18
brrt no why?
or, why whould you think it'd be slow
rurban The GC wouldn't have a world-view then, it would need to scan all active call frames also
brrt could easily be that i'd oversee something 16:19
well, yes
rurban not only data, code also
brrt why code?
rurban I'm also thinking the GC for my p2 vm right now.
brrt whats p2? parrot-two?
rurban the call frames are in code only 16:20
brrt rurban, we should work together
rurban perl 11
brrt ah
rurban perl11.org/p2/
brrt very well
hmm
rurban my GC has no proxies yet, so GC with native threads are slower
brrt obviously its more complex than i had imagined just now 16:21
rurban Stefan Seiferts hybrid threads are better
brrt but hierarchical allocators / collectors would allow you to lock only a single allocator at a time
rurban I'd need some help for sure :)
hmm 16:22
brrt but, indeed, you wouldn't view the world
i'm reading that page 16:23
it seems pretty nice
i'm impressed 16:27
rurban I believe libp2 would easier to target than jvm for nqp, and it will be smaller and faster for sure.
PerlJam gets lots of segfaults when running "make test" on potion
rurban yes, Just fixed the segfaults now... my fault
brrt well, you can't always get what you want
:-p
brrt is going to be off 16:28
and whenever i do get my own computer back, well, i'll look into this some more
and maybe i'm going to have to work out the details of a hierarchical allocator / collector scheme, too
rurban I got windows problems on p2, after switching to a shared lib 16:29
16:29 cog left
brrt its like evolution, but for vms 16:30
awesome
16:30 brrt left
PerlJam It would be interesting to see a potion-backed NQP 16:32
16:34 pmurias joined
hoelzro potion as in _why potion? 16:35
pmurias jnthn: would it be a good idea to use qast_output_is_approx($block,$number)?
16:36 amkrankr1leuen is now known as amkrankruleuen, amkrankruleuen left, amkrankruleuen joined
rurban yes, _why's potion. I tried to contact hime, but it's hard when you are not french, I guess. I'll be in Sandy, UT tomorrow though 16:38
Esp. to ask around the GC
pmurias rurban: how does being french help with contacting _why? timezones? 16:42
16:44 hoelzro is now known as hoelzro|away 16:45 Targen left
rurban pmurias: He is notorious for not ansering, but he loves the french somehow 16:47
16:51 bluescreen10 joined
rurban we are also struggling with libsyck not being maintained 16:51
pmurias rurban: have you considered basing p2 on v8 or the dart vm? 16:58
rurban for sure not. p2 is a much better VM than v8 or the dart vm.
faster, better and smaller
16:58 spider-mario joined
rurban I thought first of vmkit, but it was too big and horrible code. 16:58
benabik I lost a lot of interest in VMKit once I realized their GC was written in Java and then JITted using their custom JVM-in-VMKit system. 17:02
17:06 wk left 17:07 benabik left, benabik_ joined 17:11 FROGGS joined
pmurias rurban: did you do benchmarks? (I didn't) 17:13
dalek kudo-js: 82e01d7 | (Paweł Murias)++ | t/ (3 files):
steal t/qast_trig.t, use &quast_output_is_approx when comparing floating point values
17:16 Chillance joined 17:21 SunilJoshi left
dalek kudo-js: 401da8f | (Paweł Murias)++ | t/qast_string.t:
steal t/qast_string.t
17:21
rurban pmurias: benches are at the top of perl11.org/p2/ the alioth benchmartk scripts are also there as example. 17:23
17:26 eternaleye_ is now known as eternaleye 17:27 benabik joined, benabik_ left 17:28 thou joined 17:30 PacoAir left 17:32 kaleem joined 17:36 wk joined 17:38 MayDaniel joined
rurban I'm gone now for a week into the mountains of UTAH 17:57
18:00 PacoAir joined 18:03 dakkar left
moritz phenny: tell isBEKaml that I uploaded the 2013.01 release tarballs. Thanks for doing the release! 18:07
phenny moritz: I'll pass that on when isBEKaml is around.
[Coke] rurban: have fun!
PerlJam moritz: is there more of a procedure than "whoever is doing the release gets the tarballs to someone who can upload them" ? 18:14
moritz PerlJam: no, not yet :( 18:16
PerlJam: we're pretty new to this business of having 1) non-commiters doing the releases and 2) not having github uploads 18:17
18:21 kaleem left 18:25 colomon left 18:26 SamuraiJack_ left 18:29 leprevost left 18:30 kst` is now known as kst 18:34 rindolf left 18:42 pmurias left 18:46 thou left 18:47 alec left, colomon joined 18:54 simcop2387_ joined, simcop2387_ left, simcop2387_ joined 18:55 simcop2387 left, simcop2387_ is now known as simcop2387
jnthn evening o/ 18:57
arnsholt 'lo 18:58
FROGGS hi
19:01 alec joined 19:02 fgomez joined
FROGGS r: sub redo_ { 42 }; say redo_ 19:04
p6eval rakudo 3a8d48: OUTPUT«42␤»
FROGGS r: sub next_ { 42 }; say next_
p6eval rakudo 3a8d48: OUTPUT«42␤»
FROGGS r: sub next_ { 42 }; say next_()
p6eval rakudo 3a8d48: OUTPUT«42␤»
FROGGS r: sub next_() { 42 }; say next_()
p6eval rakudo 3a8d48: OUTPUT«42␤»
FROGGS nqp: sub next_() {}; next_() 19:05
p6eval nqp: OUTPUT«Confused at line 2, near "next_()"␤current instr.: 'panic' pc 13207 (src/stage2/gen/NQPHLL.pir:4680) (src/stage2/gen/NQPHLL.pm:328)␤»
FROGGS nqp: sub redo_() {}; redo_()
p6eval nqp: OUTPUT«Confused at line 2, near "redo_()"␤current instr.: 'panic' pc 13207 (src/stage2/gen/NQPHLL.pir:4680) (src/stage2/gen/NQPHLL.pm:328)␤»
FROGGS ahh
nqp: sub last_() {}; last_()
p6eval nqp: OUTPUT«Confused at line 2, near "last_()"␤current instr.: 'panic' pc 13207 (src/stage2/gen/NQPHLL.pir:4680) (src/stage2/gen/NQPHLL.pm:328)␤»
FROGGS nqp: sub ne_() {}; ne_() 19:06
p6eval nqp: ( no output )
19:06 alec left
jnthn phenny: tell pmurias we could do something like that, yes 19:08
phenny jnthn: I'll pass that on when pmurias is around.
19:19 alec__ joined 19:26 masak_ joined, sergot_ joined, Yappocall_ left, Yappocall_ joined, Gothmog__ joined 19:27 zby_home joined 19:28 alec__ left, Gothmog__ is now known as Gothmog_ 19:29 jlaire_ joined, bakedb_ left 19:30 sjn left, jlaire left 19:31 bakedb joined
skids has officially done too much perl6. Finding perl5 sigil dereferencing very foreign 19:33
19:34 jlaire_ is now known as jlaire
moritz skids: today I tried %hash.perl in Perl 5 code :-) 19:35
skids I spent 3 minutes trying to figure out that I should be saying $r->{key} instead of $r{key} 19:36
19:37 sjn joined
skids fortunately I did remember to use Data::Dumper :-) 19:37
TimToady that's just about the first thing we fixed in designing Perl 6
masak_ skids: well, naturally you can't call the reference to a function, you have to call the function :P 19:39
19:39 masak_ is now known as masak
timotimo what does using $r{key} cause in perl5? a LTA error message? 19:41
TimToady no such array %r 19:42
doy "Global symbol "%r" requires explicit package name"
TimToady which is LTA several ways
19:43 Targen joined
timotimo "in perl5, please use ->{...}" ;) 19:43
skids That is assuming you are using strict. Otherwise it just hands you and undef.
huf err, hash
skids s/d//
arnsholt skids: If you're not using strict you deserve what you get ;p
TimToady "it just hans you and undef"? :) 19:44
skids damn I missed a d.
geekosaur just displaced it a bit :) 19:46
timotimo i would like some help to figure out why i get "Null PMC access in get_string()" when i do this locally: 19:47
r: class Foo is Barf { }
p6eval rakudo 3a8d48: OUTPUT«===SORRY!===␤Cannot call 'trait_mod:<is>'; none of these signatures match:␤:(Mu:U $child, Mu:U $parent)␤:(Attribute:D $attr, :rw(:$rw)!)␤:(Attribute:D $attr, :readonly(:$readonly)!)␤:(Attribute:D $attr, :box_target(:$box_target)!)␤:(Routine:D $r, …
[Coke] timotimo: what version of rakudo? 19:54
are you using the REPL, command line, a fiel?
timotimo based on efac0f172751d41bbeb7b4639b3325cf557312ef - this is the repl 19:55
[Coke] works the other 2 ways - it's only failing in the REPL.
I suspect because it's throwing an error
you need the REPL and the is. 19:57
timotimo ah, yes, when i use a file instead, i get a more helpful error. thanks! 19:58
indeed, i forgot to yada the exception i had created
[Coke] that's probably still a bug that should be fixed, though. 19:59
not sure why the REPL is acting differently on that particular error.
timotimo is there any hope at all for getting a faster rakudo compilation in the future? 20:01
except: "throw a faster cpu at it"? 20:02
nwc10 throw it onto a different VM?
timotimo hm, jnthn do you think nqp-jvm will be faster at compiling?
maybe when the compiler itself runs on the jvm already 20:04
Nominal type check failed for parameter '$got'; expected Any but got Foo instead - i *really* have no idea how i got that to happen. any way to get a nqp-level stacktrace or something? 20:06
20:09 alec__ joined
timotimo indeed, --ll-exception seems helpfuler 20:09
20:09 ermlich joined
masak jQuery seems to have an interesting approach to their ecosystem: blog.jquery.com/2013/01/16/announci...-registry/ 20:12
(possibly relevant for Panda enthusiasts)
tadzik reads
nwc10 this is arm-wavy, but I hope that the JVM offers better profiling tools than Parrot, meaning that it becomes easier to spot if there are any quick wins on the compiler
either CPU or memory 20:13
20:16 am0c left 20:26 sjohnson joined 20:30 swarley-freenode joined, swarley-freenode is now known as swarley
swarley How would I do a unicode range in a regular expression? 20:38
20:38 zby_home left
swarley i.e [\u0080-\00c0] 20:38
s/\\00c0/\\u00c0/ 20:39
moritz nr: say 'A' ~~ / <[ \c[64] .. \c[66] ]> /
p6eval rakudo 3a8d48: OUTPUT«「A」␤␤»
..niecza v24-18-gaf64300: OUTPUT«#<match from(0) to(1) text(A) pos([].list) named({}.hash)>␤»
moritz skids: like this
erm sorry, meant swarley 20:40
swarley oh okay, thank you
20:46 ismail joined
masak swarley: infix:<..> means "range" in the big language, so we borrowed it to mean that in the small language too :) 20:47
timotimo jnthn: so i'm trying to enhance apply-trait to catch the X::Inheritance::UnknownParent (that i just created) that gets rethrown from self.ex-handle, but i don't know how. nqp doesn't seem to like my try { ex-handle; CATCH { when X::Inheritance::UnknownParent { ... } } }. 20:50
oh, duh, of course say takes parens around the argument 20:52
didn't make it better, now it gets OOM-killed in stage "start" 20:56
21:06 kaare_ left 21:11 bbkr__ left
jnthn timotimo: NQP doesn't have given/when, you'll need an explicit nqp::istype 21:11
Or something like 21:12
*like that
[Coke] nwc10: the kcachegrind output from parrot is pretty helpful. 21:13
but yah, there are alot of JVm specific tools that can give you a lot of data - some of it only relevant to the java side, though. 21:14
21:14 prammer left
timotimo i'm not doing that correctly. can i nopaste you my diff and you'll have a quick look? 21:15
sprunge.us/Taei
currently unable to compile it, i think. it OOMs.
[Coke] am I the only one that wants to line up those { ... } blocks? 21:16
timotimo: why is the CATCH doing an explicit check on exception type in code rather than as CATCH { <type> { handler for this type } } ? 21:17
21:17 prammer joined
[Coke] er, CATCH { when X::Inheritance::UnknownParent { ... } } 21:18
21:19 bapa joined
jnthn [Coke]: it's NQP code 21:19
[Coke]: NQP doesn't support such sugar :)
[Coke] jnthn: but waaaaaah
21:19 thou joined
jnthn timotimo: Try commenting out the rethrow 21:19
[Coke] wishes there was some sort of easy way to tell if something is p6 or nqp6. 21:20
jnthn timotimo: Oh. NQP has an annoying bug that can make rethrows inside CATCH blocks hang (since the CATCH block catches the re-throw) :/ 21:21
timotimo ooooh
jnthn You may be running into that.
timotimo that's why ex-handle does the thing with the $nok variable!
bbl 21:24
masak [Coke]: I've been coding nqp for a few days now. I tend to lean on the files in t/nqp for what's possible and idiomatic. 21:32
21:49 benabik left 21:52 hash_table left
timotimo "half minute hero" is the right game for compiling rakudo in between tests 21:57
22:01 Chillance left 22:04 LordVorp joined 22:05 johnjohn101 joined
johnjohn101 do i get rakudo support in this channel? 22:06
doy yes
johnjohn101 what it the best way to put rakudo onto ubuntu? 22:07
jnthn johnjohn101: Depends how you define "best". Probably best is to grab the latest tarball from rakudo.org/downloads/star/ and compile it. That way you get something up to date. 22:10
timotimo how do i get the name of a class? Mu:U $type is the thing in my signature. neither ^.name nor .name nor HOW.name work 22:14
(at least with .HOW.name i get "too few positional arguments passed: 1. expected 2")
jnthn $obj.HOW.name($obj) 22:15
timotimo oh. well that makes some sense
jnthn meta-objects are factored that way to make sure we can support prototypical object systems too, where the HOW is a singleton.
22:16 skids left 22:22 PacoAir left
timotimo i've got multi trait_mod:<is>(Mu:U $type, *%fail) { and i use %fail.keys[0] to initialise the $.parent attribute of the exception. any idea why it's Any instead of a string? 22:22
jnthn r: multi trait_mod:<is>(Mu:U $type, *%fail) { say %fail.keys }; class Foo is Bar { } 22:23
p6eval rakudo 3a8d48: OUTPUT«Bar␤»
jnthn r: multi trait_mod:<is>(Mu:U $type, *%fail) { say %fail.keys[0] }; class Foo is Bar { } 22:24
p6eval rakudo 3a8d48: OUTPUT«Bar␤»
jnthn timotimo: No, it seems to work there...
timotimo does it make a difference that it's in src/core?
jnthn Shouldn't.
timotimo oh, duh! i renamed the attribute some time ago, but didn't change the new call
jnthn ah :)
timotimo advancing at a snail's pace here :| 22:25
but i'm progressing in "Half Minute Hero" instead, so ... not all wasted time :)
masak isBEKaml++ # Rakudo #60
dalek rl6-roast-data: 561975f | coke++ | / (4 files):
today (automated commit)
22:25 lichtkind joined
[Coke] rakudo summary showing one passed todo test. 22:26
(integration/99problems-21-to-30.t)
22:26 MayDaniel left 22:27 erkan joined, erkan left, erkan joined, ismail left
timotimo sounds nice :) 22:29
"Foo cannot inherit from Unknown because it is unknown." - but it doesn't seem to have a proper stack trace (or rather: position information) 22:30
the line number is there, but the -----> points at an empty string
jnthn timotimo: That's not specific to your exception 22:31
timotimo OK 22:32
any particular place/file where the levenshtein function would fit in?
jnthn If you're just gonna call it from World, guess it could go in there 22:33
22:33 stevan_ joined 22:34 stevan__ joined
timotimo okay 22:36
lichtkind timotimo: may i ask you how long your active on perl6? 22:37
22:38 stevan_ left
timotimo a few months. 2 at most, i think 22:41
22:43 mtk left
timotimo oh, there's another problem, jnthn. Should i be able to nqp::istype($_, X::Inheritance::UnknownParent) inside the CATCH block? because i have a say in there that doesn't seem to be called. 22:44
jnthn timotimo: You need to use find_symbol to lookup up the exception type 22:45
22:46 hash_table joined, hash_table left 22:50 Rix joined
timotimo jnthn: so i'm thinking i'll look at the code in find_symbol and modify it so that it enumerates all names and compares them against the given name, would that make sense or is there a simpler way to go through all symbols that exist? should i even recurse into Foo::* and Bar::* if i find them? 22:55
jnthn timotimo: No, walking the blocks is probably the easiest way 22:57
timotimo: You only need care about type objects
nqp::isconcrete($thing) will produce 0 for the things you need to care about. 22:58
timotimo excellent, thanks! :)
23:01 bluescreen10 left
timotimo would something like this work? my @candidates; sub evaluate($candidate) { nqp::push(@candidates, $candidate) if levenshtein($candidate, $attempted) < 5 }; walk-blocks(&evaluate);? (mostly wondering about passing the sub and the lexical scope of @candidates) 23:01
23:02 rking joined
jnthn Should do; nqp gets closures pretty right :) 23:04
timotimo that's a pretty excellent thing for a "low level"/"close to metal"/"compiler implementation" language 23:05
masak closures are fairly close to the metal, if your metal is made of lambda calculus :P 23:06
jnthn I use them all over the compiler. They're too useful not to have.
timotimo agreed
masak that's how I feel about them nowadays too. 23:07
jnthn I'm at the point where I find it hard to think in languages that lack them.
masak aye, same.
jnthn C I can sorta cope-ish with in so far as it has function pointers, even if not closures.
But Java often leaves me scratching my head. :)
masak C has an excuse: it has manual memory management. 23:08
jnthn Aye
masak so C essentially does the most with what it has.
Java has no such excuse.
jnthn C isn't a language I'd choose for many projects, but certainly ain't something I seek to avoid when it fits. 23:09
23:09 pmurias joined
pmurias jnthn: ping 23:09
phenny pmurias: 19:08Z <jnthn> tell pmurias we could do something like that, yes
jnthn pmurias: o/
23:11 spider-mario left
TimToady swarley: you'd want \xDEAD to specify a Unicode character in hex 23:14
masak r: say "\xDEAD" 23:16
p6eval rakudo 3a8d48: OUTPUT«===SORRY!===␤Invalid character for UTF-8 encoding␤␤»
masak ...though perhaps not exactly that one :P
pmurias jnthn: I have already switched to that for rakudo-js, should I change nqp-jvm-pre?
jnthn pmurias: Yes, please.
swarley r: say "\x00A1"
p6eval rakudo 3a8d48: OUTPUT«¡␤»
jnthn pmurias: Have you a commit bit? 23:17
pmurias no 23:19
jnthn you have now 23:20
masak 'night, #perl6 23:21
lichtkind good night masak 23:23
sorear o/ 23:25
timotimo nqp::istype($_, self.find_symbol(["X", "Inheritance", "UnknownParent"])) { - this seems wrong - what's the right way to do this?
pmurias jnthn: pastie.org/5712221 23:26
jnthn timotimo: It looks right to me...
timotimo sprunge.us/NYNI 23:27
this is the code i've come up with so far. the say doesn't seem to be called.
jnthn pmurias: Huh...
lue hello o/ 23:28
jnthn pmurias: Have you had problems building this before?
timotimo: I wonder if the issue is that you've got the Parrot exception there, which has the Perl 6 one wrapped up inside of it 23:29
sorear lue o/
jnthn timotimo: Try nqp::getpayload($_)
(in place of the $_)
timotimo thanks, will try
should i ex := thepayload, too? 23:30
jnthn yeah
pmurias jnthn: tried building it for the first time
lue is once again vexed with NQP and add_parrot_vtable_handler_mapping
pmurias jnthn: maybe I have a wrong version of java 23:31
jnthn pmurias: That's about my best guess
lue: I wouldn't vex yourself too much with that, it's endangered... 23:32
pmurias jnthn: java -version => pastie.org/5712243
lue Well, not that specifically. I meant a role's apparent inability to apply is traits to a role's variable in NQP.
jnthn I have java version "1.7.0_07"
23:35 thou left
pmurias has tried to avoid java thus far, so is completely ignorant about the various versions etc. 23:37
jnthn has avoid it for most of his career also ;) 23:38
lue has successfully avoided Oracle Java so far.
timotimo jnthn: your guess was absolutely correct. rethrowing the payload of the exception gets me an error, though, so i'll rethrow the wrapped exception instead. ("SixModelObject does not implement get_pmc_keyed_str") 23:40
jnthn I've only ever delivered one thing in Java for a $dayjob client, some years ago. AFAIK, it's still making them plenty of money...
23:40 skids joined
jnthn timotimo: aye, sounds right 23:41
pmurias jnthn: updating the java version seemed to solve the problem 23:43
jnthn \o/
pmurias all tests pass 23:45
jnthn Dang, I need to write more tests :P
diakopter <.<.
lue suddenly thinks of NQP and gcj ... 23:46
23:47 pbt joined 23:48 pbt left 23:49 stopbit left
pmurias jnthn: btw shouldn't a 3.0 be printed as 3 instead of 3? 23:52
* instead of 3.0 23:53
jnthn prn: say 3.0e0 23:55
p6eval rakudo 3a8d48, niecza v24-18-gaf64300, pugs: OUTPUT«3␤»
jnthn Looks like ;)
It's not intentional, just what someDouble.toString() does by default.
pmurias nqp: say 3.0;
p6eval nqp: OUTPUT«Confused at line 2, near "say 3.0;"␤current instr.: 'panic' pc 13207 (src/stage2/gen/NQPHLL.pir:4680) (src/stage2/gen/NQPHLL.pm:328)␤»
pmurias nqp: say(3.0);
p6eval nqp: OUTPUT«3␤»
pmurias will try to fix that once "make test" finishes running 23:57
timotimo what's the canonical way to iterate over all entries in a hash in nqp? there seems to be no nqp::hashkeys or nqp::keys or something? 23:58
pmurias timotimo: for
timotimo: it gives you a key/value object 23:59
timotimo oh, that's surprisingly good
does it work the same way with iterating over lists? why do i keep seeing my $i := +@foo; while $i > 0 { ... }?