»ö« 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.
FROGGS nqp: say(nqp::x("abc", 7)); 00:00
p6eval nqp: OUTPUT«abcabcabcabcabcabcabc␤»
00:05 kurahaupo left 00:06 raiph joined 00:09 lue joined 00:10 cognominal joined
LlamaRider nqp: say(x("abc",7)); 00:14
p6eval nqp: OUTPUT«Could not find sub &x␤current instr.: '' pc 47 ((file unknown):168622262) (/tmp/1FJdsaPZxO:1)␤»
00:18 kurahaupo joined 00:21 cognominal left 00:29 cognominal joined
diakopter nqp: say(nqp::x("abc",7)); 00:33
p6eval nqp: OUTPUT«abcabcabcabcabcabcabc␤»
diakopter nqp-jvm: say(nqp::x("abc",7));
p6eval nqp-jvm: OUTPUT«abcabcabcabcabcabcabc␤»
00:42 cognominal left 00:46 am0c left 00:47 cognominal joined 00:49 anuby joined 00:50 census left 01:02 cognominal left 01:03 cognominal joined 01:14 dayangkun joined 01:23 Chillance left 01:24 cognominal left
colomon rn: say 1701/60 01:29
p6eval rakudo 2a41b3, niecza v24-35-g5c06e28: OUTPUT«28.35␤»
colomon so, my current STEP file read has been running for 28.35 hours, and now is taking up 36 gigs of memory.
also, my new linux box is swapping like crazy. 01:30
01:30 hypolin joined 01:36 kurahaupo left
FROGGS jnthn: how do I locate where this happens? gist.github.com/FROGGS/5b821ff471cf0bcb049f 01:42
btw, sleep well #perl6
02:15 kurahaupo joined 02:30 LlamaRider left 02:41 LlamaRider joined, LlamaRider left 02:57 FROGGS_ joined 03:00 FROGGS left 03:03 orafu left, orafu joined 03:05 FROGGS_ left 03:10 FROGGS_ joined
diakopter colomon: /o\ 03:11
colomon \o/
diakopter it finished?
colomon nah, I'm just in a good mood
diakopter or were you celebrating the fact that it hadn't crashed yet? :)
colomon that too. :)
sorear :D 03:13
diakopter listens as colomon tests his hdd's MTBF 03:16
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
wish I had some idea how close it was to being done...
diakopter computing eventual termination of nondeterministic programs is especially hard.. 03:18
03:19 toddr_ joined
diakopter hi toddr_ 03:19
colomon killed 03:20
toddr_ howdy. Was checking ig the topic has a YAPC talks plug or not.
diakopter ..if you can fit it in there.. ;) 03:21
geekosaur plenty of room left
03:21 ChanServ sets mode: +o toddr_
toddr_ »ö« 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! | YAPC::NA talk submissions due end of Month. Have you submitted your talk? 03:23
ChanServ sets mode: -o toddr_
toddr_ thanks 03:23
diakopter actually I think you can /topic here without being op; oh well 03:24
toddr_ huh. Freednode confuses me compared to most irc systems. Their privs a definitely weird. 03:25
03:29 census joined 03:44 ponbiki joined 04:00 dwoldrich joined 04:02 jaldhar_ left 04:03 jaldhar_ joined
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
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?
* (the $!storage attribute) # Damn parens moved on me
japhb goes to watch a movie and clear his head 04:08
&
04:14 loops joined 04:19 xilo_ joined 04:27 cibs joined 04:35 xilo_ left 04:39 dayangkun left 04:43 preflex_ joined, preflex left 04:44 preflex_ is now known as preflex
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:51
Am trying to grab fixes announced yesterday here... is.gd/AGAFwo 04:57
tadzik it should Just Work, if you do have rakudo HEAD cloned 04:58
loops tadzik, hmm.. k... --version shows its using older commits from parrot and nqp 04:59
and testing the examples given on that web page don't work...
but i'm probably doing something daft
04:59 kaleem joined
tadzik loops: ah yes, it will use older Parrot/nqp 05:00
this NQP which is in NQP_REVISION (rakudo repo), and this Parrot which is in PARROT_REVISION (nqp repo) 05:01
anything in particular that doesn't work?
loops my $nonsense = 'asdf'; say "OK" if "ADSF" ~~ m:i/$nonsense/;
from that web page link i gave above... from yesterday 05:02
the case insensitive matching
tadzik r: my $nonsense = 'asdf'; say "OK" if "ADSF" ~~ m:i/$nonsense/ 05:03
p6eval rakudo 2a41b3: ( no output )
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?
tadzik not _really_ separately. Now that you've done --gen-nqp, you can just cd nqp && git pull and stuff
loops: that'd work too 05:09
loops oh.. so it'll use master, just list version incorrectly?
tadzik it'll list version alright
nqp --version will be alright
loops k.. will give it a go and see how it works... but even the local bot didn't get it correct i see
tadzik local bot is correct. It relies on NQP_REVISION 05:10
if it's not bumped then maybe there's a reason
loops well i meant it got the example you pasted wrong... no output instead of OK
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
Maybe it's just in glitchmr's repo alone
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:20
tadzik oh, better avoid Parrot head
while using nqp head is safe, there's a reason why we use almost a year-old parrot in PARROT_REVISION
loops yeah? okay.. will kill it and start over if you think that's all i need
tadzik thing may break
yeah, Parrot doesn't really influence rakudo these days
r: say "OK" if 'a' ~~ /:i 'A'/; 05:21
p6eval rakudo 2a41b3: OUTPUT«OK␤»
tadzik commutees
05:21 rindolf joined
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?
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. :-/
loops If my computer wasn't powered by lethargic mice this would be compiled by now 05:29
05:30 raiph_ joined
raiph loops: do you know about the evalbots on channel? 05:31
r: my $nonsense = 'asdf'; say "OK" if "ASDF" ~~ m:i/$nonsense/; # fixed typo 05:32
p6eval rakudo 2a41b3: OUTPUT«OK␤»
raiph loops: the two strings don't match asdf / ADSF
loops omg lol 05:33
raiph ;)
GlitchMr++ # for doing the changes report (and -- for the typo :) 05:34
loops apparently i have undiagnosed dyslexia
05:34 wk_ left
loops thanks raiph... probably saved me some anguish about what i was doing wrong with the compile process 05:37
thanks to you too tadzik... cheers
raiph yw 05:38
are you new to p6?
05:39 SamuraiJack joined
loops yeah.. first day :o) 05:41
just giving it a look.. pretty new to perl in general actually..
05:44 census left 05:51 FROGGS_ left, kurahaupo left
raiph loops: what langs are you familiar with? what are you thinking you might do with perl? 05:54
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
awk and sed.. what a misery
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
loops Am often doing things where perl would be better than shell, but that's my comfort zone
yeah :o) 06:03
I dunno why i never took the time to dig into it 15 years ago
06:03 FROGGS joined
sorear were you even on unix at the time? 06:04
even today, perl 5's support for VMS is ... not great
loops yeah, lots of the time was on Xenix, and other Unix boxes
yeah, i started on VMS
well actually i started on a Commodore PET 40 character green screen with 32K RAM 06:05
but that's another story ;o)
raiph heh. sinclair zx80 for me. 1kb. :) 06:06
loops doh.. u have me beat ;)
raiph perl5 and perl6 are very, very different animals at the moment
loops yeah.. i found learning about their differences a nice way to learn about P5 as much as anything 06:07
but the P6 features are really intriguing...
raiph if you assume p6 is 1000x slower, you might be pleasantly surprised
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
that's how much ng sucked ;)
loops anyway, when you spend 3 hours not noticing ASDF ADSF difference... speed may not be my biggest problem
raiph lol
cpan (p5) has over 100K modules and many are very robust. 06:11
p6 has about a hundred small to very small modules in its ecosystem
loops yeah, i read the whole p6 list.. it's a huge difference for sure.. CPAN really rocks. 06:12
perl seems as mutable as lisp
06:12 sftp left
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 ;)
loops lol true
06:14 sftp joined
loops Pearls on Perl 06:14
06:15 kaleem left
loops more dyslexia 06:15
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:22
all imo of course. goodnight #perl6 06:25
06:25 FROGGS left
loops night raiph 06:28
06:30 FROGGS joined 06:37 rindolf left 06:38 rindolf joined 06:45 kaleem joined 06:49 rindolf left, rindolf joined
tadzik benabik: uh, no it's not :) For some reason I thought it's 4.1 06:59
07:00 mberends left 07:03 rindolf left, rindolf joined 07:08 rindolf left 07:09 rindolf joined
loops date 07:09
rindolf loops: what about date? 07:13
07:21 rindolf left, rindolf joined 07:35 rindolf left, rindolf joined 07:47 rindolf left 07:48 rindolf joined 07:55 markov joined, markov left 08:00 rindolf left, rindolf joined 08:08 domidumont joined 08:09 cognominal joined, markov joined, rindolf left 08:10 rindolf joined
masak greetings, #perl6 08:15
moritz \o masak 08:18
08:18 rindolf left
tadzik hey hey masak 08:18
08:18 rindolf joined
masak is teaching today 08:19
moritz will be teaching git for three hours in the afternoon 08:20
tadzik fun stuff 08:21
tadzik hums "Code Monkey"
hoelzro ahoy #perl6 08:22
masak hoelzro! \o/ 08:25
hoelzro o/ masak
FROGGS morning 08:27
masak FROGGS! \o/
FROGGS :o) 08:28
sorear \o/
masak sorear! \o/ 08:29
tadzik \o/
FROGGS hehe, what a nice community :o)
masak starts le teaching 08:31
08:31 rindolf left, rindolf joined 08:35 domidumont left 08:36 domidumont joined
hoelzro I had a thought on my way to work this morning 08:43
META.info currently uses an array of strings for dependencies
perhaps it could also allow hashes on that array?
ex. { "name" : "NativeCall", "version" : "0.1.0", "for" : "Testing Stuff" } 08:44
08:44 rindolf left 08:45 rindolf joined
tadzik sure 08:46
08:46 kurahaupo joined
tadzik it's quite easy to introduce, I'd say 08:46
well, if we plan to ignore the special information at first :)
we'll need that eventually anyway, I think 08:47
08:58 rindolf left, rindolf joined 09:04 kurahaupo left
hoelzro \o/ 09:05
also, there was talk of adding POSIX errno values to NQP in addition to nqp_posixerrno 09:06
09:06 daxim joined
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?
tadzik errno values as in strings descriptions?
like perror(), sort of? 09:07
09:07 lustlife joined
hoelzro well, it would be something like %errno-values<ENOMEM> -> whatever ENOMEM is on that platform 09:12
09:13 kaleem left 09:14 kaleem joined 09:17 fhelmberger joined 09:20 rindolf left, rindolf joined 09:22 kresike joined
kresike hello all you happy and/or unhappy perl6 people 09:22
FROGGS hehe 09:24
helllo kresike
-l
09:26 lustlife left, wk_ joined
kresike FROGGS, o/ 09:27
had to make it more generic, people were complaining ☺ 09:28
09:29 lustlife joined
tadzik md-nqp seems not slower than nom here 09:31
on spectest, at least
(gist.github.com/tadzik/5185967) 09:32
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:35
09:37 zamolxes left
FROGGS jnthn: morning 09:38
<FROGGS> jnthn: how do I locate where this happens? gist.github.com/FROGGS/5b821ff471cf0bcb049f
tadzik FROGGS: try --ll-exception maybe 09:39
09:39 dakkar joined 09:40 rindolf left
tadzik or is that it already? :) 09:40
moritz that won't help
09:40 rindolf joined
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...
FROGGS tadzik: make is already the borke 09:41
moritz if the error disappears, you know it's in the newly commented-out code
nqp: say() := 42
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)␤»
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
Hm :)
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
moritz well, we could also try to track down source location for errors from the QAST compiler
FROGGS +1
moritz: now? :P
moritz FROGGS: maybe you're trying to bind to $.var or so?
FROGGS: I'm at $work now, doing $work things :(
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
maybe that makes it easier for you to find the location of the error
FROGGS moritz: thanks! 09:53
09:54 SamuraiJack left 10:00 SamuraiJack joined 10:02 hypolin left
moritz FROGGS: did it help? 10:03
10:06 rindolf left 10:07 rindolf joined
FROGGS moritz: $work got me, I'll get to it in a bit 10:07
10:08 nyuszika7h left 10:09 nyuszika7h joined 10:20 anuby left 10:22 rindolf left 10:23 rindolf joined 10:27 cognominal left 10:29 cognominal joined 10:41 rindolf left, rindolf joined 10:56 pmurias joined
pmurias would cloning rake in Perl6 be a good way to move away from makefiles? 10:56
arnsholt Not sure if I'd prefer a dependency on Ruby over make. Are the makefiles a problem? 10:58
10:58 rindolf left
tadzik do we have a problem with makefiles? 10:58
well, I guess it'll be more of Porting to Perl6 rather than Depending on Ruby 10:59
but I think they're fine. They serve only as a developer tool now, the end-user solutions don't use makefiles anyway
(at least in the module ecosystem)
arnsholt Oh, right. That kind of clone. I guess it's not a bad idea, although I'll probably stick with make =) 11:01
pmurias tadzik: re problem with makefiles, they I really hate them, they are ugly and copy & pasted 11:03
tadzik oh well 11:05
I neither write them nor read them, so I don't have a problem with them
I once reimplemented ufo in Pure Perl 6, it was awful :P
cognominal proposed a pull request for nqp... 11:06
github.com/perl6/nqp/pull/84
pmurias tadzik: does panda handle the precompilation for modules? 11:07
tadzik pmurias: yes
the logic is mostly cargo-culted from ufo 11:08
but it's not using makefils
cognominal ufo-culted, then... 11:09
arnsholt cognominal: FWIW, I write lots of makefiles without copy-pasting =) 11:11
pmurias arnsholt: that was aimed at me? 11:12
11:13 bloonix left
arnsholt Oh, indeed it was 11:13
11:15 rindolf joined
FROGGS moritz: I believe it is something like this: 11:16
nqp: my $x; my $y; ($x, $y) := (1,1);
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)␤»
jnthn That's never going to work in NQP, but we can try and do a better error for it. 11:17
FROGGS jnthn: np, I'll just fix my grammar 11:18
11:20 SamuraiJack left, xinming_ joined
jnthn FROGGS: Please file an nqp ticket about getting a better error though... 11:22
I want to improve that.
NQP may be limited, but it should know its limits :)
FROGGS jnthn: k, will do 11:23
11:23 xinming left 11:30 jaldhar_ left 11:31 woolfy joined 11:32 jaldhar_ joined, rindolf left 11:33 rindolf joined 11:39 mberends joined
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;
p6eval nqp: ( no output )
FROGGS nqp: if my $x := 1 { say("ya"); } 11:50
p6eval nqp: OUTPUT«ya␤»
11:51 rindolf left 11:52 rindolf joined
FROGGS moritz: $node.dump seems helpful 12:02
12:06 census joined 12:14 rindolf left 12:15 rindolf joined
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
haha, I'm using Perl 6 to implement Perl 5 within Perl 6
12:24 skids left 12:25 mtk left 12:29 mtk joined 12:30 rindolf left, rindolf joined 12:34 SmokeMachine joined 12:40 rindolf left, rindolf joined 12:41 benabik left
dalek rl6-roast-data: 408e358 | coke++ | / (4 files):
today (automated commit)
12:50
12:50 kaleem left
[Coke] rakudo testing clean again. niecza up to 102 failures. 12:50
13:03 cognominal left
hoelzro you can't use #define's in ops files? =( 13:03
jnthn hoelzro: Yes, only up in the prelude 13:04
hoelzro oh, I see
hmm
jnthn nqp.ops does it
13:06 sisar left
hoelzro ok, that should work 13:13
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
because I've been thinking, and it would be non-trivial to parse correctly
tadzik literally 'role q { }'? 13:15
13:15 pmurias left
hoelzro it's in Grammar.pm 13:15
which one, I cannot recall...
it parses it as a string
PerlJam hoelzro: the other quoters too, or just that one? 13:16
hoelzro which is incorrect, but it doesn't break the rest of the parse, so I'm inclined to leave it broken
PerlJam: probably qq as well
FROGGS hoelzro: leave it broken then
there will be always room for improvement :o)
hoelzro yeah, I figure it's probably good enough for upstream
PerlJam hoelzro: seems like you could special-case "role\s+<quoter>" though 13:17
hoelzro hmm
PerlJam hoelzro: but if not, I'm with FROGGS; leave it be for now.
hoelzro I'll consider that
I was hoping to avoid a special case, but it's not so bad 13:18
lizmat PerlJam: shouldn't that be "role<ws><quoter>" 13:19
13:19 xinming_ left 13:21 xinming joined
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, SmokeMachine left 13:27 toddr_ left, SmokeMachine joined 13:36 PacoAir joined 13:41 lustlife left 13:43 stevan left, stevan_ joined 13:51 lizmat left 13:54 skids joined 14:04 domidumont left 14:08 domidumont joined
FROGGS Method '!cursor_init' not found for invocant of class 'NQPMu' 14:10
well, better than nothing :o)
14:12 benabik joined, domidumont left
dalek ast: e08d8f4 | (Solomon Foster)++ | S03-operators/range-basic.t:
Skip new tests on Niecza.
14:20
14:20 dakkar left, jnthn left 14:21 jnthn joined 14:23 dakkar joined 14:25 Patterner left 14:26 Liz joined, Liz is now known as lizmat 14:27 jdv79 joined 14:28 Psyche^ joined, Psyche^ is now known as Patterner
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
i thought maybe putting that in a sub and calling .perl on it would do something useful but nope
*code
FROGGS jdv79: you can do: ./perl6 --target=ast -e 'say 1' 14:30
that's not for a piece of code though
jdv79 cool, thanks 14:32
14:37 slavik left 14:46 jpnk joined 14:47 kivutar joined 14:48 slavik joined 14:51 bluescreen10 left
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:07 FROGGS left 15:15 domidumont joined 15:16 zos joined 15:21 domidumont left 15:34 am0c joined 15:38 LlamaRider joined
LlamaRider I've seen the examples of connecting to native subs with NativeCall/zavolaj -- But how do I connect to native variables? 15:39
also, o/ #perl6
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
masak LlamaRider! \o/ 15:42
jnthn LlamaRider: Somebody asked exactly the same about 30 minutes ago. :)
hoelzro and I asked the same on Saturday
jnthn And that.
OK, I get the hint. :)
hoelzro (to be fair, errno is not a normal variable, and probably wouldn't work)
masak is there a way to connect to native vars with zavolaj? :P
jnthn masak: In step 1, you hassle one of the people who knows about Zavolaj to implement it :P 15:43
I guess we want to be able to set them as well as get them?
masak I'm just cargo-culting the question, but I'm guessing "yes". 15:44
jnthn yes, I was asking generally...
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.
I'll get I can get this to work off the same kind of mechanism.
*bet
masak ++jnthn 15:45
TimToady native containers are usually called "pointers" :)
masak whoa.
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. :)
TimToady the actual container, of course, is the memory cell, but a pointer is necessary to get to the address 15:46
or a register number :)
masak decommutes
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.
jpnk anyone knows why panda is taking so long to start when installing from a local directory? anything i can tweak? 15:52
LlamaRider jnthn: I see, thanks for looking into adding the feature then :) 15:54
jpnk nevermind my question, gotta go:) bye. 15:58
15:58 jpnk left
hoelzro I hope jpnk comes back 15:59
we need more curious folk =) 16:00
16:15 tyion joined, tyion left
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…
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…
diakopter oh.
you're an as_jast 16:19
benabik I don't think NQP support binding to parcels.
jnthn Correct.
But we should really catch it higher level.
Rather than exploding at code-gen time over badly formed QAST 16:20
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
jnthn Unless it happened somehow before then.
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
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…
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)␤»
jnthn At least it's consistent :)
diakopter === doesn't exist, right?
jnthn Right
I thought not, at least 16:26
diakopter nqp: say(5 === 5)
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)␤»
jnthn japhb: I can take a look at what you wrote and see if I spot anything
japhb OK, give me a sec ... 16:28
diakopter nqp: $_ == 5
p6eval nqp: OUTPUT«Null PMC access in get_number()␤current instr.: '' pc 43 ((file unknown):39) (/tmp/8aYQplJAi8:1)␤»
diakopter nqp: $_
p6eval nqp: ( no output )
diakopter nqp: say($_)
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)␤»
diakopter nqp: say($_ := 66)
p6eval nqp: OUTPUT«Lexical '$_' not found␤current instr.: '' pc 43 ((file unknown):42) (/tmp/ZlSzFbfS4N:1)␤»
jnthn I think $_ only exists in NQP if there's something to bind it.
diakopter nqp: say(my $_ := 66) 16:29
p6eval nqp: OUTPUT«66␤»
diakopter okay..
jnthn Though it should probably be giving an undeclared error. Or just being 6ier.
diakopter your mom is 6ier
jnthn NQP tends to do less magical things, though.
Heh, that's funnier in Swedish than English :P 16:30
diakopter also, your mom does less magical things
what is it in Swedish 16:31
do I want to know?
jnthn en: six == se: sex :P
16:32 daxim left
dalek kudo/extend-dump: 6531d86 | (Geoffrey Broadwell)++ | src/core/ (5 files):
First snapshot of DUMP extension work; lots of debug output trying to track down apparent marshalling issue.
16:32
jnthn makes a final push on $dayjob stuff before doing dinner and Perl 6 stuffs
japhb jnthn, see above mini-branch 16:33
diakopter commode, er I mean commone, er I mean commune, er, I mean commute &
16:36 PacoAir left 16:38 japhb_ joined
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
That ought to show sane-ish stuff for the first couple attributes, and then go to crazy town on $!foo .
16:39 am0c left
jnthn $attr.get_value(self) 16:40
I wonder if it's that get_value call that does it 16:41
(when you get the Parcel storage)
16:42 kaare_ joined
jnthn try it as nqp::findmethod($attr, 'get_value')(($attr, self) 16:43
japhb_ I'm not sure that's in the line of code that's the problem. See this output: 16:45
gist.github.com/anonymous/2c714262390b18b06b4e
Start on line 23, when it starts looking at $!foo 16:46
16:47 kivutar left, kivutar joined
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...
hm
japhb_: ooh... 16:52
I was wrong about that op
japhb_ oh?
jnthn It does map, it just doesn't panic if it can't.
oh...
You can use the capture processing ops I added when porting the multi-dispatcher.
japhb_ Ah, cool. Which ones, and where should I look for example usage? 16:53
jnthn nqp::captureposarg(nqp::usecapture(), 0) # for example
japhb_ Oh, nice.
jnthn Well, you can look in the multi-dispatch (in BOOTSTRAP.pm) for examples too :) 16:54
kresike bye folks
16:54 kresike left, pupoque joined 16:55 Harzilein joined
Harzilein hi 16:55
PerlJam Harzilein: greetings
Harzilein hmm... should $.something.WHAT work in perlito? is it even valid perl6?
arnsholt o/
jnthn It's certainly valid Perl 6 16:56
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
jnthn Yes, that pir op in general can go away for this more portable solution. 16:59
It's already supported in JVM land.
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
17:05 cognominal joined, wk_ left
jnthn arnsholt: Probably; I'd be curious if it looks the same in nqp-jvm's NQPMu 17:05
moritz atpos_s?
sounds scary :-) 17:06
Harzilein *sigh* 17:07
arnsholt jnthn: Looks like they're all plain atpos, so that should be good
jnthn *nod*
Harzilein paste.debian.net/242593 :( 17:09
17:10 mberends left
moritz maybe $foo.WHAT works in perlito? 17:10
Harzilein no, i tried that too 17:11
moritz then... tough luck
Harzilein paste.debian.net/242594 17:12
moritz then I'd recommend you work with rakudo or niecza instead 17:13
17:14 SamuraiJack joined
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:14
diakopter Harzilein: what's the target system? can you install mono? 17:22
japhb_ jnthn, success! 17:25
jnthn++ # Much thanks
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 kudo/extend-dump: b69e0c8 | (Geoffrey Broadwell)++ | src/core/Mu.pm:
Replace broken pir::perl6_current_args_rpa__P() call with nqp:: equivalent, stopping RPA -> Parcel looping
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:28
17:29 fhelmberger left
jnthn japhb_: yay :) 17:29
Harzilein apropos marrokko 17:32
ewin
17:32 spider-mario joined 17:34 cognominal left 17:36 rjbs joined 17:37 cognominal joined
rjbs 2/lm 17:40
(oops)
17:42 wk joined
masak ===SORRY!=== Undeclared routine: lm used at line 1. Did you mean '&lc'? 17:43
17:52 PacoAir joined 17:53 dakkar left
masak today's autopun: "haiku's inventory / must have had seven fingers / on his middle hand" 17:55
g'ah, inventor*
jnthn hm, somehow that one doesn't feel too autopunny... 17:56
masak another one: "why the Japanese / think seventeen syllables / are enough is a" 17:57
I think that one qualifies more :)
17:57 fgomez left 17:58 raiph_ left 18:05 pupoque left 18:06 fgomez joined 18:07 wk left 18:18 jaldhar_ left 18:22 gdey joined 18:27 fgomez left 18:30 census left 18:36 arlinius joined
pmichaud good morning, #perl6 18:45
PerlJam good afternoon, pmichaud 18:46
jnthn hi, pmichaud 18:50
pmichaud oh, I guess it is afternoon. 18:51
I spent much of the night regretting some things I ate over the weekend. :-/
jnthn :( 18:52
18:55 FROGGS joined 18:56 cognominal left
[Coke] :( 18:57
masak :( 18:59
FROGGS :( 19:00
what's up? 19:01
masak .oO( weekend's food )
19:01 japhb_ left 19:02 SmokeMac_ joined
jnthn groans at masak 19:02
19:02 SmokeMachine left
masak attempts to blame rindolf 19:02
skids stops looking for ill-looking unicode smileys.
masak .oO( PILE OF FOOD ) 19:03
pmichaud actually, it didn't come up. My system simply has difficulty processing certain foods at times (broccoli in this case) 19:04
19:05 fgomez joined
huf do these times happen to coincide with the time you eat those foods? 19:05
pmichaud heh
19:07 cognominal joined
masak only a programmer would ask that. :P 19:07
huf debugging! :)
FROGGS masak: food is up? is that an idiom?
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.
PerlJam Much safer that way :)
masak PerlJam: you're like the dual of a vegetarian!
PerlJam s/like// 19:09
:)
masak :)
pmichaud it was often an interesting challenge to find eating places that had PerlJam and vegans in the dining group. :)
masak it's horrible, my very first thought was "let PerlJam eat the vegans".
I'll go have my brain checked now. 19:10
PerlJam masak: well ... they eats what food eats. ;>
masak exactly.
rindolf takes the blame for all the world's ailments. 19:11
Blame it all on me.
All problems go away when you find someone to blame.
19:11 SamuraiJack left
PerlJam blames rindolf 19:12
nope ... problems are still there.
PerlJam blames rindolf *harder*
masak empiricism. it works, baby.
rindolf blames himself the hardest-most-awesomest-greatest-bestest-hippest-something!
PerlJam: I am the Omega of scapegoats! 19:13
PerlJam wonders if early british misunderstood the meaning of "empiricism"
rindolf LOL.
I think I'll make a fortune out of this conversation. 19:14
fortune cookie.
I'm unlikely to sell it on E-bay and get rich.
rindolf wonders how much he can sell the word «hello» for. 19:15
masak PerlJam: "empiricism" seems to etymologize back to Gr "peirân", "to attempt".
rindolf Now on bargain! Only $39.99! Get your own copy of «hello» now.
19:15 cognominal left
rindolf masak: Greek? 19:15
masak: ah, sounds logical.
masak: wasn't ancient Greek very ambiguous? Like Ancient Hebrew? 19:16
19:16 cognominal joined 19:17 benabik left
masak rindolf: not that I know. 19:17
rindolf Well, I know Carpe from en.wikipedia.org/wiki/Carpe_diem (which is Latin) meant much more than "Seize".
masak: ah.
masak well, it's common for verbs to have many meanings :) not just in Latin.
rindolf masak: did you read Aesop, Plato, Aristotle, etc. in the original Greek?
masak: ah. 19:18
masak: yeah, maybe.
masak rindolf: no, I didn't. but that sounds kinda wonderful.
jnthn
.oO( Do fishermen say "carp diem"? )
rindolf masak: I only read translations and adaptations.
masak: there's 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.
rindolf masak: I gave up on Aristotle's Prior Analytics and Posterior analytics.
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.
Which I'm not sure existed like that in Latin.
masak: but point taken.
masak :) 19:21
PerlJam "take out" probably didn't :)
masak yeah, Latin is more ablative-based :P
rindolf masak: wasn't it Socrates who decided that philosophy can and should be done in prose instead of in verse?
masak: which was considered profane back then. 19:22
masak: well, it's hard to sing a conversation.
prose is much more expressive than poetry/verse.
PerlJam rindolf: Tell that to Dr Seuss 19:23
or Shakespeare
rindolf I was told prose is a left-hemisphere function while poetry, song and music are right hemisphere functions.
PerlJam: heh.
PerlJam: Shakespeare wrote a lot of prose.
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. :)
rindolf masak: what? 19:25
masak: there's also how the Jewish Bible is recited in Jewish ceremonies. Oh my God, what braindamage!
PerlJam rindolf: would it have been better had I said "tell that to all the people listed here: www.poetrysoup.com/famous_poets/mos...oets.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]"
rindolf PerlJam: heh, I just sang what you said to me.
PerlJam rindolf: in english? 19:27
rindolf PerlJam: yes!
PerlJam: of course, I don't know the notes.
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 :)
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.
masak: heh.
masak *style
rindolf PerlJam: I cultivate my weirdness. I keep working on it. It requires constant care and maintenance.
PerlJam I bet rhyming and verse were originally mnemonic devices anyway. Easier to remember those long stories back before the age of books.
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!
rindolf PerlJam: thanks!
Soon I'll be the most eccentric person on earth.
And then it's ... world domination!
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.
PerlJam eccentricities are all unique-ish as far as I can tell, ergo they are incomparable.
rindolf PerlJam: yes, every eccentric person is a unique snowflake. 19:32
PerlJam That sounded like "every SHA256 is a 16 bit CRC"
rindolf PerlJam: thing is in real life, I appear like a normal guy, albeit somewhat dorky and geeky. 19:33
PerlJam: even my name means Shalom-ful where Shalom is "well-being", "peace", "serenity", "tranquility", "harmony", "welfare", "safety", etc.
masak "Which version you ought to use is mostly dependent on what you want to get done." -- wiki.python.org/moin/Python2orPython3 19:34
huf t...there's m..more than one way to do it?
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.
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.
PerlJam: www.shlomifish.org/humour/Selina-Mandrake/ - this is my most farfetched story yet, and I actually feel it's my most honest one.
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
this is highly interesting.
PerlJam rindolf: um ... isn't that just Buffy but tweaked?
huf rindolf: is that the one you sent an .ogg recording of to me? 19:38
timotimo indeed, there were lots of improvements in 2.7 that make it nicer to use if you can't go to 3 outright
PerlJam rindolf: I mean, your parody is "just" a parody
rindolf: it's not "out there"
rindolf PerlJam: it's much more than that.
PerlJam: first of all it's a parody/reflection/modernisation/interpretation/tribute/etc. 19:39
PerlJam: and I convey a lot of my personal philosophy there. Some serious stuff.
PerlJam: the screenplay takes itself very seriously.
PerlJam: have you watched Buffy? 19:42
PerlJam: my two other ideas for stories will be less farfetched. 19:43
PerlJam: I mean my two next ones.
www.shlomifish.org/humour/human-hacking/ - this is my most normal story yet.
Kinda emulating a teen story, but much more than that. 19:44
19:44 zos left
rindolf But the two main characters are based on Buffy and Faith from the show. 19:44
19:49 cognominal left 19:53 fgomez left
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:01
FROGGS ++pmichaud 20:03
I'll buy that single :o)
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:08
p6eval rakudo 2a41b3: OUTPUT«2.71828182845905␤»
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
p6eval niecza v24-35-g5c06e28: OUTPUT«===SORRY!===␤␤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…
diakopter r: say e::.DUMP 20:10
p6eval rakudo 2a41b3: OUTPUT«().hash␤»
diakopter r: say e:::poo 20:11
p6eval rakudo 2a41b3: OUTPUT«().hash␤»
diakopter r: say ::e:: 20:12
p6eval rakudo 2a41b3: OUTPUT«().hash␤»
diakopter n: say ::e::
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…
diakopter you're not a stash 20:13
20:13 wk joined
diakopter std: __DATA__ 20:14
p6eval std 86b102f: OUTPUT«===SORRY!===␤Undeclared name:␤ '__DATA__' used at line 1␤Check failed␤FAILED 00:00 41m␤»
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:19 kivutar left
TimToady masak is an expert on retort law... 20:20
masak :P
I'm been retaught by the best...
diakopter speaking of retort reform.. 20:21
masak .oO( ReToady )
diakopter should try trap stub code executed? 20:24
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:25
masak rn: try !!!; say "alive" 20:27
p6eval rakudo 2a41b3, niecza v24-35-g5c06e28: OUTPUT«alive␤»
masak diakopter: I don't see why not. 20:28
diakopter rn: try ...; say "alive"
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) …
..niecza v24-35-g5c06e28: OUTPUT«alive␤»
diakopter rn: try ???; say "alive" 20:29
p6eval rakudo 2a41b3: OUTPUT«Stub code executed in block at /tmp/fUkwbTNwFT:1␤␤alive␤»
..niecza v24-35-g5c06e28: OUTPUT«alive␤»
masak hm.
I think neither ... nor ??? should emit anything.
aka Niecza is right twice.
masak submits rakudobug
FROGGS TimToady: how good is STD_P5.pm6?
jnthn ??? should warn. 20:31
... should fail
The fail leaks out of the try
er, or either way the fail is in sink context
a fail in sink context throws.
??? is correct in Rakudo 20:32
... 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.
hoelzro I added some new stuff to my NQP fork
if anyone has time to take a look: github.com/hoelzro/nqp
TimToady try only sinks the inside if the outside is sunk, otherwise it's eager
masak adds jnthn's comments to the ticket 20:33
jnthn TimToady: oh...
masak: So seems it's just try ... that is in question in Rakudo, not ??? :) 20:34
masak nod.
20:34 woolfy left
masak I'll change the bug title too. 20:34
TimToady S04:1000
jnthn *nod*
20:37 fgomez joined 20:38 woolfy joined 20:40 zamolxes joined
hoelzro anyone willing to look at my NQP changes? =) 20:43
I'm hoping to make it into Thursday's release 20:44
20:53 japhb_ joined
lizmat hopes FROGGS will get an answer from TimToady 20:57
FROGGS :o) 20:58
masak hopes lizmat's wish comes true 20:59
pmichaud I think we need to know what dimension "good" is being measured there. 21:00
Harzilein hmm
is there a noweb clone in perl?
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
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, ...
Harzilein (a bit further above)
masak Harzilein: ah. I see. :)
pmichaud FROGGS: TimToady++ can answer better than I, but I suspect it's in the "needs a little love" category. 21:03
however, it's also undoubtedly the best starting point for understanding p5 parsing for a p6 person
jnthn hoelzro: The posixerrno op seems sane
hoelzro sane! \o/ 21:04
jnthn The nqp::posixerrnovalues I'm thinking on.
pmichaud: github.com/hoelzro/nqp/commit/e8a3...767b14842e if you have a moment
hoelzro I was quite liberal with the errno constants I included 21:05
pmichaud I'm not a fan of posixerrnovalues at the moment... at least not at the NQP level.
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
which is a good question
honestly, I'm just going to pass it to strerror, so I don't really care =P
21:06 SmokeMac_ left
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:06
hoelzro jnthn: well, when I write C, I often check errno == EEXIST or something 21:07
so I figured that Perl 6 that would work on such a low level would as well 21:08
jnthn ah, hm,
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.
hoelzro also, is there any standard that states that the values for errno must be distinct?
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
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
honestly, I don't care how the problem gets solved; I just want a POSIX module =)
pmichaud as you said, you're just going to pass it to strerrno. :-)
21:10 bluescreen10 joined
pmichaud so you *can* evaluate it against something :) 21:10
I wonder if the posix errno values belong in the nqp::const namespace. 21:11
hoelzro that's fine with me!
makes more sense
pmichaud or something like the way that nqp::const is handled. 21:12
PerlJam pmichaud: nqp::const::POSIX_EAGAIN ?
pmichaud PerlJam: perhaps.
jnthn We do have an nqp::const:: now at least ;) 21:13
pmichaud or perhaps what we really want is nqp::posix::errno and nqp::posix::EAGAIN
21:14 kaare_ left
pmichaud .....one could certainly do something like 21:15
create a file called posix.pasm
and inside that file, have
.macro_const POSIX_EAGAIN ## 21:16
.macro_const POSIX_E2BIG ###
that gets automatically generated at build time
PerlJam and for jvm? :)
pmichaud then nqp::const::POSIX_EAGAIN would "just work".
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 bluescreen10 left
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
*feature request
21:18 skids left
hoelzro I'm happy if I can continue work on a POSIX module 21:18
others expressed interest in errno, and someone suggested it be made an opcode
PerlJam does nqp need POSIXy stuff?
pmichaud lots of people are wanting to do NativeCall stuff that requires errno 21:19
21:19 bluescreen10 joined
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
s/person/program/
so, the nqp::posixerrno op is meant to be an experimental way to start to provide that. 21:20
I totally wouldn't mind if it remained in the pir:: namespace, fwiw.
pir::nqp_posixerrno_I(), to emphasize that it's not a part of standard nqp (yet) 21:21
we could also call it nqp::x_posixerrno to emphasize its experimental nature. 21:22
the previous discussion and rationale is irclog.perlgeek.de/perl6/2013-03-16#i_6596405
jnthn: any thoughts or preferences on the above? 21:24
jnthn pmichaud: pir:: basically promises that whatever code includes it will only ever work on Parrot 21:25
pmichaud right
jnthn pmichaud: nqp:: means it amy compile but hit a "no, not supported"
*may
pmichaud at the moment, I think my preference would be 21:26
- create a nqp_posixerrno dynop (already done in patchset) 21:27
- access that dynop via either pir::nqp_posixerrno or nqp::x_posixerrno but not nqp::posixerrno
PerlJam nqp::x_posixerrno "feels" saner to me.
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:28
I think I could live with that. 21:29
hoelzro: does this last part make sense? 21:30
hoelzro pmichaud: the posix.pasm bit?
sounds good to me!
pmichaud the three bullet items above
hoelzro yeah, it all sounds good
jnthn pmichaud: nqp::const doesn't map down to pir::const
hoelzro if everyone's happy, I'll get to work =)
jnthn In fact, hmm, what does it do... :) 21:31
pmichaud jnthn: I didn't look to see how nqp::const gets handled yet.
21:31 kurahaupo joined
pmichaud but pir::const is obviously workable and safe for the moment :) 21:31
method term:sym<nqp::const>($/) {
make QAST::Op.new( :op('const'), :name(~$<const>) );
}
in QAST/Operations.nqp... 21:33
'CCLASS_NUMERIC', nqp::const::CCLASS_NUMERIC,
how in the world does _that_ work? ;-)
seems very circular
jnthn I, uh, bootstrapping I guess :P
pmichaud that's a little dangerous, fwiw.
jnthn Yeah...did I really do that? :) 21:34
21:34 bluescreen10 left
pmichaud if the values change, the bootstrap cycle won't catch it. 21:34
I suggest changing those nqp:: to pir:: for now.
21:34 bluescreen10 joined
pmichaud afk for a bit, picking up kid from school 21:34
masak this is the first time I've heard a circular definition described as "a little dangerous" :P 21:35
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 :)
masak heh. 21:37
"This infinite regress seems a little slow to me..."
dalek kudo-js: fcf945d | (Pawel Murias)++ | / (2 files):
Update the nqp-jvm submodule. Handle load and main correctly to make the qast test pass.
21:38
hoelzro ok, so everyone's happy with nqp::x_posixerrno and pir::const::POSIX_EWHATEVER? 21:39
if so, that's what I'm going to do
masak .oO( POSIX_MEHWHATEVER ) 21:40
hoelzro heh 21:41
I found an eval { ... }; #`( no error check ) at work last week
someone suggested a syntax sugar function named whatever for such cases
whatever { #`( do dangerous stuff ) };
jnthn Well, "try" conveys the right sort of thing as well 21:42
21:42 Entonian joined
masak Entonian: hi! 21:46
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:48
Entonian and I really do appreciate that 21:50
masak you're welcome :P 21:52
pmichaud 21:39 <hoelzro> ok, so everyone's happy with nqp::x_posixerrno and pir::const::POSIX_EWHATEVER? 21:55
+1
hoelzro \o/
then I shall get to work!
21:59 spider-mario left 22:16 pmurias joined 22:18 rindolf left 22:20 PacoAir left 22:25 bluescreen10 left
masak 'night, #perl6 22:40
lizmat night masak
22:43 adu_ joined, telex left 22:44 telex joined 22:45 skids joined
FROGGS .oO( sad we need whitespace in Perl 6: www.99-bottles-of-beer.net/language...l-737.html ) 22:48
lizmat FROGGS: is this about being able to parse this in STD5 ? 22:53
FROGGS no, that's just something I've seen when reading blog posts about the gpw2013 22:54
lizmat: still having problem to assimilate STD_P5 22:55
lizmat FROGGS: maybe something to look at together at the Swiss Perl Workshop? 22:56
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
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 22:59
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:02
23:09 woolfy left
lue what is that about "sad we need whitespace" ? 23:11
FROGGS lue: in Perl 6 you have to use whitespace to distinguish between infix, postfix and prefix 23:13
lue: like 1!2
lue ah.
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:14
23:20 pmurias left
sorear No, you don't. 23:27
$: is just a scratch variable
Formats use it, but obfuscators also use it as an extra $_ 23:28
a variable you don't have to declare that doesn't contain any unsightly letters or numbers
23:31 adu_ left 23:51 sorear joined