Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-03-18

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:06 raiph joined #perl6
00:09 lue joined #perl6
00:10 cognominal joined #perl6
00:13 LlamaRider nqp: say(x("abc",7));
00:13 p6eval nqp: OUTPUT«Could not find sub &x␤current instr.: '' pc 47 ((file unknown):168622262) (/tmp/1FJdsaPZxO:1)␤»
00:18 kurahaupo joined #perl6
00:29 cognominal joined #perl6
00:33 diakopter nqp: say(nqp::x("abc",7));
00:33 p6eval nqp: OUTPUT«abcabcabcabcabcabcabc␤»
00:33 diakopter nqp-jvm: say(nqp::x("abc",7));
00:33 p6eval nqp-jvm: OUTPUT«abcabcabcabcabcabcabc␤»
00:47 cognominal joined #perl6
00:48 anuby joined #perl6
01:03 cognominal joined #perl6
01:14 dayangkun joined #perl6
01:29 colomon rn: say 1701/60
01:29 p6eval rakudo 2a41b3, niecza v24-35-g5c06e28: OUTPUT«28.35␤»
01:29 colomon so, my current STEP file read has been running for 28.35 hours, and now is taking up 36 gigs of memory.
01:29 colomon also, my new linux box is swapping like crazy.
01:30 hypolin joined #perl6
01:42 FROGGS jnthn: how do I locate where this happens? https://gist.github.com/FROGGS/5b821ff471cf0bcb049f
01:42 FROGGS btw, sleep well #perl6
02:14 kurahaupo joined #perl6
02:41 LlamaRider joined #perl6
02:56 FROGGS_ joined #perl6
03:03 orafu joined #perl6
03:10 FROGGS_ joined #perl6
03:10 diakopter colomon: /o\
03:10 colomon \o/
03:11 diakopter it finished?
03:11 colomon nah, I'm just in a good mood
03:11 diakopter or were you celebrating the fact that it hadn't crashed yet? :)
03:11 colomon that too.  :)
03:13 sorear :D
03:16 * diakopter listens as colomon tests his hdd's MTBF
03:17 colomon yeah, having stepped back into the office and listened to the hard drive, I'm thinking maybe I should kill the process.
03:17 colomon wish I had some idea how close it was to being done...
03:18 diakopter computing eventual termination of nondeterministic programs is especially hard..
03:19 toddr_ joined #perl6
03:19 diakopter hi toddr_
03:20 colomon killed
03:20 toddr_ howdy. Was checking ig the topic has a YAPC talks plug or not.
03:20 diakopter ..if you can fit it in there.. ;)
03:21 geekosaur plenty of room left
03:22 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: http://irc.perl6.org/ | UTF-8 is our friend! | YAPC::NA talk submissions due end of Month. Have you submitted your talk?
03:23 toddr_ thanks
03:24 diakopter actually I think you can /topic here without being op; oh well
03:25 toddr_ huh. Freednode confuses me compared to most irc systems. Their privs a definitely weird.
03:28 census joined #perl6
03:44 ponbiki joined #perl6
04:00 dwoldrich joined #perl6
04:02 jaldhar_ joined #perl6
04:07 japhb jnthn, I'm trying to figure out a loop in my DUMP work.  In Parcel.pm, I have a multi method DUMP(Parcel:D:) in which I've added debugging output, and confirmed that the next thing to dump recursively (the $!storage) attribute, is an RPA.  I then call DUMP($!storage), which calls the sub DUMP(|) in Mu.pm, which starts with my Mu $args := pir::perl6_current_args_rpa__P(); my Mu $topic := nqp::shift($args); If I now pir::typeof__SP($topic),
04:07 japhb I now see a Parcel instead of an RPA; since Parcel fails nqp::islist(), I fall through to calling $topic.DUMP(), and loop.  Why the change of type, given all the attempts to avoid coercion, and how do I fix this?
04:07 japhb * (the $!storage attribute)  # Damn parens moved on me
04:08 * japhb goes to watch a movie and clear his head
04:08 japhb &
04:13 loops joined #perl6
04:19 xilo_ joined #perl6
04:27 cibs joined #perl6
04:43 preflex_ joined #perl6
04:51 loops howdy, any tips on how to build Rakudo HEAD?  Building git download doesn't seem to build latest even when i configure with --gen-parrot=master --gen-nqp=master
04:56 loops Am trying to grab fixes announced yesterday here... http://is.gd/AGAFwo
04:58 tadzik it should Just Work, if you do have rakudo HEAD cloned
04:59 loops tadzik, hmm.. k... --version shows its using older commits from parrot and nqp
04:59 loops and testing the examples given on that web page don't work...
04:59 loops but i'm probably doing something daft
04:59 kaleem joined #perl6
05:00 tadzik loops: ah yes, it will use older Parrot/nqp
05:00 tadzik this NQP which is in NQP_REVISION (rakudo repo), and this Parrot which is in PARROT_REVISION (nqp repo)
05:01 tadzik anything in particular that doesn't work?
05:01 loops my $nonsense = 'asdf'; say "OK" if "ADSF" ~~ m:i/$nonsense/;
05:01 loops from that web page link i gave above... from yesterday
05:02 loops the case insensitive matching
05:02 tadzik r: my $nonsense = 'asdf'; say "OK" if "ADSF" ~~ m:i/$nonsense/
05:02 p6eval rakudo 2a41b3:  ( no output )
05:08 tadzik loops: you can always build nqp separately, and have everything fresh
05:08 loops tadzik can i just change NQP_REVISION in rakudo repo?
05:08 tadzik not _really_ separately. Now that you've done --gen-nqp, you can just cd nqp && git pull and stuff
05:09 tadzik loops: that'd work too
05:09 loops oh.. so it'll use master, just list version incorrectly?
05:09 tadzik it'll list version alright
05:09 tadzik nqp --version will be alright
05:09 loops k.. will give it a go and see how it works... but even the local bot didn't get it correct i see
05:09 tadzik local bot is correct. It relies on NQP_REVISION
05:09 tadzik if it's not bumped then maybe there's a reason
05:10 loops well i meant it got the example you pasted wrong... no output instead of OK
05:15 loops So maybe that web page i was reading doesn't actually reflect what has been committed to master.  Is my first time having a go with perl6
05:15 loops Maybe it's just in glitchmr's repo alone
05:19 tadzik I think it's possible that the changes in nqp are there but Rakudo hasn't caught up or so
05:19 loops okay.. am giving it a compile now with parrot and nqp head just to see
05:19 tadzik oh, better avoid Parrot head
05:20 tadzik while using nqp head is safe, there's a reason why we use almost a year-old parrot in PARROT_REVISION
05:20 loops yeah? okay.. will kill it and start over if you think that's all i need
05:20 tadzik thing may break
05:20 tadzik yeah, Parrot doesn't really influence rakudo these days
05:21 tadzik r: say "OK" if 'a' ~~ /:i 'A'/;
05:21 p6eval rakudo 2a41b3: OUTPUT«OK␤»
05:21 * tadzik commutees
05:21 rindolf joined #perl6
05:22 benabik ... Parrot 4.11 is a year old?
05:22 loops is it possible that web page i was reading just had a typo with the syntax?
05:23 loops http://glitchmr.github.com/perl-6-changes-2013W11.html    was the actual source of that example
05:23 benabik And I hope NQP grabs a more recent version of Parrot soon, with the fixes for read all and the IO buffers.  :-/
05:29 loops If my computer wasn't powered by lethargic mice this would be compiled by now
05:29 raiph_ joined #perl6
05:31 raiph loops: do you know about the evalbots on channel?
05:31 raiph r: my $nonsense = 'asdf'; say "OK" if "ASDF" ~~ m:i/$nonsense/; # fixed typo
05:31 p6eval rakudo 2a41b3: OUTPUT«OK␤»
05:32 raiph loops: the two strings don't match asdf / ADSF
05:33 loops omg lol
05:33 raiph ;)
05:33 raiph GlitchMr++ # for doing the changes report (and -- for the typo :)
05:34 loops apparently i have undiagnosed dyslexia
05:36 loops thanks raiph... probably saved me some anguish about what i was doing wrong with the compile process
05:37 loops thanks to you too tadzik... cheers
05:38 raiph yw
05:38 raiph are you new to p6?
05:39 SamuraiJack joined #perl6
05:41 loops yeah.. first day :o)
05:41 loops just giving it a look.. pretty new to perl in general actually..
05:54 raiph loops: what langs are you familiar with? what are you thinking you might do with perl?
06:01 loops raiph, Fortran, COBOL, C..  been doing this a lot of years ;o)  did a fair bit of sys admin over the years and kinda kick myself for doing so much in shell instead of perl
06:01 loops awk and sed.. what a misery
06:01 loops Just wrote a web scraper in P5 and it was a revelation... so much handled easily by CPAN
06:02 raiph heh. presumably you know perl started as a replacement for sed, awk, and shell
06:02 loops Am often doing things where perl would be better than shell, but that's my comfort zone
06:02 loops yeah :o)
06:03 loops I dunno why i never took the time to dig into it 15 years ago
06:03 FROGGS joined #perl6
06:03 sorear were you even on unix at the time?
06:04 sorear even today, perl 5's support for VMS is ... not great
06:04 loops yeah, lots of the time was on Xenix, and other Unix boxes
06:04 loops yeah, i started on VMS
06:05 loops well actually i started on a Commodore PET 40 character green screen with 32K RAM
06:05 loops but that's another story ;o)
06:06 raiph heh. sinclair zx80 for me. 1kb. :)
06:06 loops doh.. u have me beat ;)
06:06 raiph perl5 and perl6 are very, very different animals at the moment
06:07 loops yeah.. i found learning about their differences a nice way to learn about P5 as much as anything
06:07 loops but the P6 features are really intriguing...
06:07 raiph if you assume p6 is 1000x slower, you might be pleasantly surprised
06:08 loops Was just reading this is the year of performance for P6, so who knows :o)
06:08 sorear it was 1000x slower in mid-2010
06:09 sorear that's how much ng sucked ;)
06:09 loops anyway, when you spend 3 hours not noticing ASDF ADSF difference... speed may not be my biggest problem
06:09 raiph lol
06:11 raiph cpan (p5) has over 100K modules and many are very robust.
06:11 raiph p6 has about a hundred small to very small modules in its ecosystem
06:12 loops yeah, i read the whole p6 list.. it's a huge difference for sure.. CPAN really rocks.
06:12 loops perl seems as mutable as lisp
06:13 loops and P6 even more so, which would be really powerful if it can be performant
06:13 bonsaikitten well, p6 is still young ... once someone writes the next web 2.0 framework in it it'll take over ;)
06:13 loops lol true
06:14 sftp joined #perl6
06:14 loops Pearls on Perl
06:15 loops more dyslexia
06:22 raiph because it's not there yet, perl6 in 2013 (and probably 2014 too) is mostly about building a tool for getting stuff done, not for actually getting stuff done. for that latter, think and use perl5
06:25 raiph all imo of course. goodnight #perl6
06:28 loops night raiph
06:30 FROGGS joined #perl6
06:37 rindolf joined #perl6
06:45 kaleem joined #perl6
06:49 rindolf joined #perl6
06:59 tadzik benabik: uh, no it's not :) For some reason I thought it's 4.1
07:03 rindolf joined #perl6
07:09 rindolf joined #perl6
07:09 loops date
07:13 rindolf loops: what about date?
07:21 rindolf joined #perl6
07:35 rindolf joined #perl6
07:47 rindolf joined #perl6
07:55 markov joined #perl6
07:55 markov left #perl6
08:00 rindolf joined #perl6
08:08 domidumont joined #perl6
08:08 cognominal joined #perl6
08:09 markov joined #perl6
08:10 rindolf joined #perl6
08:14 masak greetings, #perl6
08:18 moritz \o masak
08:18 tadzik hey hey masak
08:18 rindolf joined #perl6
08:19 * masak is teaching today
08:19 * moritz will be teaching git for three hours in the afternoon
08:21 tadzik fun stuff
08:21 * tadzik hums "Code Monkey"
08:21 hoelzro ahoy #perl6
08:24 masak hoelzro! \o/
08:25 hoelzro o/ masak
08:27 FROGGS morning
08:27 masak FROGGS! \o/
08:27 FROGGS :o)
08:28 sorear \o/
08:28 masak sorear! \o/
08:29 tadzik \o/
08:29 FROGGS hehe, what a nice community :o)
08:30 * masak starts le teaching
08:31 rindolf joined #perl6
08:35 domidumont joined #perl6
08:42 hoelzro I had a thought on my way to work this morning
08:43 hoelzro META.info currently uses an array of strings for dependencies
08:43 hoelzro perhaps it could also allow hashes on that array?
08:44 hoelzro ex. { "name" : "NativeCall", "version" : "0.1.0", "for" : "Testing Stuff" }
08:44 rindolf joined #perl6
08:45 tadzik sure
08:46 kurahaupo joined #perl6
08:46 tadzik it's quite easy to introduce, I'd say
08:46 tadzik well, if we plan to ignore the special information at first :)
08:47 tadzik we'll need that eventually anyway, I think
08:58 rindolf joined #perl6
09:05 hoelzro \o/
09:06 hoelzro also, there was talk of adding POSIX errno values to NQP in addition to nqp_posixerrno
09:06 daxim joined #perl6
09:06 tadzik heh, spectest on TEST_JOBS=6 is pretty awesome
09:06 hoelzro what would be the best way to expose that to NQP? nqp_posixerrnovalues -> Hash?
09:06 tadzik errno values as in strings descriptions?
09:07 tadzik like perror(), sort of?
09:07 lustlife joined #perl6
09:12 hoelzro well, it would be something like %errno-values<ENOMEM> -> whatever ENOMEM is on that platform
09:13 kaleem joined #perl6
09:16 fhelmberger joined #perl6
09:20 rindolf joined #perl6
09:22 kresike joined #perl6
09:22 kresike hello all you happy and/or unhappy perl6 people
09:24 FROGGS hehe
09:24 FROGGS helllo kresike
09:24 FROGGS -l
09:26 wk_ joined #perl6
09:27 kresike FROGGS, o/
09:27 kresike had to make it more generic, people were complaining ☺
09:29 lustlife joined #perl6
09:31 tadzik md-nqp seems not slower than nom here
09:31 tadzik on spectest, at least
09:32 tadzik (https://gist.github.com/tadzik/5185967)
09:35 jnthn japhb: If an RPA is returned by a method, it's automatically marshalled into a Parcel. In general, Rakudo tries fairly hard to not let Parrot types leak into Perl 6 land...
09:37 FROGGS jnthn: morning
09:37 FROGGS <FROGGS> jnthn: how do I locate where this happens? https://gist.github.com/FROGGS/5b821ff471cf0bcb049f
09:39 tadzik FROGGS: try --ll-exception maybe
09:39 dakkar joined #perl6
09:39 tadzik or is that it already? :)
09:40 moritz that won't help
09:40 rindolf joined #perl6
09:40 moritz FROGGS: binary search: comment out large chunks of code, recompile
09:40 jnthn I've no idea what NQP code you wrote to get that error...
09:40 FROGGS tadzik: make is already the borke
09:41 moritz if the error disappears, you know it's in the newly commented-out code
09:41 moritz nqp: say() := 42
09:41 p6eval nqp: OUTPUT«Error while compiling block : Error while compiling op bind: First child of a 'bind' op must be a QAST::Var␤current instr.: '' pc 46234 (src/stage2/QAST.pir:16986) (src/stage2/QAST.nqp:2783)␤»
09:41 jnthn And yeah, there's not much better for it than what moritz said, other than when you do find it file a ticket so we can catch the issue at NQP level
09:41 jnthn Hm :)
09:41 FROGGS jnthn: it is within my added code, I was hoping there is a trick to get the line number
09:42 jnthn oh, I guess NQP must not validate the LHS of the bind at all
09:42 moritz well, we could also try to track down source location for errors from the QAST compiler
09:42 FROGGS +1
09:42 FROGGS moritz: now? :P
09:42 moritz FROGGS: maybe you're trying to bind to $.var or so?
09:42 moritz FROGGS: I'm at $work now, doing $work things :(
09:42 FROGGS moritz: might be the case, let me check
09:43 moritz FROGGS: but one thing you can do in QAST::Compiler is simply print out $qast.node.Str when that error is thrown
09:43 moritz maybe that makes it easier for you to find the location of the error
09:52 FROGGS moritz: thanks!
10:00 SamuraiJack joined #perl6
10:03 moritz FROGGS: did it help?
10:06 rindolf joined #perl6
10:07 FROGGS moritz: $work got me, I'll get to it in a bit
10:09 nyuszika7h joined #perl6
10:22 rindolf joined #perl6
10:28 cognominal joined #perl6
10:41 rindolf joined #perl6
10:55 pmurias joined #perl6
10:56 pmurias would cloning rake in Perl6 be a good way to move away from makefiles?
10:58 arnsholt Not sure if I'd prefer a dependency on Ruby over make. Are the makefiles a problem?
10:58 tadzik do we have a problem with makefiles?
10:58 tadzik well, I guess it'll be more of Porting to Perl6 rather than Depending on Ruby
10:59 tadzik but I think they're fine. They serve only as a developer tool now, the end-user solutions don't use makefiles anyway
10:59 tadzik (at least in the module ecosystem)
11:01 arnsholt Oh, right. That kind of clone. I guess it's not a bad idea, although I'll probably stick with make =)
11:03 pmurias tadzik: re problem with makefiles, they I really hate them, they are ugly and copy & pasted
11:05 tadzik oh well
11:05 tadzik I neither write them nor read them, so I don't have a problem with them
11:05 tadzik I once reimplemented ufo in Pure Perl 6, it was awful :P
11:05 cognominal proposed a pull request for nqp...
11:06 cognominal https://github.com/perl6/nqp/pull/84
11:07 pmurias tadzik: does panda handle the precompilation for modules?
11:07 tadzik pmurias: yes
11:08 tadzik the logic is mostly cargo-culted from ufo
11:08 tadzik but it's not using makefils
11:09 cognominal ufo-culted, then...
11:11 arnsholt cognominal: FWIW, I write lots of makefiles without copy-pasting =)
11:12 pmurias arnsholt: that was aimed at me?
11:13 arnsholt Oh, indeed it was
11:15 rindolf joined #perl6
11:15 FROGGS moritz: I believe it is something like this:
11:15 FROGGS nqp: my $x; my $y; ($x, $y) := (1,1);
11:15 p6eval nqp: OUTPUT«Error while compiling block : Error while compiling op bind: First child of a 'bind' op must be a QAST::Var␤current instr.: '' pc 46234 (src/stage2/QAST.pir:16986) (src/stage2/QAST.nqp:2783)␤»
11:16 jnthn That's never going to work in NQP, but we can try and do a better error for it.
11:18 FROGGS jnthn: np, I'll just fix my grammar
11:20 xinming_ joined #perl6
11:22 jnthn FROGGS: Please file an nqp ticket about getting a better error though...
11:22 jnthn I want to improve that.
11:22 jnthn NQP may be limited, but it should know its limits :)
11:22 FROGGS jnthn: k, will do
11:31 woolfy joined #perl6
11:32 jaldhar_ joined #perl6
11:32 rindolf joined #perl6
11:39 mberends joined #perl6
11:48 hoelzro Parrot_pmc_new(interp, enum_class_Hash) creates a PMC that I may call Parrot_hash_* functions on, yes?
11:48 FROGGS nqp: my $x; my $y; $x := $y := 1;
11:48 p6eval nqp:  ( no output )
11:50 FROGGS nqp: if my $x := 1 {  say("ya"); }
11:50 p6eval nqp: OUTPUT«ya␤»
11:52 rindolf joined #perl6
12:01 FROGGS moritz: $node.dump seems helpful
12:06 census joined #perl6
12:14 rindolf joined #perl6
12:23 FROGGS ./perl6 -e 'my $a = slurp "src/Perl6/P5Actions.pm"; my %meth = $a.lines.map( { /(method) \s+ (\S+)/ ?? $1 => 1 !! () } ); my $g = slurp "src/Perl6/P5Grammar.pm"; my %decl = $g.lines.map( { /(token|rule) \s+ (\S+)/ && !%meth{$1} ?? $1 => 1 !! () } ); say %decl'
12:24 FROGGS haha, I'm using Perl 6 to implement Perl 5 within Perl 6
12:28 mtk joined #perl6
12:30 rindolf joined #perl6
12:33 SmokeMachine joined #perl6
12:40 rindolf joined #perl6
12:50 dalek perl6-roast-data: 408e358 | coke++ | / (4 files):
12:50 dalek perl6-roast-data: today (automated commit)
12:50 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/408e358b14
12:50 [Coke] rakudo testing clean again. niecza up to 102 failures.
13:03 hoelzro you can't use #define's in ops files? =(
13:04 jnthn hoelzro: Yes, only up in the prelude
13:04 hoelzro oh, I see
13:04 hoelzro hmm
13:04 jnthn nqp.ops does it
13:13 hoelzro ok, that should work
13:13 hoelzro so I'm thinking of pushing my pygments lexer upstream soon; one of the problems is "role q { ... }" doesn't parse correctly.  Is it special enough of a case to ignore?
13:14 hoelzro because I've been thinking, and it would be non-trivial to parse correctly
13:15 tadzik literally 'role q { }'?
13:15 hoelzro it's in Grammar.pm
13:15 hoelzro which one, I cannot recall...
13:15 hoelzro it parses it as a string
13:15 PerlJam hoelzro: the other quoters too, or just that one?
13:15 hoelzro which is incorrect, but it doesn't break the rest of the parse, so I'm inclined to leave it broken
13:16 hoelzro PerlJam: probably qq as well
13:16 FROGGS hoelzro: leave it broken then
13:16 FROGGS there will be always room for improvement :o)
13:16 hoelzro yeah, I figure it's probably good enough for upstream
13:17 PerlJam hoelzro: seems like you could special-case "role\s+<quoter>" though
13:17 hoelzro hmm
13:17 PerlJam hoelzro: but if not, I'm with FROGGS; leave it be for now.
13:17 hoelzro I'll consider that
13:17 hoelzro I was hoping to avoid a special case, but it's not so bad
13:19 lizmat PerlJam: shouldn't that be "role<ws><quoter>"
13:21 xinming joined #perl6
13:22 PerlJam lizmat: sure.  I'm still in P5 mode this morning  :)
13:22 hoelzro well, it *is* using Python regexes =P
13:23 * hoelzro thinks it's funny that his largest contribution to Perl 6 so far has been writing Python
13:26 bluescreen10 joined #perl6
13:26 toddr_ left #perl6
13:27 SmokeMachine joined #perl6
13:36 PacoAir joined #perl6
13:43 stevan_ joined #perl6
13:54 skids joined #perl6
14:08 domidumont joined #perl6
14:10 FROGGS Method '!cursor_init' not found for invocant of class 'NQPMu'
14:10 FROGGS well, better than nothing :o)
14:11 benabik joined #perl6
14:20 dalek roast: e08d8f4 | (Solomon Foster)++ | S03-operators/range-basic.t:
14:20 dalek roast: Skip new tests on Niecza.
14:20 dalek roast: review: https://github.com/perl6/roast/commit/e08d8f482a
14:21 jnthn joined #perl6
14:23 dakkar joined #perl6
14:26 Liz joined #perl6
14:27 jdv79 joined #perl6
14:28 Psyche^ joined #perl6
14:29 jdv79 is there a way to see the parse tree for a piece of doce or a dump of the reconstituted code?  i saw that blurb about a bad parse in the last Perl 6 Changes post and i wanted to see it but couldn't figure it out
14:29 jdv79 i thought maybe putting that in a sub and calling .perl on it would do something useful but nope
14:29 jdv79 *code
14:30 FROGGS jdv79: you can do: ./perl6 --target=ast -e 'say 1'
14:30 FROGGS that's not for a piece of code though
14:32 jdv79 cool, thanks
14:46 jpnk joined #perl6
14:47 kivutar joined #perl6
14:48 slavik joined #perl6
15:06 jpnk hi. is there a way to access a variable inside a native library? NativeCall seems to focus solely on functions.
15:06 jnthn jpnk: Believe there's not a way to do that yet.
15:07 jpnk just what i thought:( thanks anyway.
15:15 domidumont joined #perl6
15:16 zos joined #perl6
15:34 am0c joined #perl6
15:38 LlamaRider joined #perl6
15:39 LlamaRider I've seen the examples of connecting to native subs with NativeCall/zavolaj  -- But how do I connect to native variables?
15:39 LlamaRider also, o/ #perl6
15:41 jnthn Is this a conspiracy where if enough people ask that question on the same day, it might be implemented? :D
15:41 * LlamaRider hasn't read the backlogs yet
15:42 masak LlamaRider! \o/
15:42 jnthn LlamaRider: Somebody asked exactly the same about 30 minutes ago. :)
15:42 hoelzro and I asked the same on Saturday
15:42 jnthn And that.
15:42 jnthn OK, I get the hint. :)
15:42 hoelzro (to be fair, errno is not a normal variable, and probably wouldn't work)
15:42 masak is there a way to connect to native vars with zavolaj? :P
15:43 jnthn masak: In step 1, you hassle one of the people who knows about Zavolaj to implement it :P
15:43 jnthn I guess we want to be able to set them as well as get them?
15:43 masak I'm just cargo-culting the question, but I'm guessing "yes".
15:44 jnthn yes, I was asking generally...
15:44 jnthn I'm going to be doing a bunch of container stuff refactors soon anyways. The stuff to enable is rw and native types to get along.
15:44 jnthn I'll get I can get this to work off the same kind of mechanism.
15:44 jnthn *bet
15:44 masak ++jnthn
15:45 TimToady native containers are usually called "pointers" :)
15:45 masak whoa.
15:45 jnthn TimToady: Yeah, but in the case of lexicals it's a pointer that needs to keep alive the callframe it's pointing into, for example. :)
15:46 TimToady the actual container, of course, is the memory cell, but a pointer is necessary to get to the address
15:46 TimToady or a register number :)
15:46 * masak decommutes
15:46 jnthn What I want is to factor it in a way where we take out some kind of managed pointer, but if we inline stuff later it can collapse back down to something cheap.
15:52 jpnk anyone knows why panda is taking so long to start when installing from a local directory? anything i can tweak?
15:54 LlamaRider jnthn: I see, thanks for looking into adding the feature then :)
15:58 jpnk nevermind my question, gotta go:) bye.
15:59 hoelzro I hope jpnk comes back
15:59 hoelzro we need more curious folk =)
16:14 tyion joined #perl6
16:17 diakopter nqp-jvm: ($_,) := 4 # golfed
16:17 p6eval nqp-jvm: OUTPUT«First child of a 'bind' op must be a QAST::Var␤  in <anon>␤  in <anon>␤  in compile_op␤  in as_jast␤  in as_jast␤  in <anon>␤  in compile_all_the_stmts␤  in as_jast␤  in as_jast␤  in <anon>␤  in compile_all_the_stmts␤  in as_jast␤  in as_jast␤  in <anon>␤  in compile_all…
16:18 diakopter nqp-jvm: ($_ := 5) := 4 # maybe related
16:18 p6eval nqp-jvm: OUTPUT«First child of a 'bind' op must be a QAST::Var␤  in <anon>␤  in <anon>␤  in compile_op␤  in as_jast␤  in as_jast␤  in <anon>␤  in compile_all_the_stmts␤  in as_jast␤  in as_jast␤  in <anon>␤  in compile_all_the_stmts␤  in as_jast␤  in as_jast␤  in <anon>␤  in compile_all…
16:18 diakopter oh.
16:18 diakopter you're an as_jast
16:19 benabik I don't think NQP support binding to parcels.
16:19 jnthn Correct.
16:19 jnthn But we should really catch it higher level.
16:19 jnthn Rather than exploding at code-gen time over badly formed QAST
16:22 japhb jnthn, This wasn't a return value getting marshalled; it was an argument to a sub, which I thought had less marshalling magic, when you go through the pir:: raw argument contortions.  If that's not the case, is there any way for code in the setting to intentionally not marshal arguments (or return values)?
16:22 jnthn japhb: Oh, going through the raw arg thing shoulda prevented it
16:23 japhb Yeah, that's why I was confuzzled
16:23 jnthn Unless it happened somehow before then.
16:24 japhb I'm not sure where it would have been; I check type just before the sub call, and then I check type in the sub right after the raw arg handling, and they're different.
16:24 diakopter nqp-jvm: say((my $a := 4) === 6) # jnthn here's one
16:24 p6eval nqp-jvm: OUTPUT«Redeclaration of symbol $a at line 2, near ":= 4) === "␤  in panic␤  in variable_declarator␤  in !reduce␤  in !cursor_pass␤  in variable_declarator␤  in declarator␤  in scoped␤  in scope_declarator:sym<my>␤  in !protoregex␤  in scope_declarator␤  in term:sym<scope_declar…
16:24 diakopter nqp: say((my $a := 4) === 6)
16:25 p6eval nqp: OUTPUT«Redeclaration of symbol $a at line 2, near ":= 4) === "␤current instr.: 'panic' pc 14698 (src/stage2/gen/NQPHLL.pir:5229) (src/stage2/gen/NQPHLL.pm:278)␤»
16:25 jnthn At least it's consistent :)
16:25 diakopter === doesn't exist, right?
16:25 jnthn Right
16:25 jnthn I thought not, at least
16:26 diakopter nqp: say(5 === 5)
16:26 p6eval nqp: OUTPUT«Confused at line 2, near "say(5 === "␤current instr.: 'panic' pc 14698 (src/stage2/gen/NQPHLL.pir:5229) (src/stage2/gen/NQPHLL.pm:278)␤»
16:26 jnthn japhb: I can take a look at what you wrote and see if I spot anything
16:27 japhb OK, give me a sec ...
16:27 diakopter nqp: $_ == 5
16:27 p6eval nqp: OUTPUT«Null PMC access in get_number()␤current instr.: '' pc 43 ((file unknown):39) (/tmp/8aYQplJAi8:1)␤»
16:28 diakopter nqp: $_
16:28 p6eval nqp:  ( no output )
16:28 diakopter nqp: say($_)
16:28 p6eval nqp: OUTPUT«Null PMC access in get_string()␤current instr.: '' pc 828 (src/stage2/gen/NQPCORE.setting.pir:372) (src/stage2/NQPCORE.setting:649)␤»
16:28 diakopter nqp: say($_ := 66)
16:28 p6eval nqp: OUTPUT«Lexical '$_' not found␤current instr.: '' pc 43 ((file unknown):42) (/tmp/ZlSzFbfS4N:1)␤»
16:28 jnthn I think $_ only exists in NQP if there's something to bind it.
16:29 diakopter nqp: say(my $_ := 66)
16:29 p6eval nqp: OUTPUT«66␤»
16:29 diakopter okay..
16:29 jnthn Though it should probably be giving an undeclared error. Or just being 6ier.
16:29 diakopter your mom is 6ier
16:29 jnthn NQP tends to do less magical things, though.
16:30 jnthn Heh, that's funnier in Swedish than English :P
16:30 diakopter also, your mom does less magical things
16:30 diakopter what is it in Swedish
16:30 diakopter do I want to know?
16:31 jnthn en: six == se: sex :P
16:32 dalek rakudo/extend-dump: 6531d86 | (Geoffrey Broadwell)++ | src/core/ (5 files):
16:32 dalek rakudo/extend-dump: First snapshot of DUMP extension work; lots of debug output trying to track down apparent marshalling issue.
16:32 dalek rakudo/extend-dump: review: https://github.com/rakudo/rakudo/commit/6531d86292
16:32 * jnthn makes a final push on $dayjob stuff before doing dinner and Perl 6 stuffs
16:33 japhb jnthn, see above mini-branch
16:33 diakopter commode, er I mean commone, er I mean commune, er, I mean commute &
16:38 japhb_ joined #perl6
16:38 japhb_ jnthn, I forgot to mention the one-liner I was using to sanity check my work: perl6 -e 'class Foo { has $!bar = "bar"; has $.quux = 1..10; has $!foo = < a b c d >; }; my Foo $foo .= new; say DUMP($foo)' |head -50
16:39 japhb_ That ought to show sane-ish stuff for the first couple attributes, and then go to crazy town on $!foo .
16:40 jnthn $attr.get_value(self)
16:40 jnthn I wonder if it's that get_value call that does it
16:41 jnthn (when you get the Parcel storage)
16:42 kaare_ joined #perl6
16:43 jnthn try it as nqp::findmethod($attr, 'get_value')(($attr, self)
16:45 japhb_ I'm not sure that's in the line of code that's the problem.  See this output:
16:45 japhb_ https://gist.github.com/anonymous/2c714262390b18b06b4e
16:46 japhb_ Start on line 23, when it starts looking at $!foo
16:47 kivutar joined #perl6
16:47 japhb_ As soon as we hit Parcel.DUMP(), we start looping between Parcel.DUMP and Mu::DUMP; Mu.DUMP is out of the picture at that point.
16:48 jnthn oh, it's overridden in Parcel...
16:48 jnthn hm
16:51 jnthn japhb_: ooh...
16:51 jnthn I was wrong about that op
16:51 japhb_ oh?
16:51 jnthn It does map, it just doesn't panic if it can't.
16:52 jnthn oh...
16:52 jnthn You can use the capture processing ops I added when porting the multi-dispatcher.
16:53 japhb_ Ah, cool.  Which ones, and where should I look for example usage?
16:53 jnthn nqp::captureposarg(nqp::usecapture(), 0) # for example
16:53 japhb_ Oh, nice.
16:53 jnthn Well, you can look in the multi-dispatch (in BOOTSTRAP.pm) for examples too :)
16:53 kresike bye folks
16:54 pupoque joined #perl6
16:54 Harzilein joined #perl6
16:54 Harzilein hi
16:55 PerlJam Harzilein: greetings
16:55 Harzilein hmm... should $.something.WHAT work in perlito? is it even valid perl6?
16:55 arnsholt o/
16:55 jnthn It's certainly valid Perl 6
16:57 japhb_ jnthn, OK, thank you.  Starting a build with the pir:: -> nqp:: change (it will take a while), and I'll let you know if that fixes it.  :-)
16:57 * japhb_ is also happy that the fix may be "get rid of pir:: in favor of the portable solution"
16:58 Chillance joined #perl6
16:59 jnthn Yes, that pir op in general can go away for this more portable solution.
16:59 jnthn It's already supported in JVM land.
17:04 arnsholt jnthn: In the head commit at vmarray-list I changed some atpos_s to plain atpos in NQPMu. Should that kind of thing generally be ok?
17:04 cognominal joined #perl6
17:05 jnthn arnsholt: Probably; I'd be curious if it looks the same in nqp-jvm's NQPMu
17:05 moritz atpos_s?
17:05 moritz sounds scary :-)
17:06 Harzilein *sigh*
17:07 arnsholt jnthn: Looks like they're all plain atpos, so that should be good
17:07 jnthn *nod*
17:09 Harzilein http://paste.debian.net/242593 :(
17:10 moritz maybe $foo.WHAT works in perlito?
17:11 Harzilein no, i tried that too
17:11 moritz then... tough luck
17:11 Harzilein http://paste.debian.net/242594
17:13 moritz then I'd recommend you work with rakudo or niecza instead
17:14 SamuraiJack joined #perl6
17:14 Harzilein moritz: i can't install those on the target system. it's not imperative i can use perl6 but i thought it'd be neat.
17:22 diakopter Harzilein: what's the target system? can you install mono?
17:25 japhb_ jnthn, success!
17:25 japhb_ jnthn++ # Much thanks
17:27 Harzilein diakopter: it's a debian-based appliance that says it does not support upgrades. so installing debian packages is a bit like using private apis ;)
17:27 dalek rakudo/extend-dump: b69e0c8 | (Geoffrey Broadwell)++ | src/core/Mu.pm:
17:27 dalek rakudo/extend-dump: Replace broken pir::perl6_current_args_rpa__P() call with nqp:: equivalent, stopping RPA -> Parcel looping
17:27 dalek rakudo/extend-dump: review: https://github.com/rakudo/rakudo/commit/b69e0c836c
17:28 Harzilein diakopter: well, so is installing perl scripts, but i think they'd need to actively sabotage their appliance for those to break things
17:29 jnthn japhb_: yay :)
17:32 Harzilein apropos marrokko
17:32 Harzilein ewin
17:32 spider-mario joined #perl6
17:36 rjbs joined #perl6
17:37 cognominal joined #perl6
17:39 rjbs 2/lm
17:40 rjbs (oops)
17:42 wk joined #perl6
17:43 masak ===SORRY!=== Undeclared routine: lm used at line 1. Did you mean '&lc'?
17:51 PacoAir joined #perl6
17:55 masak today's autopun: "haiku's inventory / must have had seven fingers / on his middle hand"
17:55 masak g'ah, inventor*
17:56 jnthn hm, somehow that one doesn't feel too autopunny...
17:57 masak another one: "why the Japanese / think seventeen syllables / are enough is a"
17:57 masak I think that one qualifies more :)
18:06 fgomez joined #perl6
18:21 gdey joined #perl6
18:36 arlinius joined #perl6
18:45 pmichaud good morning, #perl6
18:46 PerlJam good afternoon, pmichaud
18:50 jnthn hi, pmichaud
18:50 pmichaud oh, I guess it is afternoon.
18:51 pmichaud I spent much of the night regretting some things I ate over the weekend.  :-/
18:51 jnthn :(
18:55 FROGGS joined #perl6
18:57 [Coke] :(
18:58 masak :(
19:00 FROGGS :(
19:00 FROGGS what's up?
19:01 * masak .oO( weekend's food )
19:01 SmokeMac_ joined #perl6
19:02 * jnthn groans at masak
19:02 * masak attempts to blame rindolf
19:02 * skids stops looking for ill-looking unicode smileys.
19:03 * masak .oO( PILE OF FOOD )
19:04 pmichaud actually, it didn't come up.  My system simply has difficulty processing certain foods at times (broccoli in this case)
19:05 fgomez joined #perl6
19:05 huf do these times happen to coincide with the time you eat those foods?
19:05 pmichaud heh
19:06 cognominal joined #perl6
19:07 masak only a programmer would ask that. :P
19:07 huf debugging! :)
19:07 FROGGS masak: food is up? is that an idiom?
19:08 * PerlJam only eats broccoli after it's been preprocessed into the muscle tissue of some animal.
19:08 masak FROGGS: no, but it's not so difficult to assign meaning to it.
19:08 PerlJam Much safer that way  :)
19:08 masak PerlJam: you're like the dual of a vegetarian!
19:08 PerlJam s/like//
19:08 PerlJam :)
19:09 masak :)
19:09 pmichaud it was often an interesting challenge to find eating places that had PerlJam and vegans in the dining group.  :)
19:09 masak it's horrible, my very first thought was "let PerlJam eat the vegans".
19:09 masak I'll go have my brain checked now.
19:10 PerlJam masak: well ... they eats what food eats.   ;>
19:10 masak exactly.
19:11 * rindolf takes the blame for all the world's ailments.
19:11 rindolf Blame it all on me.
19:11 rindolf All problems go away when you find someone to blame.
19:11 * PerlJam blames rindolf
19:12 PerlJam nope ... problems are still there.
19:12 * PerlJam blames rindolf *harder*
19:12 masak empiricism. it works, baby.
19:12 * rindolf blames himself the hardest-most-awesomest-greatest-bestest-hippest-something!
19:12 rindolf PerlJam: I am the Omega of scapegoats!
19:13 * PerlJam wonders if early british misunderstood the meaning of "empiricism"
19:13 rindolf LOL.
19:13 rindolf I think I'll make a fortune out of this conversation.
19:14 rindolf fortune cookie.
19:14 rindolf I'm unlikely to sell it on E-bay and get rich.
19:14 * rindolf wonders how much he can sell the word «hello» for.
19:14 masak PerlJam: "empiricism" seems to etymologize back to Gr "peirân", "to attempt".
19:15 rindolf Now on bargain! Only $39.99! Get your own copy of «hello» now.
19:15 rindolf masak: Greek?
19:15 rindolf masak: ah, sounds logical.
19:16 rindolf masak: wasn't ancient Greek very ambiguous? Like Ancient Hebrew?
19:16 cognominal joined #perl6
19:17 masak rindolf: not that I know.
19:17 rindolf Well, I know Carpe from http://en.wikipedia.org/wiki/Carpe_diem (which is Latin) meant much more than "Seize".
19:17 rindolf masak: ah.
19:17 masak well, it's common for verbs to have many meanings :) not just in Latin.
19:17 rindolf masak: did you read Aesop, Plato, Aristotle, etc. in the original Greek?
19:17 rindolf masak: ah.
19:17 rindolf masak: yeah, maybe.
19:18 masak rindolf: no, I didn't. but that sounds kinda wonderful.
19:18 jnthn .oO( Do fishermen say "carp diem"? )
19:18 rindolf masak: I only read translations and adaptations.
19:19 rindolf masak: there's http://classics.mit.edu/ which contains translations of Greek and Latin stuff to English. Somewhat archaic ones though.
19:19 masak rindolf: case in point: "take" on dictionary.com seems to have 126 definitions.
19:19 rindolf masak: I gave up on Aristotle's Prior Analytics and Posterior analytics.
19:19 * masak .oO( Aristotle's Posterior Analytics can kiss my ass )
19:20 rindolf masak: yes, but a lot of that is stuff like "take on", "take out", "take in", etc.
19:20 rindolf Which I'm not sure existed like that in Latin.
19:20 rindolf masak: but point taken.
19:20 masak :)
19:20 PerlJam "take out" probably didn't :)
19:20 masak yeah, Latin is more ablative-based :P
19:21 rindolf masak: wasn't it Socrates who decided that philosophy can and should be done in prose instead of in verse?
19:21 rindolf masak: which was considered profane back then.
19:22 rindolf masak: well, it's hard to sing a conversation.
19:22 rindolf prose is much more expressive than poetry/verse.
19:23 PerlJam rindolf: Tell that to Dr Seuss
19:23 PerlJam or Shakespeare
19:23 rindolf I was told prose is a left-hemisphere function while poetry, song and music are right hemisphere functions.
19:23 rindolf PerlJam: heh.
19:23 rindolf PerlJam: Shakespeare wrote a lot of prose.
19:24 rindolf PerlJam: there is this video of Elton John composing a song with the instructions of the visitor's new oven.
19:24 masak rindolf: your counterargumentor is broken. :)
19:24 rindolf masak: what?
19:25 rindolf masak: there's also how the Jewish Bible is recited in Jewish ceremonies. Oh my God, what braindamage!
19:26 PerlJam rindolf: would it have been better had I said "tell that to all the people listed here: http://www.poetrysoup.com/famous_poets/most_popular_famous_poets.aspx"   ?  :)
19:26 masak rindolf: "Shakespeare wrote a lot of prose" isn't a counterargument to "Tell that to [Shakespeare] [who could write expressive poetry/verse]"
19:26 rindolf PerlJam: heh, I just sang what you said to me.
19:27 PerlJam rindolf: in english?
19:27 rindolf PerlJam: yes!
19:27 rindolf PerlJam: of course, I don't know the notes.
19:28 * geekosaur is reminded of the opera quartet that sang the commentary to a french football (or was it rugby?) game for sky sports at one point
19:28 PerlJam rindolf: you continue to prove your particular brand of weirdness to me  :)
19:28 masak I would *pay* to have the #perl6 logs sung to me. preferably in a Gillbert and Sullivan.
19:29 rindolf PerlJam: I used to have good musical intuition and talent, but I've been out of practice for a long time.
19:29 rindolf masak: heh.
19:29 masak *style
19:29 PerlJam I bet rhyming and verse were originally mnemonic devices anyway.  Easier to remember those long stories back before the age of books.
19:29 rindolf PerlJam: I cultivate my weirdness. I keep working on it. It requires constant care and maintenance.
19:29 rindolf PerlJam: well, and now I'm a little hypomanic.
19:30 PerlJam rindolf: you are doing a fine and excellent job!  Keep up the good work!
19:30 rindolf PerlJam: thanks!
19:30 rindolf Soon I'll be the most eccentric person on earth.
19:30 rindolf And then it's ... world domination!
19:31 PerlJam rindolf: what's the metric by which you would measure "most eccentric"?
19:31 rindolf PerlJam: I bought a webcam and a microphone and want to record some silly stuff and YouTube it.
19:31 PerlJam eccentricities are all unique-ish as far as I can tell, ergo they are incomparable.
19:32 rindolf PerlJam: yes, every eccentric person is a unique snowflake.
19:32 PerlJam That sounded like "every SHA256 is a 16 bit CRC"
19:32 rindolf PerlJam: thing is in real life, I appear like a normal guy, albeit somewhat dorky and geeky.
19:33 rindolf PerlJam: even my name means Shalom-ful where Shalom is "well-being", "peace", "serenity", "tranquility", "harmony", "welfare", "safety", etc.
19:34 masak "Which version you ought to use is mostly dependent on what you want to get done." -- http://wiki.python.org/moin/Python2orPython3
19:34 huf t...there's m..more than one way to do it?
19:34 PerlJam masak: I wonder if we could get a whole bunch of "agnostic" quotes like that that were meant for other languages and put them on a Perl 6 page.
19:35 masak PerlJam: clearly "most eccentric" means that the ratio of his major an minor axes exceeds anyone else's.
19:36 masak huf: :)
19:36 rindolf PerlJam: however, if you read my stories and other works of humour (and my essays/blog posts/etc.) you'll see some of the crazy stuff that goes below the surface.
19:36 rindolf PerlJam: http://www.shlomifish.org/humour/Selina-Mandrake/ - this is my most farfetched story yet, and I actually feel it's my most honest one.
19:37 masak "But wouldn't I want to avoid 2.x? It's an old language with many mistakes, and it took a major version to get them out." -- "Well, not entirely. Some of the less disruptive improvements in 3.0 and 3.1 have been backported to 2.6 and 2.7, respectively."
19:37 masak this is highly interesting.
19:37 PerlJam rindolf: um ... isn't that just Buffy but tweaked?
19:37 huf rindolf: is that the one you sent an .ogg recording of to me?
19:37 timotimo indeed, there were lots of improvements in 2.7 that make it nicer to use if you can't go to 3 outright
19:38 PerlJam rindolf: I mean, your parody is "just" a parody
19:38 PerlJam rindolf: it's not "out there"
19:38 rindolf PerlJam: it's much more than that.
19:39 rindolf PerlJam: first of all it's a parody/reflection/modernisation/interpretation/tribute/etc.
19:39 rindolf PerlJam: and I convey a lot of my personal philosophy there. Some serious stuff.
19:39 rindolf PerlJam: the screenplay takes itself very seriously.
19:42 rindolf PerlJam: have you watched Buffy?
19:43 rindolf PerlJam: my two other ideas for stories will be less farfetched.
19:43 rindolf PerlJam: I mean my two next ones.
19:43 rindolf http://www.shlomifish.org/humour/human-hacking/ - this is my most normal story yet.
19:44 rindolf Kinda emulating a teen story, but much more than that.
19:44 rindolf But the two main characters are based on Buffy and Faith from the show.
20:01 pmichaud (gilbert and sullivan)  now I'm tempted to make a song about the Perl 6 operators, in the style of Tom Lehrer's "The Elements"  :-/
20:03 FROGGS ++pmichaud
20:03 FROGGS I'll buy that single :o)
20:07 diakopter r: say e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e
20:07 p6eval rakudo 2a41b3: OUTPUT«2.71828182845905␤»
20:08 diakopter n: say e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e
20:08 p6eval niecza v24-35-g5c06e28: OUTPUT«[31m===[0mSORRY![31m===[0m��Undeclared routine:�     'e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e' used at line 1��Unhandled exception: Check failed��  at /home/p6eval/niecza/boot/lib/CO…
20:10 diakopter r: say e::.DUMP
20:10 p6eval rakudo 2a41b3: OUTPUT«().hash␤»
20:11 diakopter r: say e:::poo
20:11 p6eval rakudo 2a41b3: OUTPUT«().hash␤»
20:12 diakopter r: say ::e::
20:12 p6eval rakudo 2a41b3: OUTPUT«().hash␤»
20:12 diakopter n: say ::e::
20:12 p6eval niecza v24-35-g5c06e28: OUTPUT«Unhandled exception: e is not a stash␤  at /tmp/XK7mtRbznG line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4299 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4300 (module-CORE @ 583) ␤  at /home/p6eval/niecza/lib/CORE.set…
20:13 diakopter you're not a stash
20:13 wk joined #perl6
20:14 diakopter std: __DATA__
20:14 p6eval std 86b102f: OUTPUT«[31m===[0mSORRY![31m===[0m�Undeclared name:�    '__DATA__' used at line 1�Check failed�FAILED 00:00 41m�»
20:17 masak "you're not a stash" has to be the lamest retort in the history of retorts. :P
20:17 diakopter you're a retort
20:18 masak you're just making it worse :)
20:20 TimToady masak is an expert on retort law...
20:20 masak :P
20:20 masak I'm been retaught by the best...
20:21 diakopter speaking of retort reform..
20:21 * masak .oO( ReToady )
20:24 diakopter should try trap stub code executed?
20:25 skids .oO(Why EE's never design UIs: we were taught the opposite of "Advance" is "Retard" so when we want the opposite of an "Advanced" button...)
20:27 masak rn: try !!!; say "alive"
20:27 p6eval rakudo 2a41b3, niecza v24-35-g5c06e28: OUTPUT«alive␤»
20:28 masak diakopter: I don't see why not.
20:28 diakopter rn: try ...; say "alive"
20:28 p6eval rakudo 2a41b3: OUTPUT«Stub code executed␤current instr.: 'throw' pc 350303 (src/gen/CORE.setting.pir:152935) (src/gen/CORE.setting:9353)␤called from Sub 'sink' pc 381956 (src/gen/CORE.setting.pir:165282) (src/gen/CORE.setting:10618)␤called from Sub 'MAIN' pc 381 (src/gen/perl6.pir:146) …
20:28 p6eval ..niecza v24-35-g5c06e28: OUTPUT«alive␤»
20:28 diakopter rn: try ???; say "alive"
20:28 p6eval rakudo 2a41b3: OUTPUT«Stub code executed  in block  at /tmp/fUkwbTNwFT:1␤␤alive␤»
20:28 p6eval ..niecza v24-35-g5c06e28: OUTPUT«alive␤»
20:29 masak hm.
20:29 masak I think neither ... nor ??? should emit anything.
20:29 masak aka Niecza is right twice.
20:29 * masak submits rakudobug
20:29 FROGGS TimToady: how good is STD_P5.pm6?
20:31 jnthn ??? should warn.
20:31 jnthn ... should fail
20:31 jnthn The fail leaks out of the try
20:31 jnthn er, or either way the fail is in sink context
20:31 jnthn a fail in sink context throws.
20:31 jnthn ??? is correct in Rakudo
20:32 jnthn ... is debatable there; I think the current spec says that try sinks everything inside of it, in which case it shoulda sunk, failed inside the try, and been quiet.
20:32 hoelzro I added some new stuff to my NQP fork
20:32 hoelzro if anyone has time to take a look: https://github.com/hoelzro/nqp
20:32 TimToady try only sinks the inside if the outside is sunk, otherwise it's eager
20:32 * masak adds jnthn's comments to the ticket
20:33 jnthn TimToady: oh...
20:33 jnthn masak: So seems it's just try ... that is in question in Rakudo, not ??? :)
20:33 masak nod.
20:34 masak I'll change the bug title too.
20:34 TimToady S04:1000
20:34 jnthn *nod*
20:37 fgomez joined #perl6
20:37 woolfy joined #perl6
20:40 zamolxes joined #perl6
20:43 hoelzro anyone willing to look at my NQP changes? =)
20:43 hoelzro I'm hoping to make it into Thursday's release
20:53 japhb_ joined #perl6
20:57 * lizmat hopes FROGGS will get an answer from TimToady
20:57 FROGGS :o)
20:59 * masak hopes lizmat's wish comes true
21:00 pmichaud I think we need to know what dimension "good" is being measured there.
21:00 Harzilein hmm
21:00 Harzilein is there a noweb clone in perl?
21:01 masak Harzilein: hello. this is the #perl6 channel. are you sure you're asking your question in the right place?
21:01 Harzilein nvm, found "Molly" mentioned on wikipedia
21:01 Harzilein masak: yes, see above, i want to make an unholy mixture of perlito-translated perl6 and the perl5 supported on a particular linux appliance
21:02 FROGGS pmichaud: fuzzy logic *g*, well, I like to here terms like: usable, broken, needs love but might work out, ...
21:02 Harzilein (a bit further above)
21:02 masak Harzilein: ah. I see. :)
21:03 pmichaud FROGGS: TimToady++ can answer better than I, but I suspect it's in the "needs a little love" category.
21:03 pmichaud however, it's also undoubtedly the best starting point for understanding p5 parsing for a p6 person
21:03 jnthn hoelzro: The posixerrno op seems sane
21:03 hoelzro sane! \o/
21:04 jnthn The nqp::posixerrnovalues I'm thinking on.
21:04 jnthn pmichaud: https://github.com/hoelzro/nqp/commit/e8a31d99d415ef6f2555edf74892f6767b14842e if you have a moment
21:04 hoelzro I was quite liberal with the errno constants I included
21:04 pmichaud I'm not a fan of posixerrnovalues at the moment... at least not at the NQP level.
21:05 hoelzro well, I didn't originally plan to include them, but yesterday people asked "how will we know what the value of nqp::posixerrno() means?"
21:06 hoelzro which is a good question
21:06 hoelzro honestly, I'm just going to pass it to strerror, so I don't really care =P
21:06 jnthn The op doesn't answer it too well in so far as you get back a hash whose keys are the names, so it isn't too useful for looking up the value :)
21:07 hoelzro jnthn: well, when I write C, I often check errno == EEXIST or something
21:08 hoelzro so I figured that Perl 6 that would work on such a low level would as well
21:08 jnthn ah, hm,
21:08 pmichaud I know that nqp::posixerrno isn't a "complete solution" to the problem, but I don't know that the complete solution belongs at the nqp level, either.
21:08 hoelzro also, is there any standard that states that the values for errno must be distinct?
21:08 pmichaud my acceptance of nqp::posixerrno was simply to provide *something* that could access errno, not to be a full-fledged answer to every errno situation one can imagine.
21:09 hoelzro if I have two error constants that can't possibly occur from the same function call, I could set the macros' expansions to the same value
21:09 hoelzro pmichaud: I see your point, but if we can't evaluate errno against anything, why should it be included in NQP at all?
21:10 hoelzro honestly, I don't care how the problem gets solved; I just want a POSIX module =)
21:10 pmichaud as you said, you're just going to pass it to strerrno.  :-)
21:10 bluescreen10 joined #perl6
21:10 pmichaud so you *can* evaluate it against something :)
21:11 pmichaud I wonder if the posix errno values belong in the nqp::const namespace.
21:11 hoelzro that's fine with me!
21:11 hoelzro makes more sense
21:12 pmichaud or something like the way that nqp::const is handled.
21:12 PerlJam pmichaud: nqp::const::POSIX_EAGAIN  ?
21:12 pmichaud PerlJam: perhaps.
21:12 jnthn We do have an nqp::const:: now at least ;)
21:12 pmichaud or perhaps what we really want is   nqp::posix::errno  and nqp::posix::EAGAIN
21:15 pmichaud .....one could certainly do something like
21:15 pmichaud create a file called  posix.pasm
21:15 pmichaud and inside that file, have
21:15 pmichaud .macro_const POSIX_EAGAIN   ##
21:16 pmichaud .macro_const POSIX_E2BIG   ###
21:16 pmichaud that gets automatically generated at build time
21:16 PerlJam and for jvm?  :)
21:16 pmichaud then   nqp::const::POSIX_EAGAIN would "just work".
21:16 pmichaud I have no idea how posix should work at the jvm level, nor do I think that nqp::posixerrno would address that either.
21:17 jnthn "With difficulty" :)
21:17 pmichaud I was just trying to get something to work at the C level, which is where I thought this particular feature was coming from.
21:17 pmichaud *feature request
21:18 hoelzro I'm happy if I can continue work on a POSIX module
21:18 hoelzro others expressed interest in errno, and someone suggested it be made an opcode
21:18 PerlJam does nqp need POSIXy stuff?
21:19 pmichaud lots of people are wanting to do NativeCall stuff that requires errno
21:19 bluescreen10 joined #perl6
21:19 pmichaud it's not a question of "let's provide a POSIX module", it's more "how can a NativeCall person get to errno?"
21:19 pmichaud s/person/program/
21:20 pmichaud so, the nqp::posixerrno op is meant to be an experimental way to start to provide that.
21:20 pmichaud I totally wouldn't mind if it remained in the pir:: namespace, fwiw.
21:21 pmichaud pir::nqp_posixerrno_I(), to emphasize that it's not a part of standard nqp (yet)
21:21 pmichaud we could also call it   nqp::x_posixerrno   to emphasize its experimental nature.
21:22 pmichaud the previous discussion and rationale is http://irclog.perlgeek.de/perl6/2013-03-16#i_6596405
21:24 pmichaud jnthn: any thoughts or preferences on the above?
21:25 jnthn pmichaud: pir:: basically promises that whatever code includes it will only ever work on Parrot
21:25 pmichaud right
21:25 jnthn pmichaud: nqp:: means it amy compile but hit a "no, not supported"
21:25 jnthn *may
21:26 pmichaud at the moment, I think my preference would be
21:27 pmichaud - create a nqp_posixerrno dynop  (already done in patchset)
21:27 pmichaud - access that dynop via either  pir::nqp_posixerrno  or nqp::x_posixerrno   but not   nqp::posixerrno
21:27 PerlJam nqp::x_posixerrno "feels" saner to me.
21:27 pmichaud - have something generate a posix.pasm file containing  .POSIX_EWHATEVER declarations that can then be accessed via pir::const and/or nqp::const
21:29 pmichaud I think I could live with that.
21:29 pmichaud hoelzro: does this last part make sense?
21:30 hoelzro pmichaud: the posix.pasm bit?
21:30 hoelzro sounds good to me!
21:30 pmichaud the three bullet items above
21:30 hoelzro yeah, it all sounds good
21:30 jnthn pmichaud: nqp::const doesn't map down to pir::const
21:30 hoelzro if everyone's happy, I'll get to work =)
21:30 jnthn In fact, hmm, what does it do... :)
21:30 pmichaud jnthn: I didn't look to see how nqp::const gets handled yet.
21:31 kurahaupo joined #perl6
21:31 pmichaud but pir::const is obviously workable and safe for the moment :)
21:31 pmichaud method term:sym<nqp::const>($/) {
21:31 pmichaud make QAST::Op.new( :op('const'), :name(~$<const>) );
21:31 pmichaud }
21:32 pmichaud in QAST/Operations.nqp...
21:33 pmichaud 'CCLASS_NUMERIC',       nqp::const::CCLASS_NUMERIC,
21:33 pmichaud how in the world does _that_ work?  ;-)
21:33 pmichaud seems very circular
21:33 jnthn I, uh, bootstrapping I guess :P
21:33 pmichaud that's a little dangerous, fwiw.
21:33 jnthn Yeah...did I really do that? :)
21:34 pmichaud if the values change, the bootstrap cycle won't catch it.
21:34 pmichaud I suggest changing those nqp:: to pir:: for now.
21:34 bluescreen10 joined #perl6
21:34 pmichaud afk for a bit, picking up kid from school
21:35 masak this is the first time I've heard a circular definition described as "a little dangerous" :P
21:35 masak seems to me it should either be completely harmless, or completely insane, not somewhere in-between...
21:36 PerlJam masak: I think #perl6 generally has a different perspective on "a little dangerous" than most people  :)
21:37 masak heh.
21:37 masak "This infinite regress seems a little slow to me..."
21:38 dalek rakudo-js: fcf945d | (Pawel Murias)++ | / (2 files):
21:38 dalek rakudo-js: Update the nqp-jvm submodule. Handle load and main correctly to make the qast test pass.
21:38 dalek rakudo-js: review: https://github.com/pmurias/rakudo-js/commit/fcf945d244
21:38 hoelzro ok, so everyone's happy with nqp::x_posixerrno and pir::const::POSIX_EWHATEVER?
21:39 hoelzro if so, that's what I'm going to do
21:40 * masak .oO( POSIX_MEHWHATEVER )
21:40 hoelzro heh
21:41 hoelzro I found an eval { ... }; #`( no error check ) at work last week
21:41 hoelzro someone suggested a syntax sugar function named whatever for such cases
21:41 hoelzro whatever { #`( do dangerous stuff ) };
21:41 jnthn Well, "try" conveys the right sort of thing as well
21:42 Entonian joined #perl6
21:45 masak Entonian: hi!
21:47 Entonian masak: hi, I like to see what is going on once in a while with Perl 6
21:47 masak cool. yes, we're still here :)
21:50 Entonian and I really do appreciate that
21:52 masak you're welcome :P
21:55 pmichaud 21:39 <hoelzro> ok, so everyone's happy with nqp::x_posixerrno and pir::const::POSIX_EWHATEVER?
21:55 pmichaud +1
21:55 hoelzro \o/
21:55 hoelzro then I shall get to work!
22:16 pmurias joined #perl6
22:40 masak 'night, #perl6
22:40 lizmat night masak
22:42 adu_ joined #perl6
22:44 telex joined #perl6
22:44 skids joined #perl6
22:48 * FROGGS .oO( sad we need whitespace in Perl 6: http://www.99-bottles-of-beer.net/language-perl-737.html )
22:53 lizmat FROGGS: is this about being able to parse this in STD5 ?
22:54 FROGGS no, that's just something I've seen when reading blog posts about the gpw2013
22:55 FROGGS lizmat: still having problem to assimilate STD_P5
22:56 lizmat FROGGS: maybe something to look at together at the Swiss Perl Workshop?
22:57 FROGGS lizmat: I wish I could come, but I think my family needs a bit of a rest
22:57 lizmat too bad…  but I can understand after all the work you've done at the GPW
22:58 FROGGS no, it's not that, it's just that my youngest is currently in hospital, we're hoping to get him home at wednesday
23:01 lizmat ah…  too bad… hope everything will work out allright
23:01 FROGGS he is almost fit, just needs the approve from the doc :o)
23:09 woolfy left #perl6
23:11 lue what is that about "sad we need whitespace" ?
23:12 FROGGS lue: in Perl 6 you have to use whitespace to distinguish between infix, postfix and prefix
23:13 FROGGS lue: like 1!2
23:13 lue ah.
23:13 lue I just tried adapting that 99 bottles program you posted, and right now I'm stuck on needing to use the Form module (?) instead of $: :P
23:27 sorear No, you don't.
23:27 sorear $: is just a scratch variable
23:27 sorear Formats use it, but obfuscators also use it as an extra $_
23:28 sorear a variable you don't have to declare that doesn't contain any unsightly letters or numbers
23:51 sorear joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo