»ö« 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:00 Khisanth joined, wooden joined, wooden left, wooden joined 00:01 Khisanth is now known as Guest31432, spider-mario left, Guest31432 is now known as Khisanth 00:03 havenn left 00:04 havenn joined 00:07 baest left 00:08 havenn left 00:10 wooden left 00:11 fgomez joined 00:13 _jaldhar left
[Coke] r: say :3[1,2,3] 00:15
p6eval rakudo 34febe: OUTPUT«18␤»
flussence I'm a bit confused, a "note $match-obj" is giving me bÿ and cÿ instead of 「/」. Works fine if I try "note $match<subrule>", or hand-encode it... 00:16
oh wait, it works if I change a [...]* to a (...)* 00:17
sorear .u 」 00:18
phenny U+FF63 HALFWIDTH RIGHT CORNER BRACKET (」)
sorear FF63
FF is ÿ, 63 is c
some part of your system is epically failing with unicode
00:19 benabik joined
sorear try piping the output through 'hexdump -C' or whatever, see if there are lots of nuls 00:19
.u ÿ 00:20
phenny U+00FF LATIN SMALL LETTER Y WITH DIAERESIS (ÿ)
sorear sounds like your terminal is expecting iso-8859-1 but receiving utf-16-le 00:21
flussence oh right, that null problem... probably that.
sorear null problem?
flussence rakudo sometimes freaks out and encodes everything as broken utf-16 00:22
and it's doing it here...
00:29 plobsing joined 00:33 Chillance left, Khisanth left, _jaldhar joined 00:40 FROGGS left, flightrecorder left 00:41 MayDaniel left 00:47 cognominal left 00:50 anuby joined, thou left 00:53 cognominal joined 00:55 havenn joined 00:58 bowtie left 01:02 mr007x left 01:04 baest joined 01:13 _jaldhar left, _jaldhar joined 01:26 am0c joined 01:27 hypnokode joined 01:28 sudokode left 01:32 hypnokode is now known as sudokode 01:42 dayangkun left 01:46 bruges joined 01:48 bruges_ left 01:56 leprevost joined 02:07 cognominal left
skids r: say :4294967296[1,1] # checking 32bit machine, mine is 64bit 02:13
p6eval rakudo 34febe: OUTPUT«-2147483647␤»
TimToady I'd call it a bug 02:18
skids Oh, it's probably the same int/bigint border bug that has been around for a while. 02:19
r: say :4294967296[1,1,1]
p6eval rakudo 34febe: OUTPUT«4611686016279904257␤»
skids r: say :4294967296[0,1,1] 02:20
p6eval rakudo 34febe: OUTPUT«-2147483647␤»
02:22 am0c left 02:33 bruges left 02:35 bruges joined
skids
.oO(pack-like use of radix might be common enough that more "0x" like forms would be helpful, e.g. "0c" "0s" "0w" "0q")
02:36
oh scratch that.
not thinking -- useless without the brackets. 02:37
diakopter the unused 0\w are reserved for undocumented internals language feature keywords ;) 02:55
skids It would have to be something like :0w[] to be useful the way I was thinking. 02:58
02:58 stocks joined 03:01 Vlavv_ joined, spaceships joined 03:04 Vlavv` left 03:05 bruges_ joined 03:07 bruges left 03:11 wamiks joined 03:13 benabik left 03:21 orafu joined 03:28 gdey joined
gdey r:my $p = "Perl 5"; say $p.substr(0,2); 03:28
rakudo:my $p = "Perl 5"; say $p.substr(0,2);
geekosaur space 03:30
r: my $p = "Perl 5"; say $p.substr(0,2);
p6eval rakudo 34febe: OUTPUT«Pe␤»
gdey ah. Thanks. 03:31
Do you know where I can get the list of built in commands? Trying to verify something. 03:32
03:33 benabik joined
sorear hello gdey. 03:34
gdey Hey sorear! 03:35
sorear S03 has the list of operators
gdey How's things going?
Cool, thanks!
sorear S32 has the builtin functions which are related to types
03:35 jaldhar_ joined
sorear doc.perl6.org has lots of stuff, but is a bit less complete I think 03:35
03:36 _jaldhar left
sorear stuff's ok. 03:36
TimToady nr: say SETTING::.keys 03:37
p6eval niecza v22-14-g136ddcf: OUTPUT«0␤»
..rakudo 34febe: OUTPUT«!UNIT_MARKER GLOBALish EXPORT $?PACKAGE ::?PACKAGE $_ $/ $! &restricted &open &unlink &shell &run &QX &mkdir &rmdir &rename &copy IO $=pod␤»
TimToady nr: say +SETTING::.keys
p6eval rakudo 34febe: OUTPUT«20␤»
..niecza v22-14-g136ddcf: OUTPUT«1␤»
gdey nr: my $p = "Perl 5"; substr($p,5,1,'6'); say $p
p6eval niecza v22-14-g136ddcf: OUTPUT«Perl 6␤»
..rakudo 34febe: OUTPUT«Too many positional parameters passed; got 4 but expected between 2 and 3␤ in sub substr at src/gen/CORE.setting:2172␤ in block at /tmp/l5INl3kaqX:1␤␤»
TimToady nr: say +CORE::.keys
p6eval niecza v22-14-g136ddcf: OUTPUT«1␤» 03:38
..rakudo 34febe: OUTPUT«426␤»
TimToady gdey: there are 426 built-ins :)
gdey I'm trying to figure out if rakudo just has not implemented the 4 param version of substr, or if something is wrong with the code: my $p = "Perl 5"; substr($p,5,1,'6'); say $p
TimToady: 426, wow! 03:39
sorear rakudo has not implemented the 4 param version of substr.
TimToady depends, of course, on what you call a "built-in"
but that's how many names there are
diakopter std: use CORE;
gdey Seems like there is a lot to document. :P
p6eval std edd7715: OUTPUT«===SORRY!===␤Illegal redeclaration of symbol 'infix:<∪>' (see line 1) at /tmp/lTMCPxi8J9 line 1:␤------> use CORE⏏;␤Illegal redeclaration of symbol 'infix:<⊃>' (see line 1) at /tmp/lTMCPxi8J9 line 1:␤------> use CORE⏏[3…
sorear also, (at rakudo's request) substr no longer returns an lvalue
you now have to use substr-rw :( 03:40
rn: my $p = 'Perl 5'; substr-rw($p,5,1) = '6'; say $p
p6eval rakudo 34febe, niecza v22-14-g136ddcf: OUTPUT«Perl 6␤»
gdey Well, that's good to know. I'll add entries for it in the Perl6Book. I was going through the issues, to see which ones I could close quickly. 03:41
So, is substr-rw now a built-in, that replaces the lvalue version of substr for all implementations? Or is it possiable for an implementation to do the lvalue version and not the substr-rw? 03:43
sorear substr-rw is now a built-in 03:44
gdey I guess what I'm asking is if the spec was changed?
sorear the spec was changed
03:48 _jaldhar_ joined, dayangkun joined, jaldhar_ left, bbkr__ joined 03:49 eternaleye left, bbkr_ left 03:50 benabik left 03:58 benabik joined 04:01 gootle joined 04:12 havenn left 04:14 leprevost left 04:15 havenn joined 04:18 havenn left 04:21 _jaldhar_ left
clkao ` 04:28
04:30 _jaldhar_ joined
sorear o/ clkao 04:30
04:36 spaceships left 04:40 wamiks1 joined 04:42 wamiks left 04:44 skids left 04:54 bro_grammer left 04:56 havenn joined 05:06 stocks left 05:21 telex left, telex joined 05:26 telex left 05:27 birdwindupbird joined 05:35 wamiks1 left, telex joined 05:47 SamuraiJack joined
moritz star: say "OH HAI" 05:56
p6eval star 2012.10: OUTPUT«OH HAI␤»
06:30 kurahaupo left 06:31 havenn left 06:32 havenn joined 06:33 havenn left 06:40 dayangkun left 06:42 dayangkun joined 06:48 am0c joined 06:51 jaldhar joined, _jaldhar_ left 07:05 plobsing left, clkao left, clkao joined 07:17 kaleem joined
Woodi morning # :) 07:24
sorear: you can tell someting about "sandboxing" planned feature in niecza ? in one process ? 07:26
sorear n: say slurp "/etc/passwd" 07:28
p6eval niecza v22-14-g136ddcf: OUTPUT«Unhandled exception: slurp may not be used in safe mode␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (slurp @ 0) ␤ at /tmp/fFaPgfQpQP line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4215 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/C…
07:35 jrockway_ left, jrockway joined 07:43 jaldhar left
moritz jnthn++ # R* release 07:45
07:53 colomon_ joined, colomon left, colomon_ is now known as colomon
Ulti does the parrot release "proto-hydra" imply the next release is multi threaded? >:3 08:05
08:09 xinming_ left 08:10 xinming joined 08:15 brrt joined 08:16 domidumont joined 08:20 hoelzro|away is now known as hoelzro 08:23 domidumont left, flightrecorder joined 08:24 FROGGS joined, domidumont joined
moritz the parrot folks have been hoping for a quarter year now that the next release with be with threads 08:24
sorear isn't that one release cycle? 08:25
brrt no, parrot is released monthly-or-so
diakopter one supported release cycle, yes 08:32
though I won't deign to guess the actual difference between supported and developer 08:33
Woodi anyway hardware transactional memory in Intels coming next year - maybe it extends "free launch" ? :) 08:35
08:57 Chillance joined
jnthn morning o/ 08:58
phenny: tell pmichaud creating the MSI would be helpful, if you have a moment to do that 08:59
phenny jnthn: I'll pass that on when pmichaud is around.
diakopter o/
FROGGS morning 09:01
moritz FROGGS: thanks for testing panda on windows 09:04
FROGGS moritz: thats all? could I do something else? 09:06
(like hunting down that bug or so)
moritz well, that would be even more awesome
:-)
FROGGS k, the problem is in panda itself? 09:07
if it is a rakudo or nqp thingy I have to pass
moritz I have no idea
FROGGS k
09:09 nemesys left, kresike joined
kresike good morning all you happy perl6 people 09:09
brrt hi kresike 09:10
kresike brrt, o/ 09:11
09:12 rindolf joined 09:14 dayangkun left 09:17 daxim joined 09:22 NamelessTee joined 09:24 birdwind1pbird joined 09:39 birdwind1pbird left 09:41 birdwind1pbird joined 09:57 kurahaupo joined 10:03 birdwind1pbird left 10:10 NamelessTee left 10:12 spider-mario joined 10:15 Tjelehenrik joined 10:17 domidumont left
Tjelehenrik hi 10:17
moritz hello
nwc10 jnthn: same boom from origin/Q even with nqp's HEAD 10:19
10:19 dayangkun joined
nwc10 the future isn't evenly distributed yet? [ie not pushed :-)] 10:19
10:19 anuby left 10:20 domidumont joined
jnthn nwc10: Hm, c077b22a I assume? 10:22
nwc10: You certainly make install'd the NQP at that revision?
10:24 NamelessTee joined 10:27 SamuraiJack_ joined 10:28 SamuraiJack left
nwc10 gah 10:28
bbkr__ release! \o/
10:29 MayDaniel joined
nwc10 rakudo's --gen-nqp seems to move my checout somewhere lese 10:29
else
but "less" too
10:36 bowtie joined
arnsholt You might want to try to have a parallel checkout of nqp that you set to the correct rev and such manually and use --with-nqp instead 10:36
There's also a special file called config.default you can put args in, so that you just do perl Configure.pl and the right thing happens 10:39
moritz woah, I didn't know about config.default 10:46
nwc10 I did this: perl Configure.pl --gen-parrot --gen-nqp=origin/master && make all test 10:50
and it worked
(long enough for me to discover that I can't build the setting as I'm too tight on swap) 10:51
arnsholt moritz: I think I discovered it when I was digging through Configure.pl (for some reason)
Oooh, I didn't know that gen-nqp can take an argument
11:01 SamuraiJack_ left 11:05 kurahaupo left 11:07 Tjelehenrik left, rindolf left 11:23 SamuraiJack_ joined 11:40 brrt left, brrt joined 11:48 stocks joined 11:50 stocks left 11:57 am0c_ joined 11:58 arlinius left, am0c left, am0c_ is now known as am0c 12:00 am0c left, am0c joined 12:03 cognominal joined 12:18 domidumont left 12:21 domidumont joined 12:23 GlitchMr joined 12:26 pmurias joined
[Coke] yawns from post-Sandy ... dampness. 12:28
moritz [Coke]: how bad is it?
FROGGS moritz, tadzik: I know whats wrong for panda tests 12:30
moritz FROGGS: do tell
FROGGS it tries to clone local repo from folder t/ to REMOVEME/foobar, but t/ is not a repo
[Coke] moritz: it is damp. 12:31
seriously, that's it.
moritz [Coke]: that doesn't sound too bad
FROGGS ahh
it should fail....
[Coke] I'm about 3 hours north of NYC by train - far enough inland we just got a rain storm.
FROGGS the test passes on linux since the errormessage equals the check in the test 12:32
moritz oh "nice" 12:33
pmurias if I'm working on a bigger feature which I want to break up into multiple commits (so I can git revert etc.) but which breaks some tests untill it's fully done, what should I use? a branch? 12:36
brrt pmurias: yes
moritz agreed
that's exactly what branches are for
brrt big-features-which-break-tests are an ideal case for branches
which also gives you the opportunity to look at the failing tests, and see if they are still appropriate 12:37
moritz (along with "try out this feature but maybe throw away", "prototype stuff", "I want to have a review before I commit to master")
Woodi it's hard to imagine how sofware could be made without tests and git :) 12:40
do they have some secret methodology or something ? :)
12:41 pmurias left
brrt Woodi: just push hard enough and squint till it looks like it works 12:41
that is pretty much how web development often still works
Woodi hmm, right... like painting a picture :) 12:42
brrt hackers and painters? i guess 12:43
Woodi painters still do not have test methodology me think...
brrt methodology sounds like engineering, like serious work 12:44
Woodi was just joking but looks painters are nice another point of view on software doing work :) 12:46
FROGGS moritz: [panda] the problem is that there is no X::Panda because the failing shell cmd doesnt return nonzero :/ 12:50
12:51 wooden joined, wooden left, wooden joined
FROGGS moritz: paste.scsys.co.uk/212258 12:52
and the behaviour of `git` is different 12:53
12:56 gootle left 12:58 hash_table joined
moritz ooh, a windowsgitbug 12:59
FROGGS looks like 13:01
13:05 Psyche^ joined, Patterner left, Psyche^ is now known as Patterner 13:08 sqirrel joined 13:09 mtk joined, domidumont left
lumi__ Are you sure it's not shell? 13:13
am0c std: our sub AnyEvent::timer { ... }; AE::{'&timer'} := &AnyEvent::timer;
p6eval std edd7715: OUTPUT«===SORRY!===␤Undeclared name:␤ 'AE::' used at line 1␤Check failed␤FAILED 00:00 47m␤»
lumi__ FROGGS: I mean, say shell 'false' or something works fine? 13:14
13:15 brrt left
jnthn There's certainly been some msysgit exit code bugs, like github.com/msysgit/msysgit/issues/45 13:15
13:15 mucker joined
jnthn Fixed in latest. 13:15
afaik
hoelzro so...since heredocs are gone, what is the recommended alternative in Perl6? 13:16
jnthn hoelzro: Heredocs aren't gone. 13:17
hoelzro they're not?
I thought they were removed
jnthn hoelzro: No. Forms were removed. Heredocs stay; Rakudo doesn't implement them yet (they're fiddly), but the quote handling refactors I've been doing should make them possible in the next couple of weeks, all being well.
hoelzro ooooooh 13:18
very good =)
hoelzro goes back to being quiet
13:20 am0c left 13:21 brrt joined 13:25 am0c joined 13:30 NamelessTee left 13:36 plobsing joined 13:37 hash_table left
cognominal rn: say i**2 13:37
p6eval rakudo 34febe: OUTPUT«-1+1.22460635382238e-16i␤»
..niecza v22-14-g136ddcf: OUTPUT«-1+1.2246063538223773E-16i␤»
cognominal is this useful to print the real and imaginary part with different exponents? 13:38
rn: say i * i
p6eval rakudo 34febe, niecza v22-14-g136ddcf: OUTPUT«-1+0i␤» 13:39
13:39 kurahaupo joined
[Coke] I think if you wanted it formatted a certain way, you'd use printf. 13:41
rn: say i**i 13:42
p6eval rakudo 34febe: OUTPUT«0.207879576350762+0i␤»
..niecza v22-14-g136ddcf: OUTPUT«0.20787957635076196+0i␤»
[Coke] rn: say i*i #whoops
p6eval rakudo 34febe, niecza v22-14-g136ddcf: OUTPUT«-1+0i␤»
13:44 dayangkun left 13:46 jaldhar joined
[Coke] (or avoid exponents) 13:47
13:47 rindolf joined 13:49 PacoAir joined
am0c std: module AnyEvent { our sub timer { print "hi"; }; }; module AE { our &*timer ::= AnyEvent::<&*timer> }; 13:52
p6eval std edd7715: OUTPUT«ok 00:00 46m␤»
am0c pugs: module AnyEvent { our sub timer { print "hi"; }; }; module AE { our &*timer ::= AnyEvent::<&*timer> };
p6eval pugs: OUTPUT«*** ␤ Unexpected "<&*"␤ at /tmp/I8uIUn407p line 1, column 91␤»
am0c r: module AnyEvent { our sub timer { print "hi"; }; }; module AE { our &*timer ::= AnyEvent::<&*timer> };
p6eval rakudo 34febe: OUTPUT«===SORRY!===␤Cannot use bind operator with this left-hand side␤at /tmp/OgS6tC1jU1:1␤»
jnthn Why the *? 13:55
(It means contextaul, but I don't think it's what you're after here) 13:56
am0c I thought it was like a package symbol, oops..
r: module AnyEvent { our sub timer { print "hi"; }; }; module AE { our &timer ::= AnyEvent::<&timer> }; 13:57
p6eval rakudo 34febe: OUTPUT«===SORRY!===␤Cannot use bind operator with this left-hand side␤at /tmp/yXXtr3_4Oo:1␤»
13:57 SamuraiJack__ joined, SamuraiJack_ left
[Coke] jnthn: so, any suggestion on how to enable more verbose debug output when using HLL::Compiler? I tried passing :ll-exception to command_line, no help, adding a "handle-exception" method to Partcl::Compiler (which isa HLL::Compiler), doesn't seem to get called. 13:58
I'm trying to track down an error but the lack of line #'s or files makes guessing haaaard. 13:59
(esp. since I think it's not in my code, but somewhere in HLL::)
am0c r: module AnyEvent { our sub timer { print "hi"; }; }; AE::<&timer> ::= AnyEvent::<&timer>; AE::timer 14:00
p6eval rakudo 34febe: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&AE' called (line 1)␤»
am0c r: module AnyEvent { our sub timer { print "hi"; }; }; module AE { our &timer ::= AnyEvent::<&timer>; }; AE::timer
p6eval rakudo 34febe: OUTPUT«===SORRY!===␤Cannot use bind operator with this left-hand side␤at /tmp/7VhArVPKXP:1␤»
14:01 SamuraiJack joined
am0c r: module AnyEvent { our sub timer { print "hi"; }; }; module AE { our &timer = AnyEvent::<&timer>; }; AE::timer 14:01
p6eval rakudo 34febe: OUTPUT«hi»
jnthn [Coke]: What compilation phase does it fail in? 14:02
14:02 wk joined
jnthn [Coke]: I think the handle-exception is only called for runtime errors. 14:02
[Coke] it's run time.
I'm trying to fix partcl's [eval]
jnthn Oh.
14:02 SamuraiJack__ left, rindolf left
jnthn OK, then I'm surprised --ll-exception doesn't give more hints. 14:03
14:03 gdey left
[Coke] so, sort of run time? I'm calling back into Partcl::Compiler.new.compile($code), getting an error on the 'parse' method, which I can't see is actually called directly.. 14:03
pmichaud good morning, #perl6
phenny pmichaud: 08:59Z <jnthn> tell pmichaud creating the MSI would be helpful, if you have a moment to do that
[Coke] jnthn: er, I explicitly added << , :ll-exception >> to the command_line() invocation.
tadzik FROGGS: uh, that's awful
pmichaud working on the .msi now 14:04
tadzik I thought it just checks the error code, not the message
jnthn [Coke]: What's the error? 14:05
14:05 kurahaupo left
[Coke] well, right now, it's "too many named arguments: 3 passed, 0 used" 14:07
I was getting an error in method parse with invocant NQPMu.
am0c Could I get any hint of why 'our' variable declartion cannot be binded, although 'my' works?
[Coke] tries passing ll-exception on the command line...
am0c s/binded/bind/;
moritz s/bind/bound/ :-) 14:08
am0c oh, thanks moritz!
moritz am0c: implementation limitation; internally 'my' and 'our' are totally different
14:08 flightrecorder left
moritz am0c: and people haven't put all too much work into 'our' variables, because they aren't used that much 14:08
[Coke] jnthn: no change if I run ./partcl --ll-exception 14:09
14:09 FROGGS left
jnthn [Coke]: The NQPMu thing would happen if somehow parsegrammar as not set... 14:10
14:10 flightrecorder joined
pmichaud I'm not sure what binding of an 'our' variable would do, exactly. 14:10
am0c moritz: I see.
jnthn [Coke]: Did you try obtaining the compiler object using compreg instead?
[Coke] no, you said avoid PIR. :)
14:10 skids joined
[Coke] I can try that. 14:10
do you need to call "parsegrammar" before every call to .compile ?
jnthn Do as I do, not as I say :P
[Coke] I have no idea what you're doing. :) 14:11
Or what I'm doing. :)
jnthn [Coke]: I'm using compreg ;-)
pmichaud my $x = 3; our $a = 4; { our $a := $x; }; say $a; # what's the value of $a here?
14:11 cognominal left
pmichaud [Coke]: One only needs to call .parsegrammar once on the object that performs the compile. 14:11
brrt pmichaud, i'm guessing 3
jnthn [Coke]: I think that parsegrammar called once at startup is enough provided you consistently use the same compiler object. 14:12
[Coke]: By doing .new I guess you're creating a new (unconfigured) instance or something...
am0c hm
[Coke] jnthn: I was not using the same compiler object. I was doing "Partcl::Compiler.new.compile($stuff)"
pmichaud brrt: I'm thinking it's 4.
[Coke] trying compreg...
am0c I guest it should emit an error 'our' cannot delcared twice.
pmichaud .... oh, Partcl::Compiler.new.compile won't work.
[Coke] jnthn: \o/ 14:13
brrt rn: my $x = 3; our $a = 4; { our $a := $x; } say $a;
p6eval niecza v22-14-g136ddcf: OUTPUT«===SORRY!===␤␤Strange text after block (missing comma, semicolon, comment marker?) at /tmp/dsZucf4aMZ line 1:␤------> my $x = 3; our $a = 4; { our $a := $x; }⏏ say $a;␤␤Parse failed␤␤»
..rakudo 34febe: OUTPUT«===SORRY!===␤Cannot use bind operator with this left-hand side␤at /tmp/POgGijfyu0:1␤»
pmichaud because the .new Partcl::Compiler object doesn't have its .parsegrammar set :-)
brrt rn: my $x = 3; our $a = 4; { our $a := $x; };  say $a;
[Coke] This still doesn't help my ll-exception diagnostics, but now [eval puts hi] works.
p6eval rakudo 34febe: OUTPUT«===SORRY!===␤Cannot use bind operator with this left-hand side␤at /tmp/oD4qV03YNW:1␤»
..niecza v22-14-g136ddcf: OUTPUT«3␤»
am0c rn: my $x = 3; our $a = 4; { our $a = $x; };  say $a; #<not binding> 14:14
p6eval rakudo 34febe, niecza v22-14-g136ddcf: OUTPUT«3␤»
brrt a block doesn't create a package, right?
[Coke] jnthn++ pmichaud++
flussence a block creates a lexical scope
jnthn brrt: correct, you need a package delcarator to create a package
pmichaud oh, it could be 3. I still have to internalize the changes to binding semantics that we discussed at the summit in August :-|
brrt so,
pmichaud previously, := was considered a low-level bind; it bound an object to a symbol 14:15
am0c so it's okay to have multiple lexical 'our' declartions?
pmichaud but we're having to add semantics on top of :=
14:15 domidumont joined
brrt rn: my $x = 3; our $a = 4; package { our $a := $x; }; say $a; 14:15
p6eval niecza v22-14-g136ddcf: OUTPUT«4␤»
..rakudo 34febe: OUTPUT«===SORRY!===␤Cannot use bind operator with this left-hand side␤at /tmp/df4HAEsRvD:1␤»
brrt niecza++
rn: my $x = 3; our $a = 4; package { our $a = $x; }; say $a; 14:16
p6eval rakudo 34febe, niecza v22-14-g136ddcf: OUTPUT«4␤»
brrt why can't rakudo bind a variable?
[Coke] weird. [eval puts 3] works, but [eval [llength [list a b c]]] does not. ah well, one victory a day.
brrt rn: my $x = 3; our $y := $x;
p6eval niecza v22-14-g136ddcf: ( no output ) 14:17
..rakudo 34febe: OUTPUT«===SORRY!===␤Cannot use bind operator with this left-hand side␤at /tmp/Ltxf3iDXD_:1␤»
jnthn brrt: How do you understand "our"?
pmichaud it'll work when we redefine := in rakudo.
jnthn pmichaud: Hm :)
brrt our is package my
14:17 cognominal joined
jnthn brrt: our declares a lexical alias to a package variable in the current lexical scope 14:17
[Coke] jnthn: with github.com/partcl/partcl-nqp/blob/...tcl.pm#L21 , should I be able to pass --ll-exception on the command line and have it DTRT? 14:18
brrt ok, then what does my really do?
jnthn brrt: binding thus would to me seem to mean, if anything, that you re-bind that alias.
pmichaud our $x; in rakudo is like my $x := OUR::<$x>
jnthn Right
brrt: my declares a lexical variable
brrt i thought 'our' declared a variable too, but it doesn't? 14:19
am0c pmichaud++ it makes me grasp our our!
jnthn [Coke]: I'd guess so.
pmichaud but re-binding of lexicals in Rakudo will likely change semantics
brrt or does our declare both the lexical alias and (possibly) the package variable?
am0c so 'our' declares lexical variable, which aliases to package variable 14:20
jnthn brrt: There's not really such thing as declaring a package variable. 14:22
They're just stored in a Stash
r: my module A { }; A::<$x> = 42; say A::<$x>
p6eval rakudo 34febe: OUTPUT«42␤»
14:22 benabik left
am0c aha! 14:22
jnthn There I gave A's package a $x.
brrt i see
jnthn r: my module A { }; say A::.WHAT
p6eval rakudo 34febe: OUTPUT«Stash()␤»
jnthn r: say Stash.^mro 14:23
p6eval rakudo 34febe: OUTPUT«Stash() Hash() EnumMap() Iterable() Cool() Any() Mu()␤»
jnthn And Stash is really just a kind of hash. :)
brrt yes, clearly
14:23 FROGGS joined
brrt thanks, jnthn++ :-) 14:23
moritz it's a s/^H/St/ kind of Hash :-)
am0c I love this simple structure.
r: say Str.^mro 14:25
p6eval rakudo 34febe: OUTPUT«Str() Cool() Any() Mu()␤»
brrt grr, i want my nqp to work again :-(
jnthn Your NQP doesn't work? 14:27
brrt building nqp doesn't work 14:30
and i can't really figure out why
jnthn brrt: Same issue [Coke] was having?
brrt yep
jnthn Hm
OSX also?
brrt yep
14:30 jaldhar left
brrt its a zero pointer exception by the way 14:31
14:31 benabik joined
brrt somewhere in Parrot_pcc_* 14:31
jnthn [Coke]: Did you resolve it, or just build an older NQP?
[Coke] jnthn: I just rolled back to the last-functional NQP. 14:32
jnthn: aha! --ll-exception doesn't work with the REPL 14:33
brrt [Coke]: what version was that
[Coke] ./partcl --ll-exception -e "set a 3" # this gives me the stacktrace.
brrt: it's in the ticket. 14:34
... well, it's derivable from the ticket.
234daad
14:36 rindolf joined, benabik left
[Coke] jnthn: ... ah. --ll-exception has no effect on the stack trace on the command line. 14:36
but at least I have a way to get the trace now.
brrt [Coke]: i'll check out the difference
[Coke] yay. with that, I was able to diagnose issues with [set] and fix it with a one liner. 14:40
jnthn++ # new nqp
pmichaud++ # partcl-nqp legwork.
14:40 birdwind1pbird joined
brrt oh, tickets closed then 14:41
:-)
(oh its not, never mind) 14:42
14:46 xinming_ joined 14:48 plobsing left 14:49 hash_table joined 14:50 xinming left
brrt whats the git way to get all diffs between commits? 14:51
hoelzro git diff start..end?
or do you want to look at each commit individually?
if so, I think git show should do it 14:52
14:53 wk left, cognominal left
brrt thanks 14:53
pmichaud jnthn: you missed part of Step 7 in the star build. :-/ 14:54
GlitchMr wow, I've made glitchmr.github.com valid HTML5... not that this really matters 14:55
Especially when fix is as hacky as github.com/GlitchMr/glitchmr.githu...f20f6d0a1e
14:57 thou joined
jnthn pmichaud: Hm, which bit? 14:59
pmichaud version number in Makefile.in
jnthn argh, dang. 15:00
pmichaud still says 2012.09
jnthn Yeah, updated the Rakudo and NQP version numbers in there.
pmichaud oh, that's a separate step
jnthn wait, that's a different makefile
pmichaud right.
jnthn dammit :/
pmichaud tools/star/Makefile is the one used to create the star release
15:00 cognominal joined
pmichaud tools/build/Makefile.in is the one used to build rakudo+modules from the release 15:00
jnthn Yeah, I missed it. 15:01
pmichaud anyway, that causes the .msi build to be mislabeled as 2012.09. I can either fix it locally and we live with the mismatch, or we can create a 2012.10.1 star release
jnthn I'd go for fixing it locally. 15:02
pmichaud okay.
FROGGS tadzik: there is no error code, thats the problem
pmichaud rebuilding star / msi
FROGGS so it doenst throw that error message
tadzik huh
jnthn Getting this release cut at all took some doing. The box I previously did * releases off has a tar that doesn't understand -xform, then I tried to set up an Ubuntu VM (which failed), then finally ended up with a Debian VM that works. 15:03
tadzik so there's no /Failed cloning/?
(on windows)
okay, doens't matter
I'll remove that test altogether
FROGGS that git command via shell() doenst return nonzero
15:03 sivoais left
tadzik it keeps pissing everyone off and didn't help with anything yet 15:04
FROGGS right
15:04 sivoais joined
FROGGS move that test to a folder called "t_thatdoenstworkyetbutwillbeatsomepoint" 15:04
pmichaud we could likely switch the --xform option to be a 'mv' command 15:05
dalek nda: c181c9a | moritz++ | / (3 files):
stop installing to ~/.perl6

