|
»ö« 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
|
|||