»ö« 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.
timotimo ... now how does it interact with nameds? :| 00:04
00:05 Chillance left
timotimo spectests 00:20
uuuh, i have some test failures in the spectest suite that i don't think are mine 00:25
oops, old rakudo
00:30 lustlife joined
timotimo lots and lots of spectest failures :( 00:33
00:36 nebuchad` joined, Maddingu1 joined 00:37 census_ left 00:38 FROGGS_ joined 00:39 TimToady_ joined 00:43 drbean_ joined 00:44 _ilbot left, jaldhar_ left, FROGGS left, nebuchadnezzar left, TimToady left, drbean_ is now known as drbean 00:47 am0c joined
timotimo hm. my change doesn't break, but doesn't make the test pass either >_> 00:52
dalek rl6-roast-data: fbaeeea | coke++ | / (4 files):
today (automated commit)
00:54
00:55 bowtie left 01:00 _ilbot joined
timotimo i think i may have broken something :( 01:10
well, at least the mistake was pretty obvious 01:13
01:14 anuby joined
dalek ast: 7d2ac00 | (Timo Paulssen)++ | S03-junctions/autothreading.t:
fix a typo.
01:19
timotimo great, it seems i made it work! :) 01:20
er, i think i accidentally made a different todo patch 01:24
is that good or bad?
oh, cool. it actually is! 01:26
01:28 hypolin joined
timotimo rn: my tn($:a, $:b) { say "$a, $b" }; tn(:a(1&2), :b(10&20)); tn(:b(10&20), :a(1&2)) 01:33
p6eval rakudo 8d510e: OUTPUT«===SORRY!===␤Type 'tn' is not declared␤at /tmp/EuvO5bcDJV:1␤------> my tn⏏($:a, $:b) { say "$a, $b" }; tn(:a(1&2),␤Malformed my␤at /tmp/EuvO5bcDJV:1␤------> my ⏏tn($:a, $:b) { say "$a, $b" }; tn(:a(1&2␤ exp…
..niecza v24-33-gfc6d5fd: OUTPUT«===SORRY!===␤␤Malformed my at /tmp/S1r5iEgz_u line 1:␤------> my⏏ tn($:a, $:b) { say "$a, $b" }; tn(:a(1&␤␤Parse failed␤␤»
timotimo rn: sub tn($:a, $:b) { say "$a, $b" }; tn(:a(1&2), :b(10&20)); tn(:b(10&20), :a(1&2))
p6eval niecza v24-33-gfc6d5fd: OUTPUT«===SORRY!===␤␤You may not use the : twigil in a signature at /tmp/WsLp3olwLk line 1:␤------> sub tn(⏏$:a, $:b) { say "$a, $b" }; tn(:a(1&2), ␤␤Parse failed␤␤»
..rakudo 8d510e: OUTPUT«===SORRY!===␤In signature parameter, placeholder variables like $:a are illegal␤you probably meant a named parameter: ':$a'␤at /tmp/JfYt6m9VMD:1␤------> sub tn($:a⏏, $:b) { say "$a, $b" }; tn(:a(1&2), :b(␤In signature parameter,…
timotimo rn: sub tn(:$a, :$b) { say "$a, $b" }; tn(:a(1&2), :b(10&20)); tn(:b(10&20), :a(1&2))
p6eval rakudo 8d510e: OUTPUT«1, 10␤1, 20␤2, 10␤2, 20␤1, 10␤2, 10␤1, 20␤2, 20␤»
..niecza v24-33-gfc6d5fd: OUTPUT«1, 10␤1, 20␤2, 10␤2, 20␤1, 10␤1, 20␤2, 10␤2, 20␤»
timotimo seems like they do it differently 01:34
rn: sub tn(:$a, :$b) { say "$a, $b" }; my Mu $res = tn(:a(1&2), :b(10&20)); tn(:b(10&20), :a(1&2)); say $res.Str;
p6eval rakudo 8d510e: OUTPUT«1, 10␤1, 20␤2, 10␤2, 20␤1, 10␤2, 10␤1, 20␤2, 20␤all(all(Bool::True, Bool::True), all(Bool::True, Bool::True))␤»
..niecza v24-33-gfc6d5fd: OUTPUT«1, 10␤1, 20␤2, 10␤2, 20␤1, 10␤1, 20␤2, 10␤2, 20␤all(all(Bool::True, Bool::True), all(Bool::True, Bool::True))␤»
timotimo er, whoops
rn: sub tn(:$a, :$b) { "$a, $b" }; my Mu $res = tn(:a(1&2), :b(10&20)); tn(:b(10&20), :a(1&2)); say $res.Str;
p6eval rakudo 8d510e, niecza v24-33-gfc6d5fd: OUTPUT«all(all("1, 10", "1, 20"), all("2, 10", "2, 20"))␤»
timotimo the ordering differs very slightly between rakudo and niecza there, but the structure of the resulting junctions is the same ... huh? 01:35
oh well, that shouldn't be a problem at all.
01:36 adu joined
timotimo the ordering of calls only, mind you. 01:50
01:51 grondilu left 01:53 xinming left, adu left 01:55 xinming joined 02:07 adu joined 02:10 FROGGS__ joined 02:14 FROGGS_ left 02:16 lichtkind_ is now known as lichtkind 03:10 orafu left 03:18 adu left 03:22 orafu joined 03:29 adu joined 04:19 stevan_ joined 04:38 dayangkun left 04:47 skids left 04:51 preflex_ joined 04:52 preflex left, preflex_ is now known as preflex 05:04 stevan_ left 05:18 kst` is now known as kst 05:45 rindolf joined 05:46 kaleem joined
diakopter . 05:51
05:52 crab2313 joined 06:09 am0c left 06:14 stevan_ joined 06:19 stevan_ left 06:34 hypolin left 06:36 Targen joined 06:41 adu left 06:49 Heather joined
Heather hi 06:49
tadzik ping
06:50 hypolin joined
Heather how to specify prefix (or destdir) in panda's bootstrap.pl 06:50
tadzik Heather: pong 06:51
DESTDIR should work
Heather tadzik DESTDIR=${D}/usr perl6 bootstrap.pl ? 06:52
tadzik Heather: yeah, should work
Heather trying 06:53
tadzik because my sandbox don't like when scripts do autoinstalls
tadzik Heather: I see
yeah, you're not the first one to note that, I should take a closer look at this issue 06:54
Heather this way it works ok
tadzik oh, great
Heather but let me see where will it be installed )
tadzik should talk to sjn++ about this again
Heather install process is beauty :3 06:55
I can install it everyday =_='
tadzik I'm glad to hear that :) 06:57
bad news is, if you want to stay up-to-date with Rakudo, you _will_ need to install it every day :P
precompiled modules work only on the version on which they were precompiled 06:58
Heather tadzik strange no install for me
tadzik huh 06:59
where did it install?
(if known)
Heather tadzik I don't get it ) let me check some more 07:01
tadzik Heather: so, DESTDIR does nothing? Installs to the default location? Doesn't install anywhere? 07:02
bonsaikitten Heather: equery f to the rescue? :) 07:03
tadzik Heather: it worked over here
Heather bonsaikitten default src_install must just take D files and put in on it's way, right? 07:04
tadzik Heather: gist.github.com/tadzik/5132411
Heather bonsaikitten image is filled 07:06
maybe... I must put this stuff to src_install so it will not override image
bonsaikitten ^
?
that's logical bit 07:07
I will try
gist.github.com/Cynede/5132425 07:08
bonsaikitten Heather: sense, you make little ;) 07:09
Heather bonsaikitten do you think so?
bonsaikitten I think portage thinks that when I install stuff in compile process it's not install and just my temp files I put over dist dir 07:10
bonsaikitten am I wrong?
bonsaikitten quite likely 07:11
07:11 xiaoyafeng joined
Heather yes 07:12
bonsaikitten I am right, above snippet is working
but it install all the mess
07:12 rindolf left
Heather tadzik do we really need to have src installed to distdir? 07:13
tadzik Heather: no, you can remove that
Heather tadzik -_-'
tadzik actually, just looking at my gist there made me think "I should make it clean up src" 07:14
Heather tadzik yep :)
tadzik it needs it for building, but it can safely remove it afterwards
Heather that will fix my ebuild without my actions
tadzik hmm, you should be able to do that easily
rm -rf ${D}/src, or something 07:15
Heather tadzik I can but I prefer keep it wrong before better solution
tadzik hm
Heather tadzik I can install it to temp dir in src_install then move stuff to /usr/bin by myself - that will be better 07:16
but I'm lazy to do it for now, knowing that your will change install structure one day 07:17
tadzik hm
bonsaikitten Heather: better to use makefile install function and then prune unneeded stuff
07:18 xiaoyafeng left
Heather bonsaikitten why 07:18
tadzik Heather: can you open me a github ticket for that? 07:19
(getting rid of src, especially during bootstrap)
Heather tadzik sure
tadzik (it makes little sense in general, but absolutely zero sense in bootstrap)
thanks
bonsaikitten Heather: if upstream changes the install stuff you don't mess up 07:20
and once upstream fixes it you just remove one line and tadaah!
Heather bonsaikitten so you're right here, mostly it's right but I don't feel it right when project is installing it's sources :) 07:21
bonsaikitten Heather: yeah, so prune it
Heather bonsaikitten wrong 07:22
bonsaikitten better fix it upstream
bonsaikitten that's the second step
Heather (if possible) :)
bonsaikitten so if you like to do useless job then yes :D
bonsaikitten Heather: so fix it in the makefile, then send patch upstream 07:23
Heather bonsaikitten good way
agreed
GlitchMr Just wondering, does Perl 6 have anything like Java generics?
07:24 isomorphisms left
GlitchMr rn: my Array of Str $what = ['b', 'a']; 07:25
p6eval rakudo 8d510e: OUTPUT«Type check failed in assignment to '$what'; expected 'Array+{TypedArray}' but got 'Array'␤ in block at /tmp/WskH9opZPU:1␤␤»
..niecza v24-33-gfc6d5fd: OUTPUT«===SORRY!===␤␤Coercive declarations NYI at /tmp/q0SMYwOrAN line 1:␤------> my Array of Str⏏ $what = ['b', 'a'];␤␤Potential difficulties:␤ $what is declared but not used at /tmp/q0SMYwOrAN line 1:␤------> my Array …
Heather tadzik github.com/tadzik/panda/issues/35
Ulti GlitchMr you can have typed arrays perlcabal.org/syn/S09.html#Typed_arrays
07:25 rindolf joined, jaldhar_ joined
GlitchMr I know I can with @. 07:26
But can I with $?
Or can I have array of array of str.
07:26 rindolf left
Ulti you mean can you define the nested type like ArrayList<ArrayList<String>> 07:26
07:26 rindolf joined
GlitchMr > my @arr of Array of Str = ['a', 'b'], ['c', 'd'] 07:26
a b c d
Looks like it sort of works 07:27
Ulti the real question is why would you want to ;)
Heather bonsaikitten 07<slyfox^w> 01(23:10:20) slyfox: Heather: sorry for a delay. had some silly stuff to do at work. i'll fill a 'new dev' request right now01 \o/ 07:32
Ulti in Java that all stemmed from things being stored as Object and having to cast, items keep their type in Perl6 so if you go through a list with say @list>>.^name you get all the types
bonsaikitten Heather: ah good :) 07:33
Ulti r: my @list = 1, "two", 3; say @list>>.^name;
Heather tadzik though main trouble is not src install to /usr
p6eval rakudo 8d510e: OUTPUT«Int Str Int␤»
Heather tadzik lib is installed in incorrect place
tadzik oh, hm 07:34
yeah, /usr/lib/Module-name looks quite imperfect 07:35
Ulti rn: say -1.0.^name 07:37
p6eval niecza v24-33-gfc6d5fd: OUTPUT«Unhandled exception: Cannot parse number: Rat␤ at /home/p6eval/niecza/lib/CORE.setting line 1490 (die @ 5) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3606 (ANON @ 10) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3608 (NumSyntax.str2num @ 5) ␤ at …
..rakudo 8d510e: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏Rat' (indicated by ⏏)␤ in method Numeric at src/gen/CORE.setting:10516␤ in sub prefix:<-> at src/gen/CORE.setting:2696␤ in sub prefix:<-> at src/gen/CORE.setting:2696␤ in b…
Ulti rn: say 1.0.^name
Heather tadzik no it's just incorrect because it's not searching for them there
p6eval rakudo 8d510e, niecza v24-33-gfc6d5fd: OUTPUT«Rat␤»
tadzik Heather: oh, it won't be 07:39
r: say %*CUSTOM_LIB.perl
p6eval rakudo 8d510e: OUTPUT«("perl" => "/home/p6eval/nom-inst/lib/parrot/4.10.0-devel/languages/perl6", "vendor" => "/home/p6eval/nom-inst/lib/parrot/4.10.0-devel/languages/perl6/vendor", "site" => "/home/p6eval/nom-inst/lib/parrot/4.10.0-devel/languages/perl6/site", "home" => "/home/p6eval/.…
tadzik if it's not anywhere in CUSTOM_LIB, rakudo will not find them
Heather tadzik ?
tadzik you need to adjust PERL6LIB for that
Heather tadzik why not put lib to some default place? 07:40
Ulti rn: -1.0.perl
p6eval rakudo 8d510e, niecza v24-33-gfc6d5fd: ( no output )
Ulti rn: say -1.0.perl
p6eval rakudo 8d510e, niecza v24-33-gfc6d5fd: OUTPUT«-1␤»
Heather usr/lib/parrot/5.1.0/languages/perl6/site/lib, /usr/lib/parrot/5.1.0/languages/perl6/vendor/lib, /usr/lib/parrot/5.1.0/languages/perl6/lib, /home/nen/.perl6/2013.02/lib
07:40 rindolf left
tadzik Heather: default like what? 07:40
Ulti wont that give you an Int not a Rat when you exec...
Heather tadzik above
07:40 nebuchad` is now known as nebuchadnezzar, rindolf joined
tadzik Heather: well, of course you can put it there :) 07:41
Ulti rn: say 1.0.perl
p6eval rakudo 8d510e, niecza v24-33-gfc6d5fd: OUTPUT«1.0␤»
tadzik bootstrap.pl will try that by default
Ulti that is weird!!!
Heather tadzik I think 01usr/lib/parrot/5.1.0/languages/perl6/site/lib, 01 is good location to put :)
tadzik Heather: that's probably one of the defaults, if not the default :) 07:42
Ulti surely different behaviour for negative and positive numbers is a bug?
07:42 census joined
Heather tadzik another way is adding /usr/lib to defaults... 07:45
tadzik but I think separating perl libs to another place will be better 07:46
tadzik Heather: maybe it makes sense to install it along with Rakudo 07:48
to /usr/lib/parrot/somewhere
you will need to reinstall it after updating rakudo anyway
moritz \0 07:49
Heather I see
07:49 rindolf left 07:50 rindolf joined
tadzik hey moritz 07:51
Heather tadzik so... and there are to ways. making some wrapper with PERL6LIB=.... panda $@ or adding some path to defaults, personally I like second way more
another thing... Failed to create directory '/usr/lib/parrot/5.1.0/languages/perl6/site/panda/' with mode '0o777': mkdir failed: Permission denied 07:53
masak morning, #perl6! 07:54
tadzik emerge says that?
morning, masak!
Heather tadzik, not panda says that
masak is teaching Perl 5 today! :)
Heather masak teach me
masak Heather: later; these people are paying me. :P
tadzik Heather: I'd say 1) install to rakudo-recognized location, 2) install it wherever your OS suggests and add PERL6LIB thing to /etc/profile somewhere
*G*
also: look how Perl 5 does that 07:56
if you install e.g. Moose on gentoo, it'll end up in /usr/lib/perl5/5.16.2/bla/bla/bla
and after you update Perl, there's a perl-updater thing which will rebuild all modules, is that right? 07:57
Heather tadzik never used perl-updater, there is no such thing ) I know only haskell-updater 07:59
masak seriously though; if there were enough interest here on IRC, I would totally do a 1-day Perl 5 IRC workshop, pro bono.
ditto a one-day Perl 6 IRC workshop. 08:00
tadzik Heather: I may be wrong, I didn't use gentoo for some time now
08:00 donaldh left
Heather tadzik I may be wrong too, I didn't used perl ) 08:01
vaelxon (Perl 6 IRC workshop)++
08:01 donaldh joined, bbkr left
masak it'd be very awesome, I promise. I'd need some time to prepare. but then we can grab a channel and basically party/learn for a day together. 08:02
08:04 rindolf left, daxim joined 08:05 rindolf joined
vaelxon it'd be a good way to drum up interest too...e.g. I've not actually written anything in Perl 6 myself, but I lurk here and track its progress over the years...something like an irc workshop might catalyze people like me to start an actual project in perl 6 08:06
masak I'll leave the idea floating in here for a while to see if there's enough interest. 08:08
if there is, we can start thinking about a date and more precise contents.
tadzik I'll attend in that, probably :) 08:09
masak tadzik: I'd have you on the channel, but in the role of amanuensis :) 08:10
08:10 brrt joined
tadzik hum, what will I do? :) 08:11
08:12 Ovid joined, Ovid is now known as Guest63472
masak .oO( what an amanuensis always does: not much ) :P 08:13
I dunno, help people with questions sometimes.
tadzik sure
arnsholt Amanuensis means something along the lines of assistant, in case you wondered =) 08:14
masak awesome -- we don't know if it'll happen yet, and I already have an amanuensis. :P
tadzik: sign here, here, and... here. :)
tadzik :P 08:15
google translate told me that it's "sekretarz"
so "the guy who notes down stuff that happened"
masak arnsholt: sounds like it has something to do with hands.
tadzik: basically, you'll be our log bot.
:P 08:16
tadzik ha :)
arnsholt Hmm, indeed it does 08:17
And a dictionary search confirms it. ab-manus, so from-hand or something like that 08:18
08:18 wk left 08:22 rindolf left
daxim \N{PERSON RAISING BOTH HANDS IN CELEBRATION} is the new \o/ 08:22
08:22 rindolf joined 08:44 labster left 08:52 SamuraiJack joined 08:57 hoelzro|away is now known as hoelzro
timotimo good day! 09:00
09:02 salv0 joined, hypolin left 09:03 Maddingu1 is now known as Maddingue
timotimo it's a good feeling to have done a pull request 09:08
09:09 fhelmberger joined
FROGGS__ hi timotimo 09:12
timotimo FROGGS__: heya. feel like reviewing? ∑:3
09:14 hypolin joined
FROGGS__ hmmm, I could run the spectest, but I cant judge about the part you you are hacking 09:14
timotimo hm, i already ran the spectests, though 09:15
FROGGS__ ya, I know that :o)
so I wont be of any help
timotimo then feel free to be of other help :P 09:16
FROGGS__ *g*
I am, I'm almost at the point to commit something...
timotimo i was recently idly thinking about wrapping opengl with zavolaj. shouldn't be terribly hard to expose all the functions just like they are there for C, right?
FROGGS__ timotimo: should be pretty easy (just much to write) 09:17
arnsholt It's been a while since I dealt with OpenGL (and even then it was only briefly), but it should be possible, yeah
timotimo macros and metaprogramming :)
but then i haven't spent any time on learning anything >= 3.0
09:19 dayangkun joined, donaldh left
timotimo hm. there no longer is a select function in IO? how do i select an active socket from a list of sockets? 09:19
tadzik you don't. It never worked too well 09:20
you can try IO::Select
timotimo i will not end up implementing rc/Chat Server today then :P 09:21
masak arnsholt++ # etymologiensis
tadzik timotimo: try MuEvent :)
09:21 donaldh joined
timotimo is that sufficiently acceptable for rosettacode? 09:21
tadzik hmm 09:22
moritz rosettacode examples can use modules, yes 09:24
09:24 M_o_C joined
tadzik wonders if it's good to recommend MuEvent to anyone not wearing an adventurer's hat 09:25
timotimo :D 09:26
hoelzro ahoy #perl6 09:40
09:40 SamuraiJack left 09:41 SamuraiJack joined, census left 09:44 grondilu joined
grondilu rn: say 0 * my Num $x; 09:44
p6eval rakudo 8d510e: OUTPUT«Parameter '' requires an instance, but a type object was passed␤ in method Bridge at src/gen/CORE.setting:3387␤ in sub infix:<*> at src/gen/CORE.setting:3034␤ in block at /tmp/0BAMQqUFZl:1␤␤»
..niecza v24-33-gfc6d5fd: OUTPUT«Potential difficulties:␤ $x is declared but not used at /tmp/0Pdo5kSlC2 line 1:␤------> say 0 * my Num ⏏$x;␤␤0␤»
grondilu shouldn't 0 * Any return 0 all the time? 09:46
FROGGS__ rn: say my Num $x 09:47
p6eval rakudo 8d510e: OUTPUT«(Num)␤»
..niecza v24-33-gfc6d5fd: OUTPUT«Potential difficulties:␤ $x is declared but not used at /tmp/tkWBENc_QF line 1:␤------> say my Num ⏏$x␤␤Num()␤»
FROGGS__ rn: say 0 * Num();
p6eval niecza v24-33-gfc6d5fd: OUTPUT«Unhandled exception: Unable to resolve method postcircumfix:<( )> in type Num␤ at /tmp/MIQoJmy9DZ line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4285 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4286 (module-CORE @ 581…
..rakudo 8d510e: OUTPUT«0␤»
grondilu rn: say 0 * my Num $; 09:48
p6eval rakudo 8d510e: OUTPUT«Parameter '' requires an instance, but a type object was passed␤ in method Bridge at src/gen/CORE.setting:3387␤ in sub infix:<*> at src/gen/CORE.setting:3034␤ in block at /tmp/Mv6Tap8T94:1␤␤»
..niecza v24-33-gfc6d5fd: OUTPUT«0␤»
grondilu rn: say 0 * Num;
p6eval niecza v24-33-gfc6d5fd: OUTPUT«0␤»
..rakudo 8d510e: OUTPUT«Parameter '' requires an instance, but a type object was passed␤ in method Bridge at src/gen/CORE.setting:3387␤ in sub infix:<*> at src/gen/CORE.setting:3034␤ in block at /tmp/Iw4b6L1Yrg:1␤␤»
grondilu so it does return 0, at least according to Niecza 09:49
rn: say 0 * Any
p6eval niecza v24-33-gfc6d5fd: OUTPUT«Use of uninitialized value in numeric context␤ at /home/p6eval/niecza/lib/CORE.setting line 1342 (warn @ 5) ␤ at /home/p6eval/niecza/lib/CORE.setting line 294 (Any.Numeric @ 8) ␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /tmp/JiJVZIykve line 1 (mainli…
..rakudo 8d510e: OUTPUT«use of uninitialized value of type Any in numeric context in block at /tmp/XC2MFStrvS:1␤␤0␤»
grondilu needs to read about what 'Any' is exactly 09:50
moritz a type object. 09:51
doc.perl6.org/type/Any
09:52 kresike joined
kresike hello all you happy and/or unhappy perl6 people 09:52
09:53 dakkar joined
brrt hi kresike :-) 09:53
always good to see you
kresike brrt, o/
it's nice to lurk here ☺ 09:54
one can learn a lot of useful things 09:55
brrt thinks #perl6 is usually very educative
09:56 Heather left
hoelzro so I spent some time over the weekend trying to figure out how bracketing characters are parsed in Rakudo 09:57
with limited success =/
I understand that NQP has a giant string with the openers/closers 10:01
and rakudo has an opener token
but I'm not clear how Rakudo figured out the closer for its special opener token
timotimo did you see Grammar.pm:3543ff 10:03
?
hoelzro timotimo: is that HLL::Grammar or Perl6::Grammar?
timotimo Perl6
this "unbalanced" function seems like the ticket
er, hold on. 10:04
that's not helpful!
oh, maybe the babble tokes would be helpful 10:06
10:06 wk joined
hoelzro I saw babble, but I'm still trying to parse it out 10:06
10:06 felipe joined
timotimo there's a "peek_delimiters" method on the cursor that seems to return the start and stop thingies 10:06
FROGGS__ r: sub circumfix:<{ ]>($contents) { say "$contents!" }; { "OH HAI" ]
p6eval rakudo 8d510e: OUTPUT«OH HAI!␤»
FROGGS__ hoelzro: I believe it doesnt know about closers to a given opener 10:07
hoelzro FROGGS__: how then does it figure it out?
10:07 hypolin left
FROGGS__ it just takes what you provide when defining withing sym<...> 10:07
within <...>, there is no sym in my example 10:08
hoelzro hmm 10:09
timotimo ah, i found it
hoelzro so I see token opener { ... } in Rakudo's source
how does that get transformed into sym rules?
timotimo in NQPHLL the peek_delimiters method is defined
it does look at that long list of openers + closers
hoelzro right, but that's only NQP's list 10:10
timotimo so i think babble is responsible, because it uses that method
hm.
FROGGS__ hoelzro: Perl6::Grammar inherits from HLL::Grammar, so the stuff which isnt overwritten is still available in Perl6::Grammar 10:11
hoelzro so NQP's list of bracket chars defines 66 pairings 10:12
FROGGS__ hoelzro: and you wanna expand that list? 10:13
hoelzro FROGGS__: well, I noticed that Rakudo has more characters in its openers
so I want to know how the heck it finds the closers!
I'm trying to make the bracket characters that pygments recognizes as legal reflect what's actually legal 10:14
FROGGS__ ahh right
timotimo: do you get spectest failes too? 10:15
hoelzro ok, so I wrote a quick test script; only 66 pairings are legal according to Rakudo
so it seems (at the moment) that token opener { ... } is ignored wrt string bracketing chars?
FROGGS__ hoelzro: to me it looks like token opener is only used for block comments 10:18
hoelzro ah ha
FROGGS__ right, nothing else is using this token (nothing in nqp and nothing in rakudo) 10:19
I just grepped for 'opener'
timotimo FROGGS__: yeah, a few. environment and configuration and such 10:23
but they are there on nom, too
so i didn't worry about it
10:24 dayangkun left
FROGGS__ timotimo: okay, so not my fault :o) 10:26
10:26 anuby left
FROGGS__ but they need to get fixed anyway... 10:26
nr: %*ENV<abc> = 'def'; say %*ENV 10:33
p6eval rakudo 8d510e: OUTPUT«("PERLBREW_VERSION" => "0.42", "MAIL" => "/var/mail/p6eval", "USER" => "p6eval", "SHLVL" => "1", "HOME" => "/home/p6eval", "OLDPWD" => "/home/p6eval", "PERLBREW_ROOT" => "/home/p6eval/perl5/perlbrew", "PERLBREW_MANPATH" => "/home/p6eval/perl5/perlbrew/perls/perl-5.…
..niecza v24-33-gfc6d5fd: OUTPUT«{"HOME" => "/home/p6eval", "LANG" => "en_US.UTF-8", "LD_LIBRARY_PATH" => "/usr/local/mono-2.10.1/lib", "LOGNAME" => "p6eval", "LS_COLORS" => "rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=3…
FROGGS__ nr: %*ENV<abc> = 'def'; say %*ENV.gist ~~ /abc/
p6eval niecza v24-33-gfc6d5fd: OUTPUT«Use of Nil as a string␤ at /home/p6eval/niecza/lib/CORE.setting line 1342 (warn @ 5) ␤ at /home/p6eval/niecza/lib/CORE.setting line 449 (Nil.Str @ 4) ␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2870 (Match.gis…
..rakudo 8d510e: OUTPUT«#<failed match>␤»
FROGGS__ nr: %*ENV<abc> = 'def'; say %*ENV.perl ~~ /abc/
p6eval niecza v24-33-gfc6d5fd: OUTPUT«Use of Nil as a string␤ at /home/p6eval/niecza/lib/CORE.setting line 1342 (warn @ 5) ␤ at /home/p6eval/niecza/lib/CORE.setting line 449 (Nil.Str @ 4) ␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2870 (Match.gis…
..rakudo 8d510e: OUTPUT«#<failed match>␤»
FROGGS__ nr: %*ENV<abc> = 'def'; say %*ENV<abc> 10:34
10:34 donaldh left
p6eval rakudo 8d510e, niecza v24-33-gfc6d5fd: OUTPUT«def␤» 10:34
FROGGS__ hmmm
10:36 xinming left 10:37 xinming joined
FROGGS__ p: %*ENV<abc> = 'def'; say %*ENV.perl ~~ /abc/ 10:39
p6eval pugs: OUTPUT«*** Can't modify constant item: VUndef␤ at /tmp/sYwqCYylSn line 1, column 1-19␤ /tmp/sYwqCYylSn line 1, column 1-19␤»
FROGGS__ p: %*ENV<abc> = 'def'; say %*ENV.gist ~~ /abc/ 10:40
p6eval pugs: OUTPUT«*** Can't modify constant item: VUndef␤ at /tmp/JfxU3lNEpu line 1, column 1-19␤ /tmp/JfxU3lNEpu line 1, column 1-19␤»
dalek ast: 9abc448 | (Tobias Leich)++ | S02-magicals/env.t:
fudge failing tests
10:41
timotimo hm, can named parameters and positional parameters be mixed in a call signature? 10:49
why don't i just try? 10:51
moritz why indeed?
colomon rn: sub f($a, :$b) { say $a + $b; }; f(:b(2), 23)
FROGGS__ timotimo: I think this is working for methods
p6eval rakudo 8d510e, niecza v24-33-gfc6d5fd: OUTPUT«25␤»
Ulti how do I create a rakudo ticket? rt.perl.org I can only search by the looks of it
timotimo Ulti: you can log in with your bitcard account
Ulti I did 10:52
FROGGS__ Ulti: mail to [email@hidden.address]
Ulti k
timotimo maybe you've somehow ended up in the read-only view version of rt
Ulti at least I assume this is a bug..
r: say 1.0.perl; say -1.0.perl; say 1.0.^name; say -1.0.^name;
p6eval rakudo 8d510e: OUTPUT«1.0␤-1␤Rat␤Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏Rat' (indicated by ⏏)␤ in method Numeric at src/gen/CORE.setting:10516␤ in sub prefix:<-> at src/gen/CORE.setting:2696␤ in sub prefix:<-> at src/gen/CORE.setting:…
timotimo moritz: i'm asking because of the way in junctions the leftmost & would be autothreaded before the leftmost | junction would
moritz yes, there's a spec ticket for that 10:53
timotimo the current code doesn't prefer & junctions from the named at all.
Ulti k
moritz Ulti: not a bug
it parses as - (1.0.^name)
Ulti: so it's the same as -"Rat"
r: say -"Rat"
p6eval rakudo 8d510e: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏Rat' (indicated by ⏏)␤ in method Numeric at src/gen/CORE.setting:10516␤ in sub prefix:<-> at src/gen/CORE.setting:2696␤ in sub prefix:<-> at src/gen/CORE.setting:2696␤ in b…
Ulti yeah but -1.0.perl is an integer whereas 1.0.perl is a rational too which I'm not sure is quite the same 10:54
moritz 1.0.perl is a Str
and it happens to be a Str which can convert back to a number
which is why -1.0.perl "works" 10:55
kinda by accident
Ulti yeah but the .perl is meant to give you the string which will give you the original value right?
for 1.0.perl you get 1/1 for -1.0/perl you dont get -1/1
or -(1/1) or whatever it should be
moritz well, if you want the perl from -1.0, you have to write it as (-1.0).perl 10:56
method calls bind tighter than prefixes
Ulti right
colomon rn: say (1.0).perl 10:58
p6eval rakudo 8d510e, niecza v24-33-gfc6d5fd: OUTPUT«1.0␤»
colomon rn: say (-1.0).perl
p6eval rakudo 8d510e, niecza v24-33-gfc6d5fd: OUTPUT«-1.0␤»
Ulti I guess it's a bit of an edge case someone doing that on a literal anyway 11:00
well apart from I learnt the - isnt part of the literal :)
colomon it still will happen if you say -$rat.perl 11:02
er.... wait a minute 11:03
rn: say 1.0.perl, -1.0.perl
p6eval rakudo 8d510e, niecza v24-33-gfc6d5fd: OUTPUT«1.0-1␤»
colomon rn: say 1.5.perl, -1.5.perl
p6eval rakudo 8d510e, niecza v24-33-gfc6d5fd: OUTPUT«1.5-1.5␤»
colomon The problem with getting old is I don't remember why +"1.0" is Int and not Rat 11:04
rn: say (+"1.0").WHAT 11:05
p6eval rakudo 8d510e, niecza v24-33-gfc6d5fd: OUTPUT«(Rat)␤»
colomon and the answer is it *is* a Rat
rn: say (-1.0.perl).WHAT
p6eval rakudo 8d510e, niecza v24-33-gfc6d5fd: OUTPUT«(Rat)␤»
colomon rn: say -1.0 11:06
p6eval rakudo 8d510e, niecza v24-33-gfc6d5fd: OUTPUT«-1␤»
timotimo doesn't mean you're not getting old though :)
colomon Ulti: so the real answer here is that -1.0.perl already does exactly what you want
Ulti no it really doesnt 11:07
if you are serialising something you will get back the wrong type
timotimo oh, you would like 1.0 to perl not as 1 but as 1.0?
Ulti yeah
moritz r: say 1.0.perl 11:08
p6eval rakudo 8d510e: OUTPUT«1.0␤»
moritz looks right to me
moritz still doesn't understand what the problem is
Ulti if 1.0 goes to 1/1 why does -1.0 go to -1 is what I was a bit shocked about not anything else
moritz r: say (-1.0).perl
p6eval rakudo 8d510e: OUTPUT«-1.0␤»
Ulti I understand why its happening, but its not exactly ideal that it does
colomon ah, I see.
moritz Ulti: your only problem is that you expect a difference precedence than you actually get
colomon again, the problem is that you're asking for -(1.0.perl) 11:09
Ulti its only literals though
moritz Ulti: precedence, not literals
Ulti like $var.perl which holds -1.0 will give you -1/1
colomon -$x.perl will do the same thing
Ulti moritz: and that the - is an operator at all
colomon Ulti: no it won't. it will give you -1.0
rn: my $x = -1.0; say $x.perl 11:10
p6eval rakudo 8d510e, niecza v24-33-gfc6d5fd: OUTPUT«-1.0␤»
Ulti colomon: you stringafied that though
colomon no, .perl stringified it
Ulti ok this must be me in the repl then
there is different behaviour from say and from letting the repl print something 11:11
colomon Ulti: possibly you have an older Rakudo?
Ulti well its this months R* so yeah its old by this channels standards :D
timotimo :)
Ulti anyway you guys know what I'm talking about, which was all I was worried about 11:12
colomon Ulti: yes, applying prefix:<-> to a string will not give you a string back.
Ulti I'm the drivelling idiot just telling you the morons perspective, but we are legion!
colomon Ulti: last month's R* is probably old enough to get it wrong 11:13
11:23 crab2313 left, PerlPilot joined, robinsmidsrod left
FROGGS__ git bisect is cool, btw 11:25
Juerd It is. 11:27
Ulti thanks for the protip, "git bisect run" looks very helpful 11:29
hoelzro "constant %open2close" 11:30
yay!
FROGGS__ I'm currently trying to hunt a spectest fail down this way...
hoelzro: ?
11:30 FROGGS__ is now known as FROGGS, robinsmidsrod joined
hoelzro I found what STD uses for opener/closer parsing 11:30
did I mention that STD accepts a *lot* more bracketing chars than Rakudo? 11:32
if I'm figuring this correctly, nothing in token opener (in Rakudo) is accepted as a string opener 11:33
lunch &
FROGGS hmmm, we might should adopt STD's way
11:38 brrt left
FROGGS phenny: tell jnthn that github.com/rakudo/rakudo/commit/4e...aa3adc71ad is breaking t/spec/S26-documentation/09-configuration.t 11:42
damn
moritz ENOphenny 11:45
rindolf Hi all.
FROGGS , moritz , hoelzro , Juerd : hello! What's new?
moritz everything with a new enough timestamp 11:46
FROGGS rindolf: nothing 11:48
rindolf moritz: heh. 11:49
FROGGS I assume rindolf doesnt meant -Inf :o)
timotimo moritz: feel like reviewing/merging github.com/rakudo/rakudo/pull/113 ? froggs and me both spectested it :)
rindolf unleashes his inner Sarah Michelle Gellar to kiss moritz for his inventive avoidance of saying what he is up to. 11:50
FROGGS timotimo: err no, I said I could spectest it ó.ò
moritz timotimo: sorry, I don't feel like doing anything right now, except making snarky comments on IRC
rindolf FROGGS: I'm old enough to remember the invention of the Camel.
11:50 birdwindupbird joined
FROGGS rindolf: well, if you want to know what we are up to you may ask that 11:50
timotimo moritz: that's quite all right :P
rindolf FROGGS: “When I was your age, Jennifer Lawrence was called Sara Behranrt” 11:51
timotimo FROGGS: oops. :)
FROGGS I'm still working of my NFA-patch for interpolation of vars in regexes for example
rindolf FROGGS: moritz will always find a way to avoid it.
tadzik FROGGS: oh, I may know why it does break tests
rindolf FROGGS: unless threatened.
11:51 xinming left
rindolf FROGGS: or sweet talked. 11:51
tadzik I think Pod configuration is digging in <colonpair> internals, which changed 11:52
FROGGS and today is my first day off, and on wednessday starts the german perl workshop, so still stuff to prepare
rindolf FROGGS: nice.
FROGGS: prepare hard! Enjoy hard! Rest hard!
FROGGS tadzik: ahh cool, do you think you have time to look at that? otherwise you might supply enough information to let others fix it :o) 11:53
rindolf Step 4: profit hard!
11:53 xinming joined
rindolf Step 5: retire hard! 11:53
timotimo Step 6: die hard!
rindolf timotimo: LOL.
masak Step 3: ??? hard!
tadzik FROGGS: I should be able to fix that today
rindolf timotimo: did you see Die Hard 5 yet? 11:54
timotimo no, but i have also missed the one with the hacker
i mean to see both some time in the not too distant future
tadzik the one with the hacker was a bit weak, imo 11:55
rindolf tadzik: so I was told.
I saw the first three Die Hards.
tadzik it's feels a bit like Transformers
rindolf Good stuff.
tadzik young nerdy superhero, pretty girl
cars flying, even
rindolf Ah.
timotimo well, i just recently watched Far Cry and Doom with a friend of mine for fun, so i guess i can get into the right mindset to enjoy Die Hard 4.0 11:56
rindolf OK, if you don't fail, you don't succeed either.
4.0 here.
tadzik I thought you play Doom and Far Cry
rindolf 4.1
4.0 heh.
timotimo tadzik: Uwe Boll decided, that playing Far Cry isn't enough and told Til Schweiger to play it, too.
tadzik Doom had pretty good soundtrack
rindolf tadzik: Doom the movie?
tadzik Doom the game
rindolf tadzik: ah.
tadzik it's the first time I hear of the movie 11:57
rindolf tadzik: the original?
tadzik: didn't know there was a movie.
timotimo doom the movie also has doom-ish music going on, which i liked.
doom the movie also has color coded door frames and the BFG and mars
11:57 Heather joined
Heather tadzik github.com/tadzik/perl6-File-Tools/issues/6 11:57
rindolf timotimo: OK.
tadzik www.youtube.com/watch?feature=play...48#t=1792s is even my ringtone :)
rindolf www.youtube.com/watch?v=LHY8NKj3RKs - Minesweeper the Movie. 11:58
tadzik half of that soundtrack is inspired by old heavy metal
rindolf Just a trailer, though.
timotimo if you get a decent soundfont, it also sounds like heavy metal.
(or so i'm told)
rindolf I wonder what Freecell the movie will be like.
tadzik Heather: I don't get it 11:59
timotimo didn't you hear about Battleships the movie?
tadzik there's no code, there's no directory tree to test it on
11:59 xinming left
rindolf Heather: maybe try creating a more meaningful example. 11:59
timotimo is ".map({ .Str })" and ">>.Str" functionally the same? 12:00
Heather rindolf ok
rindolf Heather: I mean somethign simple and self-contained. A test case. 12:01
12:01 xinming joined
rindolf conditions Heather to fear and respect the escalator. 12:01
tadzik timotimo: I don't think » guarantees ordering 12:02
timotimo ah, that's good to know.
ah, but .each.Str would guarantee ordering 12:03
r: <foo bar baz quux dog cat horse>.each.uc.say
p6eval rakudo 8d510e: OUTPUT«No such method 'each' for invocant of type 'Parcel'␤ in block at /tmp/ELAzx24gg3:1␤␤»
timotimo well, seems like each is NYI
i suppose that's what "conjectural" means 12:04
12:05 brrt joined 12:07 birdwindupbird left
dalek pan style="color: #395be5">perl6-examples: c78caa8 | (L. Grondin)++ | rosalind/fibd-grondilu.pl:
[rosalind] FIBD
12:08
12:10 M_o_C left
hoelzro I'm guessing token opener was just lifted from STD.pm? 12:10
(to Rakudo)
12:14 SmokeMachine joined
Heather tadzik github.com/tadzik/perl6-File-Tools/issues/6 12:15
12:15 kaleem left
tadzik Heather: ooh, now I see it. Good catch 12:15
Heather wow...
I were speaking about it for 2 days :D 12:16
tadzik and demonstrating it in the way I did not understand ;)
so, how would you fix it? :)
Heather tadzik with File:Basename ? 12:18
tadzik cpansearch.perl.org/src/AUTRIJUS/Pe...asename.pm
tadzik but I don't know if there could be easier ways
moritz if $path.path.d { for find ... } else { unlink $path } 12:19
Heather moritz else rm_f will be better 12:21
tadzik Heather: so, you can now update the pull request with the fix for the test :)
++Heather :) 12:22
but yeah, as moritz++ says, .path.d will do
Heather spaces in this file, right? -_-' 12:23
I'm asking because another one is tabs )
tadzik hmm 12:24
spaces, no matter what :)
they should both be spaces anyway
hoelzro so...shouldn't Rakudo override peek_delimiters to use its own notion of delimiters? 12:25
Heather my emacs setup mode for editing perl set up on tabs -_-' another todo stuff
hoelzro thinks this may actually be something he could help with
FROGGS if the set of delims is different for nqp and rakudo, rakudo should override it, yes 12:29
Heather tadzik github.com/Cynede/perl6-File-Tools...01c9224c60 12:30
github.com/tadzik/perl6-File-Tools/pull/7
tadzik Heather: so, why not rm_f rather than unlink? :) 12:31
well, it's the same thing anyway
Heather tadzik no
tadzik there is list in rm_f
in input
tadzik oh, it's a slurpy list
Heather sub rm_f(*@files)
tadzik r: sub slurpy(*@a) { say @a.perl }; slurpy 'hey'; slurpy 'hey', 'ho'; 12:32
p6eval rakudo 8d510e: OUTPUT«Array.new("hey")␤Array.new("hey", "ho")␤»
tadzik Heather: thanks, I'll merge that soonish :) 12:34
Heather thanks.
12:34 mavcunha left
Heather tadzik but that doesn't fix my personal trouble :S 12:34
tadzik which is? 12:35
Heather tadzik I need to get fullpath into find
want to...
maybe I just don't need it ...
12:37 LlamaRider joined 12:47 Heather left
masak surely there must be a way to get the full path from find? 12:55
what does it give now? a relative path?
tadzik nope
star: use File::Find; find(.)[0].perl.say 12:56
FROGGS an exception on success? :P
p6eval star 2013.02: OUTPUT«===SORRY!===␤Unsupported use of . to concatenate strings; in Perl 6 please use ~␤at /tmp/meEncyKbF2:1␤------> use File::Find; find(.)⏏[0].perl.say␤»
tadzik oops
12:56 Rix left
tadzik star: use File::Find; find('.')[0].perl.say 12:56
FROGGS haha
p6eval star 2013.02: OUTPUT«Required named parameter 'dir' not passed␤ in sub find at /home/p6eval/star/lib/parrot/4.10.0/languages/perl6/lib/File/Find.pm:47␤ in block at /tmp/SWTEqcLTL3:1␤␤»
tadzik star: use File::Find; find(dir => '.')[0].perl.say
p6eval star 2013.02: OUTPUT«File::Find::Result.new(dir => ".", name => "src")␤»
tadzik yep, this
stringified it returns a full path
FROGGS star: use File::Find; say ~find(dir => '.')[0] 12:57
p6eval star 2013.02: OUTPUT«./src␤»
FROGGS relative
12:57 crab2313 joined
masak only because we passed in a relative path. 12:57
that sounds fair to me.
tadzik sure
masak GIGO. feature, not bug. NEXT! 12:58
:P
FROGGS star: use File::Find; use File::Spec; say rel2abs( ~find(dir => '.')[0] )
p6eval star 2013.02: OUTPUT«===SORRY!===␤Could not find File::Spec in any of: /home/p6eval/star/lib/parrot/4.10.0/languages/perl6/site/lib, /home/p6eval/star/lib/parrot/4.10.0/languages/perl6/vendor/lib, /home/p6eval/star/lib/parrot/4.10.0/languages/perl6/lib, /home/p6eval/.perl6/2013.02.1/lib…
FROGGS aww
star: use File::Find; use File::Spec; say File::Spec.rel2abs( ~find(dir => '.')[0] ) # this should work IMO 12:59
p6eval star 2013.02: OUTPUT«===SORRY!===␤Could not find File::Spec in any of: /home/p6eval/star/lib/parrot/4.10.0/languages/perl6/site/lib, /home/p6eval/star/lib/parrot/4.10.0/languages/perl6/vendor/lib, /home/p6eval/star/lib/parrot/4.10.0/languages/perl6/lib, /home/p6eval/.perl6/2013.02.1/lib…
FROGGS locally
FROGGS draws a sign "File::Spec into R*!"
and we need module tests... 13:02
masak +1 13:05
13:13 mavcunha joined 13:16 SamuraiJack left 13:19 REPLeffect left, araujo left 13:28 araujo joined, bluescreen10 joined 13:31 renormalist joined 13:39 stevan_ joined 13:42 Targen left 13:44 odoacre left 13:45 skids joined 13:51 PerlPilot is now known as PerlJam 13:56 census joined 14:01 odoacre joined, isomorphisms joined 14:04 Targen joined 14:09 yoleaux left, yoleaux joined 14:14 tokuhiro_ joined
masak drops a well-tuned pin 14:17
moritz puts the pin into a rail gun and accelerates it to mach 5 14:19
14:20 Rix joined
masak o.O 14:20
that was *my pin*! :P
arnsholt moritz: What about rail gun fired ravioli? =D 14:21
moritz masak: you can have it back... if you can catch it :-)
arnsholt: those don't conduct well enough for my equipment
arnsholt Probably. There's a neat newsgroup post on the subject though: www.mit.edu/people/daveg/Humor/ravioli_as_gas 14:22
14:22 Psyche^ joined 14:23 PacoAir joined 14:24 stevan_ left, PacoAir left, PacoAir joined 14:26 Patterner left, Psyche^ is now known as Patterner 14:29 colomon joined, stevan_ joined
Ulti so I just tried using the HTML::Strip module, it takes it like five minutes and several hundred MB of RAM to strip out the HTML, this takes less than a second $html.subst(/\<<-[>]>+\>/, :g, '') what's the huge penalty of a full grammar/action over a regex? 14:30
14:31 ilogger2 joined, ChanServ sets mode: +v ilogger2, djanatyn joined 14:32 ivan`` joined
moritz Ulti: well yes, parsing everythinig is much slower than searching for tiny bits, and removing them 14:35
Ulti but in theory is the regex syntax still firing up similar machinery as a grammar behind the scenes? Or is the actual implementation quite different? 14:42
moritz it's the same 14:43
14:44 eiro left
arnsholt Subrules involve method calls though, so we might get screwed by Parrots invocation overhead 14:44
Ulti k k, might be I can look at this grammar and speed it up then... since I want a reason to try out the grammar debugger :D
arnsholt Might be worth trying to get a Perl-level profile and check it out with kcachegrind
dalek kudo/nom: d24caa0 | (Tobias Leich)++ | src/core/Cursor.pm:
use an NFA to sort out listy things

This also fixes RT #117091, so :ignorecase is respected in assertions too.
14:48
moritz FROGGS++ # IN UR REGEX ENGINE, MATCHING OUR STRINGS 14:53
14:53 kaare__ joined 14:57 FROGGS[mobile] joined
hoelzro is rakudo.org's source available anywhere? 14:58
I see a reference to github.com/rakudo/rakudo/downloads, but I'm pretty sure that's invalid now
moritz it's a wordpress site 14:59
arnsholt jnthn: There's a snag with the new sized int stuff and how we've said Zavolaj should work 15:00
hoelzro could someone change the download link on rakudo.org/how-to-get-rakudo/, then? 15:01
2013 tarballs for Rakudo are not available via the GH link
arnsholt An int with no size specification should correspond to the C int, but in P6int no size means it gets sizeof(INTVAL), which is 8 bytes on x64 at least while int is 4
Any thoughts on how to best cope?
We could set it to sizeof(int) if nothing else is specified, but that means also silently truncating all bare native ints to 32 bits, which feels a bit yucky (and possibly not what the spec mandates) 15:03
diakopter malloc(sizeof(yourmom)); // EOUTOFMEMORY 15:05
moritz hoelzro: I've tried to fix rakudo.org/how-to-get-rakudo/
though the instructions for the snapshots might still be out of date
hoelzro I'll try it out later 15:06
thanks for fixing it!
pmichaud good morning, #perl6
moritz good am, pm 15:07
colomon \o 15:08
diakopter can anyone recommend or disrecommend digitalocean? 15:15
pmichaud re: d24caa0 ... what is meant by "This also fixes RT #117091"? I rejected that ticket last night as being incorrect. 15:16
15:18 cognominal joined
raiph hi #perl6. would it be reasonable to say that the rakudo compiler understands no syntax; the Perl 6 grammar defines a base syntax; setting(s) may (and to a small degree do) expand that; modules may expand that; and the user may expand that? 15:24
pmichaud raiph: I don't tend to think "compiler understands no syntax", no.
the compiler knows a fair bit about syntax. 15:25
15:25 domidumont joined
moritz raiph: the grammar is part of the compiler 15:25
pmichaud r: say 'hello'
p6eval rakudo d24caa: OUTPUT«hello␤»
moritz it's a bit like saying "humans don't understand math" because it's the human's brain that understand math 15:26
and not the human directly
pmichaud r: my $rex = 'rex'; say 'Rex' ~~ m:i/ <$rex> /;
p6eval rakudo d24caa: OUTPUT«「Rex」␤␤»
pmichaud That's a bug, as I read S05.
raiph thx for answers. gotta run for a few minutes. will backlog.
moritz r: my $rex = 'r.x'; say 'Rex' ~~ m:i/ <$rex> /; 15:27
p6eval rakudo d24caa: OUTPUT«「Rex」␤␤»
[Coke] rakudo has 3 days of failures in a row; next run kicking off in about 30m.
moritz how would I make it compile a regex case-insensitively if not like this?
pmichaud moritz: I don't know. But S05 says that subrule calls don't inherit the case-insensitivity of the dynamic scope. 15:28
one could always do:
r: my $rex =':i r.x'; say 'Rex' ~~ m/ <$rex> /;
p6eval rakudo d24caa: OUTPUT«「Rex」␤␤»
moritz pmichaud: well, I'd expect it to to be a feature of compiling $rex in case-insenstive lexical scope 15:29
not of calling it
15:30 happydude joined
colomon n: my $rex ='r.x'; say 'Rex' ~~ m/ <$rex> /; 15:31
p6eval niecza v24-33-gfc6d5fd: OUTPUT«False␤»
colomon n: my $rex ='r.x'; say 'Rex' ~~ m:i/ <$rex> /;
p6eval niecza v24-33-gfc6d5fd: OUTPUT«False␤»
pmichaud S05:677 In general, a modifier that affects the compilation of a regex (like C<:i>)
must be known at compile time.
I suppose that could be interpreted either way.
diakopter pmichaud: ok, but since it's compiled (I see it as eval("")) in that scope it makes sense to inherit it, to me
pmichaud S05:1303 clarifies it. 15:33
and thus yes, the current interpretation is correct.
S05:1303: All string values pay attention to the current C<:ignorecase>
and C<:ignoremark> settings, while C<Regex> values use their own
C<:ignorecase> and C<:ignoremark> settings.
since $rex is a string value, I think it's okay to say it pays attention to :i
r: my $x = 'rex'; say 'Rex' ~~ /:i <$rex> / 15:34
p6eval rakudo d24caa: OUTPUT«===SORRY!===␤Variable '$rex' is not declared␤at /tmp/QOjkMUQhXh:1␤------> y $x = 'rex'; say 'Rex' ~~ /:i <$rex> /⏏<EOL>␤ expecting any of:␤ postfix␤»
pmichaud r: my $x = 'rex'; say 'Rex' ~~ /:i <$x> /
p6eval rakudo d24caa: OUTPUT«「Rex」␤␤»
15:35 SunilJoshi joined
pmichaud r: my $x = 'x'; my $rex = 'r e $x'; say 'Rex' ~~ /:i <$rex> / 15:35
p6eval rakudo d24caa: OUTPUT«#<failed match>␤»
pmichaud r: my $y = 'x'; my $rex = 'r e $y'; say 'Rex' ~~ /:i <$rex> / 15:36
p6eval rakudo d24caa: OUTPUT«===SORRY!===␤Variable '$y' is not declared␤at eval_0:1␤------> my $x = anon regex {:i ^r e $y⏏ }␤»
pmichaud That's two bugs.
diakopter heh
nice finds 15:37
pmichaud it's the cost of trying to use eval() here.
and not doing it as an anonymous regex.
FROGGS, masak: ^^^^ 15:38
diakopter r: my $rex = '{die}'; say 'Rex' ~~ /:i <$rex> /
p6eval rakudo d24caa: OUTPUT«␤ in regex at eval_0:1␤ in method ACCEPTS at src/gen/CORE.setting:10862␤ in block at src/gen/CORE.setting:10774␤ in method reify at src/gen/CORE.setting:5591␤ in method reify at src/gen/CORE.setting:5492␤ in method gimme at src/gen/CORE.setting:5882␤ in me…
diakopter I can't decide whether that should be caught 15:39
15:41 domidumont left 15:42 domidumont joined
hoelzro interesting: error:imcc:loadlib directive could not find library `nqp_group' 15:42
(trying to build NQP on my VPS) 15:43
15:43 cognominal left 15:45 woolfy joined 15:50 cognominal joined
FROGGS pmichaud: will check it in a bit... 15:52
15:59 eiro joined
kresike bye folks 16:07
16:08 TimToady joined 16:13 FROGGS joined 16:18 domidumont left 16:19 telex joined 16:22 FROGGS[mobile] left 16:26 arlinius joined
FROGGS pmichaud: btw, I havn't seen that you rejected the ticket, because I have the tab open for days :/ 16:28
and I got no mail, even if I was the owner... might be configured to not do that
pmichaud: I believe I fixed it... I'm running spectest right now and will push then, would be cool if you have time to review 16:30
hoelzro ah, I think I figured it out. 16:34
got it! 16:35
FROGGS \o/
hoelzro nqp doesn't like being built on a noexec-mounted FS =) 16:36
FROGGS hehe
hoelzro nor does Parrot, for that matter
but the error was *much* more obvious on Parrot
FROGGS .oO( cigarette? ) 16:38
16:40 SamuraiJack joined, diakopter joined 16:42 am0c joined 16:43 am0c left 16:44 am0c joined 16:52 Chillance joined
jnthn evening o/ 16:59
moritz \o 17:00
colomon o/ 17:03
17:12 eiro left 17:13 am0c left 17:14 am0c joined
hoelzro damn, it seems my VPS runs out of memory trying to build Rakudo =( 17:22
17:25 ElDiabolo joined
geekosaur I think compilingt he setting is known to take a lot of memory? (Are we still working around a gc issue in parrot?) 17:26
17:27 bluescreen100 joined 17:30 ElDiabolo left
tadzik Heather++ # active contributor 17:30
17:36 ElDiabolo joined 17:37 toebu joined 17:41 stevan_ joined
dalek nda: deb3354 | tadzik++ | bootstrap.pl:
Remove src after bootstraping, it's of no use
17:44
17:54 FROGGS left 17:55 FROGGS joined
[Coke] urk. I did a git push in the roast data repository, but might have ^c'd the push. now it shows modified files and no commit to have pushed. 17:57
moritz sounds more like you interrupted the commit, not the push 17:58
or you did a git reset afterwards
[Coke] not intentionally... but now I see that the thing that would have generated the automated commit is still running... I will chalk this up to "I was confused before I started typing" and come back later. ;) 17:59
moritz wonders if 'git reset' and a few other commands need a "think before you type" warning a la sudo 18:01
18:01 colomon joined
timotimo moritz: i think they should do "'git add' and 'save away hashes' before delete" 18:12
so, essentially, stash before reset
jnthn It's only reset --hard that is especially dangerous. 18:13
timotimo reset --hard is basically the only reset i ever use :D
moritz alias 'screw that'='git reset --hard origin/master' 18:17
jnthn :D 18:19
moritz doesn't think that shell aliases may contain whitespace 18:21
timotimo alias 'scratch that'='git stash'?
moritz bash: alias: `screw that': invalid alias name
timotimo zsh does it
but it then says "screw: command not found" when i try to invoke it without quotes or anything 18:22
doesn't work with quotes either? strange.
how impolite is it to passively mention a pull request you'd like to have merged if you're pretty sure it's all right to be merged, like this one: github.com/rakudo/rakudo/pull/113 ? 18:23
18:24 spider-mario joined, fgomez joined
tadzik it's not 18:27
nag conpentent people until they review it
[Coke] finds a petition on whitehouse.gov to eliminate DST. (or, more specifically, the changes. Pick one or 'tother.) 18:28
tadzik I can say that, because I'm not competent :P
timotimo :D
i'm barely competent enough to even do pull requests! ;)
jnthn What is a pull request? :D 18:33
18:33 bluescreen100 left
dalek kudo/nom: d4e55d0 | (Timo Paulssen)++ | src/core/Junction.pm:
autothread all or none before any or one.
18:39
kudo/nom: 77335dc | jonathan++ | src/core/Junction.pm:
Merge pull request #113 from timo/autothread_order

autothread all or none before any or one.
arnsholt jnthn: Did you see the latest Zavolaj-bug? 18:40
I think that's a legitimate NQP issue, really
jnthn This is "what does int mean"? 18:41
arnsholt Yeah
In the Zavolaj docs we claim it means C int, but when a P6int REPR doesn't get a size specified we sort of want it to be INTVAL 18:42
Which isn't the same as int =/
timotimo oh yay :D 18:43
jnthn arnsholt: Indeed... 18:44
arnsholt And the way P6int works now, we'll silently truncate to 32-bit ints if we make it default to int size 18:45
jnthn We maybe shouldn't make such claims in Zavolaj's docs... :)
arnsholt Well, that's one way to solve it 18:46
jnthn The main thing is we have *a* way to specify sizes, and a way to be ambivalent.
I'd lean towards making Zavolaj give type names their Perl 6 meanings, not C ones...
Which suggests in wants to mean what it means in Perl 6 18:47
And if you mean 32-bit, say int32
arnsholt Yeah
But many libs simply have their sigs as "int", with no explicit size info
I think we want to allow a NativeCall binding to capture that kind of ambivalence as well
diakopter arnsholt: but we should be able to detect the size of the system C's int 18:48
arnsholt Yeah, that's not really the problem
jnthn int is spec'd as at least 16 bits in size
arnsholt Right, so we could actually let it be sizeof(int) and get away with it 18:49
jnthn But I'm not sure whether we currently run anywhere where int ain't 32 bits...maybe I'm wrong and maybe we should provide a way to be 16/32 ambivalent for int.
arnsholt For the time being, I must admit I don't really care all that much for platforms that aren't x86/x64 18:50
18:50 fgomez left
arnsholt s/care for/care abobut/ 18:50
timotimo arm is totally booming right now, though 18:51
skids tries to concieve of an instance where one would need to call into two different types of dllib with two different ideas of sizeof(int). 18:52
timotimo (but i don't think the int sizings are that different from x86/64)
18:52 SunilJoshi left, cognominal left
jnthn skids: It's more that you want to write a binding that will work on different platforms. 18:52
arnsholt skids: Same Perl code, different platforms
Yeah, what jnthn said =)
skids No, that I understand I mean from the same interpreter.
arnsholt Well, Rakudo compiled for $plaform-a and $platform-b 18:53
skids I mean from the same runtime environment.
arnsholt Not the very same interpreter instance, sure
skids yes.
Like two differently compiled libs with different calling conventions. 18:54
arnsholt Well, say platform A has int as 32-bit and platform B has int as 64-bit
Then a library that has void foo(int arg) 18:55
Then we want to write a Perl binding that expresses that foo takes a machine int
Right now, that's not quite possible
(Actually, for functions I think it still works, but it won't work properly for struct { int; int; })
skids Right, machine as in what the compiler that generated the DLL thought was machine at that time. Recall some CPUs have different run modes e.g. arm/thumb. 18:56
arnsholt That doesn't matter. All that matters is the Perl code 18:57
If you decide to write foo(int32 $arg) you're screwed on platforms where int is 64-bit, and if foo(int64 $arg) you're screwed on the 32-bit int platform
18:58 cognominal joined
jnthn arnsholt: I'm not sure if "int" is every 64-bit fwiw. 18:59
skids What I'm saying really is that the idea of an unqualified int's size may not be something that can be set at rakudo/Zavolaj compile time, if you have a multiarch setup that allows you to "natively" run DLLs of various flavors. It may depend on the DLL.
jnthn *ever
arnsholt: Hm, but the spec doesn't precldue it 19:00
ugh, it's messy
arnsholt skids: Oh, right. That's even messier, yeah
19:00 wk joined 19:02 fgomez joined
skids
.oO(after the merge with "use", having a Package::int type per "use")
19:03
19:05 not_gerd joined
jnthn I guess there's always the option of supplying types like cint (a C int on the platform we're on) 19:06
skids All that said, I haven't been around enough to know if that is purely a hypothetical, or such a thing really exists.
not_gerd jnthn, arnsholt: if you want to allow writing portable bindings, you'll need to add types for ptrdiff_t, size_t,... as well
arnsholt jnthn: Yeah, that could work
jnthn Plus what not_gerd said :) 19:07
arnsholt Well, true. But that's down the line a bit, I think
not_gerd: Feel free to submit a Zavolaj-bug outlining it though =)
skids size_t is fairly pernicious.
arnsholt Or, not sure if ptrdiff_t is needed ATM. We don't allow pointer arithmetic at the Perl level 19:08
19:09 SamuraiJack left
not_gerd I don't think there's anything in the C standard lib that returns or takes a ptrdiff_t, so it's not really necessary for binding 19:10
size_t, on the other hand...
arnsholt Yeah, size_t is definitely important 19:11
not_gerd throws pubs.opengroup.org/onlinepubs/00969...pes.h.html into the mix 19:12
arnsholt Heh. Probably not going to spec all of those in NativeCall proper 19:13
But platform-specific additions might be an idea
not_gerd is it possible to alias native types? 19:14
arnsholt I think they should be aliasable just like normal types
They're not really magic, just have a different HOW and REPR
19:15 bluescreen10 joined
jnthn Yeah, there's nothing special about them 19:16
not_gerd then just add cint, cshort, clong... to core and provide POSIX-compatible aliases in a module
the mapping between POSIX and C types could even be computed
arnsholt Actually, we make Int into long
Or, Int == long for subs. Not supported in structs 19:17
not_gerd arnsholt: not INTVAL?
19:18 cognominal left
arnsholt Nope. Subs and structs are handled quite differently internally 19:18
19:19 cognominal joined
arnsholt Subs are marshalled into libdyncall signatures almost directly, while structs rely more on info from the Perl side 19:19
19:27 cognominal left 19:30 domidumont joined 19:31 PacoAir_ joined, PacoAir_ is now known as PacoAir 19:32 ElDiabolo left
timotimo hm. what may be the next low hanging fruit? 19:33
jnthn timotimo: Could always look at some RT tickets. 19:36
timotimo sure. i'll do the RC implementations first, though 19:38
and some commuting to start the day (somewhat late)
19:38 cognominal joined 19:46 jaldhar joined
jnthn RT#116417 may be an LHF one, RT#116643 may not be too hard to hunt down. 19:47
19:48 telex left
jnthn Oh, and RT#112988 wants a fix in NQP land but shouldn't be too bad. 19:48
19:49 cognominal left, cognominal joined 19:50 PacoAir left, domidumont left, telex joined
diakopter seen cognominal 19:52
heard cognominal
!seen cognominal 19:53
blargh
19:56 fgomez left 19:57 domidumont joined
cognominal diakopter? 19:57
19:58 PacoAir joined
cognominal jnthn, when executing a nqp program, one gets an error like "Null PMC access", how to correlate with the nqp instruction that provoked it? 19:59
is there a way to print the stack?
19:59 jaldhar left, not_gerd left
jnthn cognominal: huh, errors typically come with a stack trace 20:00
cognominal: What are you running that doesn't give you one? 20:01
20:02 arlinius left 20:03 fgomez joined 20:07 ggoebel_ joined
cognominal jnthn, sorry I am confused. Will ask again when my mind gets clearer. 20:07
20:09 FROGGS left, happydude left 20:20 domidumont left 20:33 cognominal left 20:39 Kelder joined, Kelder is now known as Ayiko 20:40 cognominal joined, patspam_ joined, sjn_ joined 20:41 pmichaud_ joined, mj41_ joined, s0rear joined 20:43 rom1504_ joined 20:46 timotimo_ joined 20:47 Pleiades` left, rom1504 left 20:48 Pleiades` joined, stevan_ left 20:52 PacoAir left 20:54 PacoAir joined 20:55 mikess joined 21:06 wk left 21:19 am0c left 21:28 kaare__ left 21:33 colomon left 21:35 stevan_ joined
diakopter finds web.archive.org/web/20000815230706/...rbyh/perl6 and giggles 21:36
masak giggles, too 21:39
dalek p-jvm-prep: 17ea3ad | jnthn++ | / (3 files):
Implement nqp::rethrow.
21:40
p-jvm-prep: 2d3c027 | jnthn++ | src/org/perl6/nqp/runtime/ (2 files):
Current handler shouldn't catch its own exceptions
21:40 cognominal left 21:44 cognominal joined 21:47 colomon joined 21:49 japhb_ joined 21:53 spider-mario left
masak std: if 42 {} else if 5 {} 22:05
p6eval std 86b102f: OUTPUT«===SORRY!===␤Please use 'elsif' at /tmp/SdwpDl7BbB line 1:␤------> if 42 {} else if ⏏5 {}␤Confused at /tmp/SdwpDl7BbB line 1:␤------> if 42 {} else if ⏏5 {}␤ expecting statement_control␤Parse failed␤FAILED 00…
masak r: if 42 {} else if 5 {}
p6eval rakudo 77335d: OUTPUT«===SORRY!===␤Missing block␤at /tmp/DmfU1MCwPG:1␤------> if 42 {} else ⏏if 5 {}␤ expecting any of:␤ statement list␤ horizontal whitespace␤ parameterized block␤»
masak submits rakudobug
22:14 cognominal left 22:16 bluescreen10 left 22:17 s0rear is now known as sorear
dalek kudo/nom: af61c17 | jnthn++ | src/Perl6/Grammar.pm:
Add STD message for 'else if'.
22:19
jnthn masak: Can tag it testneeded. ;)
timotimo_ masak: i'll try to build that... oh 22:20
jnthn was a bit faster :|
jnthn timotimo_: You could turn it into a typed exception and/or write a test :) 22:21
timotimo_ totally can.
jnthn timotimo_: I noted some RTs that may be quite accessible earlier too, in case you missed them and are looking for things to do. :)
timotimo_ yes, i looked at them and didn't know what to look at next :( 22:22
jnthn Well, the huge error on file not found is a case of patching HLL::Compiler in the NQP repo to note the file doesn't exist in a gentle way and then nqp::exit(1) rather than giving the backtrace. 22:23
22:23 PacoAir left
timotimo_ would oh, right 22:25
nqp::exit(1), that's the tip that would help me - although i wanted to ask about how to properly figure out what kind of exception was catched 22:26
so that i only say "file not found" if the file actually was not found
X::Syntax::ThatsNotPerl6? :) 22:27
jnthn Well, or you can stat the file first, or just put the open in a try/catch 22:28
Guess the first is technically a rance cond...
*race
timotimo_ yes, it would be
i'll go with the smaller try block
nested try blocks work fine, right? 22:29
jnthn yeah
22:29 PacoAir joined
jnthn it's throwing things inside a catch that can hang in NQP 22:29
Well, in NQP on Parrot. I fixed that one on NQP-JVM tonight... :)
timotimo_ oooh!
that's cool
i thought about using X::Syntax::Malformed, but i can't attach a "use elsif instead" to it properly :( 22:30
22:30 skids joined
jnthn Well, you could do an X::Syntax::Malformed::ElseIf :) 22:31
nwc10 jnthn: "works" on "my" machine 22:33
timotimo_ ah, that makes more sense
but then i'll go with Malformed::Elsif instead 22:34
jnthn nwc10: yay
timotimo_ hm, what test folder/file would i put a test for that in? :| S32-exceptions/misc.t? 22:35
jnthn Yes
Seems t/nqp has 59 files in 22:36
(in nqp-jvm)
3 to go to reach 62, which is the 65 - 3 parrot specific ones. 22:37
44-try-catch.t passes 5 out of 8 locally
timotimo_ awesome :) 22:38
and then we can start making more and more tests to ensure that running the test suite == able to compile rakudo (is that a sensible idea?)
jnthn Well, the bigger deal is that Rakudo needs some portability work.
colomon \o/
jnthn I've started one of the big pieces.
Which is getting a bunch of the multi-dispatch stuff translated into NQP from C. 22:39
timotimo_ indeed
jnthn Will continue with that soon.
masak .oO( works on my abacus )
colomon is having a hard time getting panda working with his new Linux box. 22:40
colomon 's new Linux box runs his $work test suite at least twice as fast as the old box did, though! 22:41
22:41 sjn_ is now known as sjn, PacoAir left
timotimo_ ok 526 - 'if 10 > 5 { say "maths works!" } else if 10 == 5 { say "identity is weird" } else { say "math is weird" }' died / ok 527 - right exception type (X::Syntax::Malformed::Elsif) 22:48
jnthn nice :) 22:50
Sleep time here...
'night
dalek kudo/nom: 8104125 | jnthn++ | docs/ChangeLog:
Some ChangeLog for March release work so far.
ast: afcb23f | (Timo Paulssen)++ | S32-exceptions/misc.t:
test X::Syntax::Malformed::Elsif
22:51
timotimo_ jnthn: but my pull request just got there! :(
masak 'night, #perl6 22:56
23:23 Chillance left 23:46 woolfy left 23:52 fgomez left