requires a pretty new Rakudo with $*CUSTOM-LIB support
nda: 6dfed95 | moritz++ | b (2 files):
update bin/panda and bootstrap.pl to use %*CUSTOM_LIB

TODO: rebootstrap
nda: 109e54c | moritz++ | rebootstrap.pl:
switch rebootstrap to %*CUSTOM_LIB
nda: c07f3bc | tadzik++ | t/panda/fetcher.t:
Remove a stupid test
nda: 91b94a2 | tadzik++ | / (3 files):
Merge branch 'custom-lib'
tadzik o-ho, dalek fail
a, not that bad
arnsholt Old commits?
tadzik they appeared here before :)
arnsholt Ah, right 15:06
tadzik moritz: there, custom-lib merged :)
moritz \o/
tadzik moritz++
pmichaud we could likely switch the --xform option to be a 'mv' command... if we know enough about where the tarballs unpack to
jnthn pmichaud: Well, I got a VM where I can cut a release now, so it's less of an issue.
pmichaud: Was just annoying to run in to.
Though, Ubuntu trying to have a crappy 3D desktop and exploding under VirtualBox was more annoying :) 15:07
FROGGS you can switch to unity-2d at the login prompt
jnthn Hm, I missed that... 15:08
I the end, I switched to Debian :P
FROGGS you have to presss the ubuntu icon at the upper right of the login box ;o)
not very intuitive
jnthn Well, now I've had my once every couple of years Linux desktop experience :D
pmichaud that doesn't sound so obvious
I'm happiest with Kubuntu anyway :) 15:09
although I haven't tried 12.10 yet
jnthn Funny thing is, all I wanted was a terminal window... :)
pmichaud well, and a compiler toolchain
jnthn Yeah, but you can install that from the terminal :) 15:10
I needed git also. Beyond that it was no hassle.
I have the VM handy for next R* release. :)
pmichaud I'll write up the steps I'm using for .msi creation 15:11
it's pretty easy
moritz do we already have a release guide for star?
pmichaud tools/star/release-guide.txt I think
jnthn moritz: Yes, I'm just bad at following instructions.
moritz pmichaud: .pod it seems 15:12
pmichaud tools/star/release-guide.pod
moritz pmichaud++
PerlJam jnthn++ (rebel :) 15:14
pmichaud gee, github.com/rakudo/star/blob/master...-guide.pod (formatted) looks really nice
happy bday, PerlJam, two days later 15:15
PerlJam pmichaud: thanks.
pmichaud: we're both prime this year :)
moritz except the messed up list at the end
PerlJam++ # bday
15:16 rindolf left
pmichaud hadn't thought about prime-ness of bdays at all. :-) 15:17
15:17 telex left
pmichaud I guess from here the primes get farther apart :-P 15:18
15:18 telex joined
pmichaud however, in 6 years we'll both be prime again. And again 6 years after that. :-P 15:18
PerlJam But every few years you can claim to be "in the prime of your life"
15:20 cognominal left, kaleem left 15:23 birdwind1pbird left 15:24 birdwind1pbird joined 15:25 pmurias joined 15:26 kurahaupo joined
pmurias jnthn: is there a reason why we use QAST::VM with pirop nqp_get_package_throught_who PPs instead of QAST::Op and QAST::Var? 15:28
when accessing an our package?
jnthn pmurias: Typically such situations exist there either (a) we didn't get around to adding an nqp:: op variant for the pir:: op yet, or (b) just exposing that as a PIR ops is undesirable for some reason in terms of the desired API. 15:30
In this case it's (b) - I think we should have a nicer way to handle package lookups, chasing chains of .WHOs, but don't have a particularly great way to deal with it yet.
I thin it'll want to be done with QAST::Var in the end. 15:32
*think
pmurias jnthn: currently nqp chases through a chain of package lookups with a chain of QAST::VMs 15:33
15:35 kaleem joined 15:37 birdwind1pbird left
jnthn pmurias: Yes, I know 15:37
pmurias: A good way is "not designed yet" :) 15:38
I don't want to just replace pir:: things with the first thing that comes to mind :)
15:38 kurahaupo1 joined 15:40 kurahaupo left, benabik joined
jnthn .u tick 15:40
phenny U+27E4 WHITE SQUARE WITH LEFTWARDS TICK (⟤)
jnthn .u tick mark
phenny jnthn: Sorry, no results for 'tick mark'.
15:40 havenn joined
jnthn .u check mark 15:41
phenny U+2713 CHECK MARK (✓)
moritz .u ✔
phenny U+2714 HEAVY CHECK MARK (✔)
15:43 kaare_ joined
pmichaud Rakudo Star 2012.10 MSI version now posted to github downloads page. 15:43
jnthn pmichaud++ 15:44
pmurias jnthn: XYZ::foo takes foo out of package XYZ not &foo?
jnthn In NQP, yes, because there's no list ops.
moritz r: module A { our constant X = 3 }; say A::X
p6eval rakudo 34febe: OUTPUT«3␤»
jnthn In Rakudo, "it depends" :) 15:45
moritz r: module A { our sub X() { 3} }; say A::X
p6eval rakudo 34febe: OUTPUT«3␤»
daxim ♫ Hey jnthn I got somethin' real important to give you… And now I'm ready to lay it on the input line… You know it's (almost) Christmas and my heart is open wide ♪ 15:47
♫ Gonna type you something so you know what's on my mind… A gift real special, so take off the top… Take a look inside – it's my ☑ check in a box ☑
15:48 mr007x joined
jnthn ...what? :) 15:50
pmurias jnthn: look at bug: pastie.org/5138126 15:51
15:51 cognominal joined
pmurias jnthn: what do the listops have to do with that? 15:52
[Coke] jnthn: us pop culture referent.
jnthn: youtube for "timberlake in a box". video probably NSFW. 15:53
jnthn hah! 15:56
15:56 kaleem left
tadzik see also: www.microkosmic.com/comic/brick-in-a-box.html 15:57
jnthn :P 15:58
15:59 cognominal left
jnthn pmurias: Well, nothing if you throw the parens on. 16:00
That's probably just a bug.
[Coke] parens? www.smbc-comics.com/index.php?db=co...mp;id=2491 16:01
16:01 [particle] joined
pmurias jnthn: as long as nqp adds the & consistently I don't really mind ;) 16:04
16:05 [particle]1 left, cognominal joined
jnthn [Coke]: *groan* 16:06
pmurias jnthn: why do we bind an our routine *twice*? 16:07
TimToady anything "our" is defined to have two different names, one in a package, and one lexical 16:09
this may be related
TimToady hasn't caught up on context yet, so may just be blathering... 16:10
nr: CORE::shell("echo hi") 16:20
p6eval rakudo 34febe: OUTPUT«No such method 'Any' for invocant of type 'Str'␤ in at src/gen/BOOTSTRAP.pm:839␤ in any at src/gen/BOOTSTRAP.pm:836␤ in block at /tmp/hM16bUP8jc:1␤␤»
..niecza v22-14-g136ddcf: OUTPUT«Unhandled exception: shell may not be used in safe mode␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (shell @ 0) ␤ at /tmp/Z9MZA0muHT line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4215 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/C…
16:22 eiro_ left
TimToady nr: CORE::say("hi") 16:24
p6eval niecza v22-14-g136ddcf: OUTPUT«hi␤»
..rakudo 34febe: OUTPUT«No such method 'Any' for invocant of type 'Str'␤ in at src/gen/BOOTSTRAP.pm:839␤ in any at src/gen/BOOTSTRAP.pm:836␤ in block at /tmp/T7MIRbsggK:1␤␤»
TimToady rakudobug
kresike bye folks
16:24 kresike left 16:26 hoelzro is now known as hoelzro|away
jnthn r: CORE::<&say>('hi') 16:27
p6eval rakudo 34febe: OUTPUT«hi␤»
jnthn Hm
r: SETTING::<&say>('hi')
p6eval rakudo 34febe: OUTPUT«No such method 'Any' for invocant of type 'Str'␤ in at src/gen/BOOTSTRAP.pm:839␤ in any at src/gen/BOOTSTRAP.pm:836␤ in block at /tmp/1N8ASdf63B:1␤␤»
jnthn oh, that one is probably true, given that evalbot uses an alternate setting. 16:28
yeah, works in the repl.
16:32 brrt left 16:40 stocks joined
TimToady was mostly just trying to point out (without being too obvious) that using SETTING to shadow CORE was not necessarily a terribly secure way to do sandboxing :) 16:50
jnthn :) 16:51
Well, I don't think it's so much a sandbox as making it sufficiently tricky to be malicious with p6eval :) 16:52
TimToady well, actually, it is terribly secure :)
pmurias jnthn: why does nqp use post_serialize? the serializer can't serialize some things without help? 16:55
jnthn pmurias: Mostly to do fixups after deserialization. 16:56
pmurias: Part of that if fixing up the code ref pointers to code objects, but it's possible that could actually move into the deserialization stuff. 16:57
16:57 xinming_ is now known as xinming
jnthn I think it also does some lexical bits. 16:57
arnsholt jnthn, masak: In re me visiting Malmö, does thursday work for you guys for example? 17:08
jnthn arnsholt: This coming Thursday? 17:11
arnsholt: Seems it works for me.
arnsholt: Glancing $dayjob schedule, I suspect masak will be in town too.
arnsholt Cool. All of a sudden a week and almost a half is past, so my time in CPH is turning out to be not so long after all 17:12
jnthn :)
arnsholt masak: Thursday work for you too?
17:13 stocks left 17:18 birdwindupbird left 17:25 domidumont left, pmurias left 17:29 wk joined 17:37 FROGGS left, flightrecorder left 17:38 erkan left 17:40 domidumont joined 17:47 colomon left 17:49 havenn left 17:58 kurahaupo1 left, benabik left 18:02 benabik joined 18:11 stocks joined 18:12 mucker left 18:18 bluescreen10 joined 18:19 stocks left 18:23 rindolf joined
rindolf Hi all. 18:23
PerlJam rindolf: greetings! What brings you to #perl6? 18:24
[Coke] ~~ rindolf
rindolf PerlJam: I have it on my autojoin on my other computer.
PerlJam: well, I hope to learn some Perl 6 in the process.
PerlJam ah. Good idea on both counts :)
rindolf PerlJam: a vane hope I know, but still.
[Coke] wonders if a p5-a-like written on top of nqp would be useful. 18:25
[Coke] is not volunteering. :)
rindolf [Coke]: can't you compile the Perlito Perl 5 in Perl 5 compiler using Perlito to Perl 6 and then compile that as Parrot? 18:26
jnthn
.oO( weather vane hope or not, you're welcome )
18:27 havenn joined
jnthn [Coke]: Well, we already have a chunk of Perl 5 regex implemented on top of NQP :) 18:27
PerlJam [Coke]: I know! we could call it Ponie! ;> 18:28
18:28 havenn left
PerlJam btw, has anyone thought out-loud about the advent calendar for this year? We should start signing up for days if that isn't already happening. Dec is rapidly approaching. 18:29
sorear o/ 18:30
jnthn PerlJam: You're the first person I've heard mention it this year :) 18:33
I'd sign up for a couple of days.
dalek : ccff8a3 | duff++ | misc/perl6advent-2012/schedule:
meager start for advent 2012
PerlJam jnthn: there's the schedule, go grab some days :) 18:34
dalek : ab38fd7 | jonathan++ | misc/perl6advent-2012/schedule:
Claim a few days.
18:40
daxim oh sweet, advent! 18:42
18:42 breinbaas joined
dalek : 5bedf5e | duff++ | misc/perl6advent-2011/schedule:
fill in last year's schedule
18:43
18:43 daxim left
jnthn dinner & 18:44
masak evenin', #perl6 18:47
rindolf masak: top of the evening.
masak: or as we say in Hebrew, top of the Erev.
18:48 bluescreen10 left
dalek : 6b4f048 | duff++ | misc/perl6advent-2012/topic-brainstorming:
Add topics seeded from last year
18:48
masak rindolf: ;) 18:49
rindolf Does Rakudo have high-resolution sleep()/usleep()/etc. and time() yet? 18:50
moritz PerlJam++ # p6adevent-2012 18:51
r: say time
p6eval rakudo 34febe: OUTPUT«1351623068␤»
moritz r: say now
p6eval rakudo 34febe: OUTPUT«Instant:1351623111.170060␤»
moritz r: my $t1 = now; sleep 0.1; $t2 = now; say $t2 - $t1
p6eval rakudo 34febe: OUTPUT«===SORRY!===␤Variable $t2 is not declared␤at /tmp/KrNkeTtaBA:1␤»
moritz r: my $t1 = now; sleep 0.1; my $t2 = now; say $t2 - $t1
p6eval rakudo 34febe: OUTPUT«0.15152851␤»
dalek : 202bbb6 | duff++ | misc/perl6advent-2012/topic-brainstorming:
add some more topics
18:52
masak arnsholt: currently I'm busy Thursday but free Friday. how flexible is your schedule?
ooh, p6advent-2012 \o/ 18:54
PerlJam I'm sure someone would love to read an advent article on macros ;) 18:56
moritz surely would 18:57
dalek : c993f93 | moritz++ | misc/perl6advent-2012/topic-brainstorming:
[advent] some more topics
18:58
19:00 havenn joined 19:03 eternaleye joined
masak I'd be happy to write one. 19:03
moritz masak: how about we switch roles for once? you write about typed exceptions or something, and I write about macros? :-) 19:04
(ok, this is a bad idea, but the idea had to be braught forth)
PerlJam you could ghost write for each other.
moritz s/ghost/clone/ :-)
rjbs this is all well and good, but who wants to write an article for the p5 calendar?? :) 19:05
masak moritz: I like the idea, but I also agree it's a bad one. :) now I'm conflicted. 19:06
19:06 s1n joined
moritz rjbs: I could write about the awful reinvented standard modules we use at $work :-) 19:06
masak rjbs: surely if the p6 community can scrape together 24 articles... 19:07
moritz well, the p5 community regularly wants to fill 5 to 8 advent calendars :-)
PerlJam masak++ x 2 :)
19:08 spider-mario left
masak moritz: that is a nice problem for a community to have... 19:08
rjbs masak: Yeah, but I'm the scraper, and I'm here to scrape! 19:11
masak you are *here* to scrape... for p5? :P
rjbs I'm *everywhere*.
The guys in #self were really confused.
masak o.O
moritz :-)
masak .oO( walk into #self and scrape for the JavaScript advent calendar... ) 19:12
rjbs You'd get yourself one bitter calendar that way. :-)
PerlJam sends a mass email
circlepuller r: say "\007"
p6eval rakudo 34febe: OUTPUT«␀07␤»
masak rjbs: *lol*
circlepuller r: say "\x07"
p6eval rakudo 34febe: OUTPUT«␤»
circlepuller r: say "\x07"
p6eval rakudo 34febe: OUTPUT«␤»
circlepuller works
r: say "\7"
p6eval rakudo 34febe: OUTPUT«===SORRY!===␤Unrecognized backslash sequence: '\7' at line 2, near "\""␤»
circlepuller r: say "\07" 19:13
p6eval rakudo 34febe: OUTPUT«␀7␤»
circlepuller :|
masak looks correct to me.
skids hey keep it down in there! :-)
19:14 s1n left
PerlJam rjbs: Are you willing to do a little quid pro quo? you write an article for p6advent and one of us writes an article for p5advent. 19:15
rjbs I am theoretically willing. I'm not sure what I'd write. My knowledge of p6 is embarrassingly poor. :)
I could write about how horkingly bad we've done adoping things from p6 :)
19:16 am0c left
PerlJam rjbs++ theoretical willingness is good. Are there some topic suggestions for p5advent? 19:17
rjbs I should write down the guideline I usually say... 19:18
github.com/rjbs/Perl-Advent/blob/m...ubmit.mkdn
19:19 havenn left, havenn joined 19:24 havenn left
masak sees the '.mkdn' ending for the first time 19:26
only seen .md and .markdown before
19:27 azawawi joined
azawawi star: try { my $fh = open "Z"; CATCH { say "Caught"; } } 19:27
p6eval star 2012.10: OUTPUT«Caught␤open is disallowed in safe mode␤ in sub restricted at src/SAFE.setting:4␤ in sub open at src/SAFE.setting:7␤ in block at /tmp/gAwRzg7fhT:1␤␤»
azawawi hi 19:28
19:28 colomon joined
dalek : fd7eb3b | (Michael Mol)++ | misc/perl6advent-2012/topic-brainstorming:
Update misc/perl6advent-2012/topic-brainstorming

