»ö« 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 © 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 1Check failedFAILED 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 sideat /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 sideat /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 sideat /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 sideat /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 sideat /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 sideat /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 sideat /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 declaredat /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«Caughtopen 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/bashdaemon:x:1:1:daemon:/usr/sbin:/bin/shbin:x:2:2:bin:/bin:/bin/shsys:x:3:3:sys:/dev:/bin/shsync:x:4:65534:sync:/bin:/bin/syncgames:x:5:60:games:/usr/games:/bin/shman:x:6:12:man:/var/cache/man:/bin/shlp: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«binbootdevetchomeinitrdliblost+foundmediamntoptprocrestoresymtablerootrunsbinselinuxsrvsystmpusrvar» | ||
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«1351626409Instant: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«binbootdevetchomeinitrdliblost+foundmediamntoptprocrestoresymtablerootrunsbinselinuxsrvsystmpusrvar» | ||
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:1combo» | ||
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 declaredat /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 201 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
|