I don't know what's current for this now, so it's probably a good topic.
19:29
: 45e9dc9 | (Конрад Боровски)++ | misc/perl6advent-2012/topic-brainstorming:
Merge pull request #3 from mikemol/master

Obtaining and installing current implementations.
azawawi can Perl 6 catch a q{ my $fh = open, "bad-file-name"; } ?
19:30 s1n joined
PerlJam perl6: my $fh = open "bad-file-name"; 19:31
p6eval niecza v22-14-g136ddcf: OUTPUT«Potential difficulties:␤ $fh is declared but not used at /tmp/lIpobZJejh line 1:␤------> my ⏏$fh = open "bad-file-name";␤␤Unhandled exception: open may not be used in safe mode␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (open @ 0)…
..rakudo 34febe: OUTPUT«open is disallowed in restricted setting␤ in sub restricted at src/RESTRICTED.setting:2␤ in sub open at src/RESTRICTED.setting:5␤ in block at /tmp/oQ8lwDoyPK:1␤␤»
rindolf Wow! ./perl6 consumes 1042 MB REST 19:32
PerlJam azawawi: oh, you meant "catch and not die" ? 19:33
azawawi yup
dying in a web-app is a silly thing to do :)
PerlJam indeed
I think it still dies horribly. 19:34
azawawi yeah it does
diakopter r: say &CORE::slurp('/etc/passwd')
p6eval rakudo 34febe: OUTPUT«root:x:0:0:root:/root:/bin/bash␤daemon:x:1:1:daemon:/usr/sbin:/bin/sh␤bin:x:2:2:bin:/bin:/bin/sh␤sys:x:3:3:sys:/dev:/bin/sh␤sync:x:4:65534:sync:/bin:/bin/sync␤games:x:5:60:games:/usr/games:/bin/sh␤man:x:6:12:man:/var/cache/man:/bin/sh␤lp:x:7:7:lp:/var/spool/lpd:/bi…
diakopter r: say &CORE::open('/etc/passwd')
p6eval rakudo 34febe: OUTPUT«IO.new(ins => 0, chomp => Bool::True, path => "/etc/passwd")␤»
diakopter jnthn: sandbox fail ^^
jnthn diakopter: It's not even a sandbox. 19:35
GlitchMr Accessing /etc/passwd isn't fail, is it?
Why restrict it, really?
diakopter oh.
thought..
r: say open('/etc/passwd')
p6eval rakudo 34febe: OUTPUT«open is disallowed in restricted setting␤ in sub restricted at src/RESTRICTED.setting:2␤ in sub open at src/RESTRICTED.setting:5␤ in block at /tmp/KCXvxdwEo1:1␤␤»
jnthn There's a 10 minute hack that means the clueless have to become more clueful to do something stupid.
GlitchMr By the way, I've found an exploit on perl.org that allows reading /etc/passwd file... now... where I should report it? 19:36
jnthn And nobody here really has.
diakopter <-- oops for exposing a hole
azawawi diakopter: indeed... that's one of the things that im working on in farabi6
PerlJam azawawi: exposing holes? :)
19:36 am0c joined
GlitchMr Niecza doesn't run in any safe mode last time I've checked 19:36
Why Rakudo does then
n: print slurp '/etc/passwd' 19:37
p6eval niecza v22-14-g136ddcf: OUTPUT«Unhandled exception: slurp may not be used in safe mode␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (slurp @ 0) ␤ at /tmp/r2bho0W_KO line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4215 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/C…
diakopter yeah niecza does, but it doesn't prevent direct access to the CLR classes
GlitchMr Or perhaps it does
n: print qx[ls /]
p6eval niecza v22-14-g136ddcf: OUTPUT«bin␤boot␤dev␤etc␤home␤initrd␤lib␤lost+found␤media␤mnt␤opt␤proc␤restoresymtable␤root␤run␤sbin␤selinux␤srv␤sys␤tmp␤usr␤var␤»
diakopter heh
GlitchMr Everybody knows that you can run Niecza programs using qx[]. It's not security hole.
But if running programs is allowed, why safe mode is enabled then? 19:38
azawawi github.com/perl6/evalbot/blob/mast...bot.pl#L99
colomon it most certainly is a security hole.
flussence it's a "safe mode" like php's safe mode.
GlitchMr Except "safe mode" (now removed) in PHP isn't so easy to trick 19:39
(but it's still easy)
flussence I think the best possible fix would be using seccomp to disable all syscalls besides read/write, though that requires using NativeCall in the setting 19:40
rindolf Hi all. Why does this code error? paste.debian.net/205065/ 19:41
jnthn
.oO( I think the best possible predictor we have of future behavior is the past, and the past has a distinct lack of people trying to cause destruction using p6eval... )
PerlJam rindolf: while () { } continue {} # doesn't make sense in P6
rindolf PerlJam: what should I use instead/ 19:42
flussence use while { ...; NEXT{ ... } }
PerlJam see flussence :)
19:42 birdwindupbird joined
azawawi flussence: en.wikipedia.org/wiki/Seccomp # Chrome uses it... nice.. :) 19:42
colomon blast, git mis-commit
rindolf Unable to parse expression in block; couldn't find final '}' at line 15, near "print \"Rem"
GlitchMr But, what's wrong about filesystem calls.
I mean, the sandbox itself is open source and feather3 is used for sandboxing 19:43
jnthn colomon: There's always --amend :)
sorear eval: sub main::DESTROY { print "Destruction happened\n" }; bless []
buubot_backup sorear: bless( [], 'main' )Destruction happened
19:43 hash_table left
PerlJam rindolf: you're also using . for concat and it's ~ in P6 19:43
jnthn sorear: :P 19:44
flussence GlitchMr: it'd be nice to have a real secure setting in case anyone wants to do a tryrakudo-like thing
19:44 havenn joined
rindolf PerlJam: thanks. 19:44
Making progress. Now I'm getting Undefined routine '&time' called (lines 4, 8)
GlitchMr rindolf: try using STD.pm6 or Niecza for detecting syntax errors
rindolf: It's Date.now
rindolf GlitchMr: OK.
GlitchMr Currently, Rakudo doesn't have very good syntax error messages
[Coke] r: say now
p6eval rakudo 34febe: OUTPUT«Instant:1351626333.605037␤» 19:45
PerlJam rindolf: and "time()" should really be just "time"
GlitchMr Oh, it's now
rindolf No such method 'now' for invocant of type 'Date' ==> should I load "Date"?
GlitchMr I wonder why you have tried using continue { } block when you aren't using next... 19:46
rindolf: sorry, it was now, not Date.now
My mistake
It happen
s
PerlJam r: say time; say now; # note the difference
p6eval rakudo 34febe: OUTPUT«1351626409␤Instant:1351626444.928375␤»
rindolf GlitchMr: thanks. 19:47
OK, paste.debian.net/205068/ - this appears to work, but it prints it every 4 seconds or so.
That's not good.
Maybe I should flush.
dalek ecza: c600005 | (Solomon Foster)++ | lib/CORE.setting:
Mark implementation of qx as unsafe.
19:49
GlitchMr By the way, your code looks like Perl 5 code converted to Perl 6.
rindolf OK, now it's better.
GlitchMr Not that this really matters for now
rindolf GlitchMr: I wrote it in Perl 6 from scratch.
azawawi rindolf: farabi6 now provides { syntax check (F6) } that uses ~/std/viv -6
rindolf paste.debian.net/205071/ - final version. 19:50
GlitchMr For example, you can remove parens in while () and if ()
So, instead of if ($condition) {} you can write if $condition {} in Perl 6.
colomon jnthn: I ended up using git reset HEAD^, but you put me on the right track with the --amend hint. ;)
GlitchMr Less line noise, better programs
rindolf And it consumes 100% CPU. 19:51
sorear jnthn: 5 is way more dangerous though, 5 supports "global destruction"
rindolf And 4.2% of RAM. 19:52
GlitchMr: paste.debian.net/205072/ - latest version
GlitchMr Nice :-) 19:53
I would remove method calls parens, but that'sjust
jnthn sorear: OH NOES!
;)
GlitchMr So, instead of $*OUT.flush() it would be $*OUT.flush, but it isn't really important
rindolf GlitchMr: done. 19:54
sorear
.oO( and looking at Sandy, I think that may already have started )
rindolf GlitchMr: paste.debian.net/205073/
GlitchMr Also, (" " x 40) could be written as ' ' x 40
But that doesn't really matter... does it? 19:55
Or perhaps, as "Remaining {$new_to_print.fmt('%i')}/$delay{' ' x 40}\r"
jnthn rindolf: It consumes CPU in something that mostly sleeps?
rindolf jnthn: no, it doesn't appear to sleep at all.
The NEXT {. ..} block is ginored. 19:56
GlitchMr Also, I don't like this NEXT { } block usage
You aren't using flow control operations, so why you would want to use it?
jnthn rindolf: Yeah, NEXT is only implemented in for loops ('tis why we only get yellow for it on the features chart)
rindolf jnthn: ah. :-( 19:57
jnthn sleep does work but...takes CPU?!
GlitchMr Oh, wait... "Remaining {$new_to_print.fmt('%i')}/$delay{' ' x 40}\r" would be wrong... "Remaining {$new_to_print.fmt('%i')}/{$delay}{' ' x 40}\r" is correct
jnthn: it doesn't on my PC... weird
jnthn GlitchMr: I did "while 1 { sleep 10; say 1 }"
[Coke] jnthn: if next isn't getting called, then it's not sleep that's taking the CPU. 19:58
19:58 am0c left
[Coke] ah. 19:58
GlitchMr Interesting how it doesn't on my PC... but perhaps it's because I've old version of Perl 6.
colomon n: print qx[ls /]
p6eval niecza v22-14-g136ddcf: OUTPUT«bin␤boot␤dev␤etc␤home␤initrd␤lib␤lost+found␤media␤mnt␤opt␤proc␤restoresymtable␤root␤run␤sbin␤selinux␤srv␤sys␤tmp␤usr␤var␤»
GlitchMr I'm using mostly Rakudo on feather now
rindolf Now it consumes 5% of CPU. 19:59
jnthn [Coke]: No, my program above does
Oh...
#ifdef _WIN32 /* TODO: Implement on Windows */
#else /* Nothing to do except to wait for the next alarm to expire */ pause();
#endif
rindolf OK, it's better after I convert the sleep to sleep(0.3).
OK, let me try the same program in Perl 5.
colomon 's current STEP on Rakudo run is taking up 3.2 gigs of memory atm... 20:00
GlitchMr sleep(0.3) in Perl 5 is sleep(0)
I hope you want to use usleep ;-)
20:00 am0c joined
PerlJam jnthn: what was the reason while loops didn't get NEXT handling? 20:01
rindolf GlitchMr: Time::HiRes FTW.
GlitchMr I know
I wonder if Perl 5 get bug reports like "sleep doesn't work for low values"
20:02 SamuraiJack left
jnthn PerlJam: I think it's just a todo. 20:02
PerlJam okie
jnthn PerlJam: Not sure there's anything deep blocking it.
Other than tuit supply... :)
walk, bbl & 20:03
sorear GlitchMr: perl 5 gets amazingly stupid bug reports on a regular basis
timotimo_ for no particular reason whatsoever, i'm suddenly reminded of spamusement
PerlJam <sorear> GlitchMr: perl 5 gets amazingly stupid ... on a regular basis.
rindolf GlitchMr: with Perl 6 and sleep(0.1) it consumes close to zero CPU and RAM. 20:04
PerlJam (selective quoting for the humor win :)
diakopter perl gets amazingly regular
GlitchMr This is first stupid sleep bug report: rt.perl.org/rt3/Public/Bug/Display.html?id=8018
sorear thinks that was uncalled for
GlitchMr oh wait, it's not bug report 20:05
it's spam
PerlJam sorear: okay, I apologize. p5p has enough drama anyway :) 20:06
dalek pan style="color: #395be5">perl6-examples: 1621587 | (Gerhard R)++ | rosalind/ (5 files):
[rosalind] Add directory for Rosalind (rosalind.info) solutions
GlitchMr But well, I think that PHP gets more stupid bug reports compared to Perl 5
That's understandable, bad developers created bad language for bad developers that make bad bug reports. 20:07
timotimo_ there's also stupid answers to those bug reports in there
rindolf OK, my conclusion is that Rakudo could use a lot of CPU and RAM consumptions improvements. That or I am missing some compile flags. 20:08
paste.debian.net/205075/ - Perl 5 code for reference.
[Coke] rindolf: not sure how much optimization rakudo does when building parrot.
PerlJam rindolf: aye, rakudo could use lots of improvments :) 20:09
[Coke] thinks it at least does the minimum.
GlitchMr Also, bugs.php.net/bug.php?id=60176
[Coke] rindolf: also keep in mind that we're loading quite a bit that perl5 isn't by default.
(but even then, yes.)
20:10 azawawi left
sorear GlitchMr: that is totally a valid bug. DST 'support' is always a bug. 20:10
GlitchMr If anything, it's bug in his code 20:11
I mean, adding day using + 86400... this can only exist in PHP
rindolf bitbucket.org/shlomif/shlomif-comp...at=default - here. 20:13
flussence GlitchMr: php has a DateTime class that does all that stuff correctly. Most people are just too ignorant to know it's there. 20:14
rindolf OK, I'm now trying with perl Configure.pl --gen-parrot --parrot-option='--optimize' 20:16
During configuration the following steps failed: 20:17
01: init::manifest
sorear impressive!
[Coke] that error has been reported on and off, seems to be do to having nqp upgrade/downgrade past a commit that turned a generated file into a real one or vice versa. 20:18
am0c wow rakudo 2012.10 released! :D
(it was a late notice) 20:19
sorear also, nqp/parrot has a history of hating rindolf.
rindolf sorear: indeed.
20:20 domidumont left
[Coke] (if you do a git status, you'll see the offending file) 20:20
20:20 kurahaupo joined
GlitchMr Rakudo Star 2012.10 was released? 20:21
I have to compile it on feather then
timotimo_ but it's almost 2012.11 already! 20:22
GlitchMr glitchmr@feather ~> gen-rakudo github.com/downloads/rakudo/star/r....10.tar.gz ~/rakudo-star 2012.10
:-)
20:22 kurahaupo left
GlitchMr I like my script to compile Rakudo Star in few seconds 20:23
benabik Does Rakudo work with Parrot HEAD yet, or are there still IO blockers?
timotimo_ 21:22 < GlitchMr> :-) 20:26
whoops, didn't eman to hit that button
20:30 fgomez left
GlitchMr src/core/you_are_here.pm 20:32
What is you_are_here.pm anyway? 20:33
sorear it's a file containing the single line {YOU_ARE_HERE}
20:33 hash_table joined
GlitchMr Why? 20:34
github.com/rakudo/rakudo/blob/nom/...re_here.pm
Also, it's not single line {YOU_ARE_HERE}
4 months ago, some lines were added to it
benabik YOU_ARE_HERE is where the user's code goes. It nests it as a separate scope under the setting. The extra lines appear to be fixup that needs to happen before running user code. 20:35
GlitchMr I hope those extra lines aren't breaking line numbers
And Rakudo Star 2012.10 is compiled 20:36
> {YOU_ARE_HER} 20:37
CHECK FAILED:
Undefined routine '&YOU_ARE_HER' called (line 1)
> {YOU_ARE_HERE}
0
What is {YOU_ARE_HERE} anyway?
Is it special cased or what?
benabik A placeholder for the user's code when the current code is being used as a setting.
GlitchMr Well... but why I can use it in code? 20:38
benabik Because you're allowed to write your own settings.
GlitchMr Shouldn't it make "undefined routine" error?
benabik nr: {YOU_ARE_HERE} 20:39
p6eval niecza v22-15-gc600005: OUTPUT«Unhandled exception: System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.␤ at System.Collections.Generic.Dictionary`2[System.String,Niecza.SubInfo].get_Item (System.String key) [0x00000] in <filename unknown>:0…
..rakudo 34febe: ( no output )
rindolf OK, why doesn't perl Configure.pl --gen-parrot work?
GlitchMr huh?
perl Configure.pl --prefix="$2/$3" --gen-parrot --gen-nqp 20:40
This is in gen-parrot script
gen-rakudo
lol
benabik rindolf: Being more specific than "doesn't work" might help.
rindolf benabik: I get that During configuration the following steps failed: 20:41
01: init::manifest
benabik: sorry.
[Coke] rindolf: you have a stale version of parrot locally.
GlitchMr gist.github.com/3982880
[Coke] either fix it up (see git status for the issue) or remove it and try again
GlitchMr This is gen-rakudo script I use for compiling Rakudo Star
[Coke] --gen-parrot checkouts a copy into ./parrot 20:42
GlitchMr: are you trying to answer rindolf's question? I think he's looking at just the compiler, not star.
GlitchMr Isn't compilation script similar? 20:43
Besides, I think that this script works on plain Rakudo too, but I haven't checked it
flussence yay, I've created valid-looking code that doesn't work in rakudo OR niecza.
gist.github.com/3982889
gfldex what does ^$sleep in line 15 do? 20:44
rindolf [Coke]: oh.
[Coke]: how can I fix it.
flussence gfldex: 1..$sleep 20:45
rindolf OK, parrot's "make distclean" is broken.
20:47 benabik left
[Coke] rindolf: did you replace the missing file? 20:48
20:48 hoelzro|away is now known as hoelzro
sorear flussence: that's invalid-looking code 20:48
flussence: I don't think you're allowed to add an Instant to a Numeric
rindolf [Coke]: I did a git checkout .
GlitchMr > 3 + now 20:49
Instant:1351630187.510438
Why not?
It's like adding 3 seconds
[Coke] rindolf: ok. that should restore the file - if distclean is trying to remove it again, do a `git clean -xdf` inside your parrot checkout.
I think rakudo is stuck on a version of parrot that screwed this up. 20:50
GlitchMr But I guess it's as confusing as width: 6; in CSS, so perhaps you're right
20:50 cognominal left
rindolf [Coke]: thanks. 20:50
20:50 cognominal joined
GlitchMr Also, I find it interesting that for Wolfram Alpha, 'now + 3' actually means 'now + 3 days' 20:51
20:51 sivoais left
[Coke] GlitchMr: same in Oracle, I think. 20:51
masak sorear: there's a constant struggle between ease and strictness in the decision of how much to allow Instants and Real to be fungible.
GlitchMr But perhaps storing it as seconds is just implementation detail
And adding seconds doesn't make sense 20:52
20:52 havenn left
flussence spec says an Instant is "epoch-agnostic measure of seconds", it doesn't say I can't get at the number of seconds and do arithmetic on it 20:52
20:53 havenn joined
flussence (it doesn't say much at all, actually...) 20:53
masak flussence: no, but such a sentiment has been claimed on channel at times.
20:53 havenn left
masak flussence: opinions fall on a scale between "Instants are totally fungible with numbers" and "Instants never betray their numeric value in any way". 20:54
20:54 havenn joined, birdwindupbird left
colomon n: print qx[ls /] 20:55
p6eval niecza v22-15-gc600005: OUTPUT«Unhandled exception: rungather may not be used in safe mode␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (rungather @ 0) ␤ at /tmp/OQ2es_G0Xb line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4215 (ANON @ 3) ␤ at /home/p6eval/niec…
colomon \o/
flussence I'd be fine with doing $instant + Duration.new($seconds), but even that won't work in niecza. 20:56
GlitchMr API like now + 4.seconds would be rather nice ;-)
But well, it's Perl 6, not Ruby
rindolf Seems like the --optimized flag was already applied for Parrot. :-( 20:58
GlitchMr irb(main):006:0> 4.times { print 'combo' } 20:59
combocombocombocombo=> 4
In Perl 6, it probably would look like for ^4 { print 'combo' }
21:00 GlitchMr left
gfldex r: say 'combo' x 4; 21:02
p6eval rakudo 34febe: OUTPUT«combocombocombocombo␤»
21:03 kurahaupo joined
masak r: sub r($n where * > 0) { print 'combo'; r $n-1 }; try r 4 21:04
p6eval rakudo 34febe: OUTPUT«combocombocombocombo»
masak :P
flussence I would've gone with macro infix:<times>($count, &code) { ... } 21:05
(if I could figure out how to make it work)
masak r: sub r($n where {$_}) { print 'combo'; callwith $n-1 }; try r 4
p6eval rakudo 34febe: OUTPUT«combo»
masak hrm.
r: sub r($n where {$_}) { print 'combo'; callwith $n-1 }; r 4 21:06
p6eval rakudo 34febe: OUTPUT«callwith is not in the dynamic scope of a dispatcher␤ in block at src/gen/CORE.setting:514␤ in sub r at /tmp/jVbohuhKLI:1␤ in block at /tmp/jVbohuhKLI:1␤␤combo»
masak oh!
r: multi r($n where {$_}) { print 'combo'; callwith $n-1 }; r 4
p6eval rakudo 34febe: OUTPUT«combo»
flussence erm... I think I just horribly broke the repl:
too few arguments: 0 passed, 192219520 expected
masak jnthn: if callwith fails to dispatch, there's no warning, no nuthin'?
21:06 sqirrel left
jnthn masak: Correct. You're iterating through a candidate list. 21:08
masak: The error you get is for callsame-ing when ther's no dispatcher in scope
masak definitely hasn't assimilated the new callwith semantics 21:09
when I grow up, I'm going to design a programming language that doesn't keep surprising me :P
am0c yey, rakudo-star-2012.10 shiped with various libraries includes panda
21:09 fgomez joined
jnthn masak: Didn't you once complain that it *did* explode if you ran out of things to defer to? :D 21:10
masak hey, I complain. don't ask me to be consistent, too! :P 21:11
by the way, this exchange feels very familiar.
wouldn't surprise me if I've RT'd it at some point... 21:12
jnthn :)
masak RT: a huge map of masak's complaints... 21:13
especially since (as we all know), there's a bias for masakbugs to stay unresolved... :/
flussence that's because you keep finding bizarre ways to break rakudo :) 21:14
jnthn it's because diakopter pipes his weird and wonderful finds through masakbot :D
masak yeah, lately I've been a faithful medium for the restless diakoptergeist. 21:15
21:22 skids left 21:27 Rix is now known as NullByte 21:29 fgomez left 21:34 Pleiades` left 21:37 Pleiades` joined 21:41 thou left, kaare_ left 21:49 hoelzro is now known as hoelzro|away 21:51 pmurias joined
pmurias [Coke]: one of my really long terms plans is once nqpjs is working is to port Perlito5 to QAST 21:51
[Coke]: but I'm not really interested in that while parrot is nqp's only backend 21:52
21:57 am0c left 22:00 rindolf left
timotimo_ how would you implement something with gather/take where you'd take two items each time and they are supposed to end up in two separate lists? 22:04
masak huh, an unzip operation... :) 22:05
timotimo_ r: my @a, @b = gather { take 1, "a"; take 2, "b"; take 3, "c"; }; say "a: @a\nb: @b";
p6eval rakudo 34febe: OUTPUT«===SORRY!===␤Variable @b is not declared␤at /tmp/ncJ19EGOyp:1␤»
masak yeah, that won't work.
timotimo_ wasn't supposed to 22:06
masak not least because you forgot the parens after 'my'.
but won't work anyway because arrays are slurpy.
r: my @a = <1 a 2 b 3 c>; my (@b, @c); for @a -> $b, $c { @b.push($b); @c.push($c) }; say @b.perl; say @c.perl
p6eval rakudo 34febe: OUTPUT«Array.new("1", "2", "3")␤Array.new("a", "b", "c")␤»
timotimo_ ah, so that's basically the same thing in reverse and non-lazy? 22:07
pmurias jnthn: what does .const "LexInfo" %r = "cuid..." do?
timotimo_ in reverse meaning just "push instead of take"
masak timotimo_: well, 'take' is already a sort of 'push' to an anonymous array... 22:11
'night, #perl6 22:12
jnthn r: sub unzip(@a) { state ($s1, $s2); (@a.grep({ ++$s1 %% 2 }), @a.grep({ ++$s2 !%% 2 })).lol }; my (@a, @b) := unzip(1..*); say @a[^10]; say @b[^10]; 22:15
p6eval rakudo 34febe: OUTPUT«2 4 6 8 10 12 14 16 18 20␤1 3 5 7 9 11 13 15 17 19␤»
jnthn pmurias: Grabs the static lexical info associated with the specified block. 22:16
22:17 erkan joined, erkan left, erkan joined
jnthn 'night 22:21
22:22 cotto left, cotto joined, bapa left 22:26 bapa joined 22:29 havenn left 22:30 havenn joined 22:34 havenn left 22:40 ivan`` left 22:43 ivan`` joined 22:47 bapa left 22:48 Khisanth joined 22:49 yeltzooo left 22:51 yeltzooo joined 22:55 stocks joined 22:56 hash_table left 22:57 bapa joined 23:04 hash_table joined 23:09 stocks left 23:10 PacoAir left 23:13 tomaw left, tomaw joined 23:14 fgomez joined 23:17 hash_table left 23:19 skids joined 23:24 hash_table joined 23:49 sivoais joined 23:59 benabik joined