Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2012-04-06

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:45 wolfman2000 joined #perl6
00:50 sivoais joined #perl6
00:58 jferrero joined #perl6
01:02 lestrrat joined #perl6
01:05 benabik joined #perl6
01:18 tokuhirom joined #perl6
01:19 scott___ joined #perl6
01:26 [particle] joined #perl6
02:01 leprevost joined #perl6
02:20 havenn joined #perl6
02:22 orafu joined #perl6
02:35 tokuhirom joined #perl6
02:43 jferrero joined #perl6
02:48 scott___ joined #perl6
02:51 fgomez joined #perl6
03:12 agentzh joined #perl6
03:12 agentzh joined #perl6
03:17 nif joined #perl6
03:48 alester_ joined #perl6
03:49 libertyprime joined #perl6
04:04 lestrrat joined #perl6
04:51 brrt joined #perl6
04:58 NamelessTee joined #perl6
05:16 scott____ joined #perl6
05:26 birdwindupbird joined #perl6
05:32 kaare_ joined #perl6
06:36 Khisanth joined #perl6
07:03 fhelmberger joined #perl6
07:07 Araq left #perl6
07:21 bbkr1 joined #perl6
07:32 brrt joined #perl6
07:59 moritz "Karfreitag"?
07:59 moritz phenny: "Karfreitag"?
07:59 phenny moritz: "Good Friday" (de to en, translate.google.com)
08:02 daniel-s joined #perl6
08:29 snearch joined #perl6
08:31 PacoAir joined #perl6
08:48 nebu joined #perl6
08:55 masak Good Friday, #perl6 :)
08:56 bbkr hi
08:57 moritz \o masak, bbkr. TCIF!
08:59 * masak .oO( guess this is the one F one should really T C )
08:59 masak p6: say (1..1).empty
08:59 p6eval niecza v15-6-gefda208: OUTPUT«Unhandled exception: Unable to resolve method empty in class Range␤  at /tmp/hAhiwIBW8F line 1 (mainline @ 2) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3842 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3843 (module-CORE @ 65) ␤  at /home…
08:59 p6eval ..rakudo 4373f0: OUTPUT«Method 'empty' not found for invocant of class 'Range'␤  in block <anon> at /tmp/U5BAqDdEZn:1␤␤»
08:59 p6eval ..pugs: OUTPUT«*** No such method in class Array: "&empty"␤    at /tmp/y2si0M4MWY line 1, column 5 - line 2, column 1␤»
09:00 tadzik hello chanel
09:00 moritz "empty" can be both a verb and an adjective, so not good
09:00 moritz \o tadzik
09:01 * moritz just opened a pull request to fix HTTP::Easy
09:01 tadzik is it broken?
09:01 * tadzik looks
09:01 moritz tadzik: just using $.host in an attribute initialization
09:02 tadzik hmm, must be a new thing in nom
09:02 tadzik moritz++
09:02 moritz r: class A { has $.x = $.y }
09:02 p6eval rakudo 4373f0: OUTPUT«===SORRY!===␤Virtual call $.y may not be used on partially constructed objects␤at /tmp/D02DogCkLY:1␤»
09:02 tadzik right, SVG::Plot was suffering from it too, I think
09:03 moritz right
09:03 masak moritz: what about .void?
09:03 masak moritz: or .vacuous?
09:04 moritz void sounds wrong. vacuous... i don't even know that word
09:04 moritz why not .elems == 0 ?
09:04 moritz or simply use it in boolean context?
09:04 moritz r: say so 1..1
09:04 p6eval rakudo 4373f0: OUTPUT«True␤»
09:04 moritz r: say so 1..0
09:04 p6eval rakudo 4373f0: OUTPUT«True␤»
09:04 masak r: say so 1..^1
09:04 p6eval rakudo 4373f0: OUTPUT«True␤»
09:04 moritz we could easily make this one False
09:04 masak aye.
09:05 moritz and i think we should
09:05 masak sounds good.
09:05 * masak specs
09:08 * moritz bakes Cinnamon rolls, which are typically for Easter around here
09:13 dalek specs: 757da0d | (Carl Mäsak)++ | S03-operators.pod:
09:13 dalek specs: [S03] unspec Range.empty before it reifies
09:13 dalek specs:
09:13 dalek specs: Also fix a typo.
09:13 dalek specs: review: https://github.com/perl6/specs/commit/757da0d55c
09:15 moritz Bailador dies when I portscan it :/
09:16 tadzik ouch
09:16 tadzik how?
09:16 moritz recv failed: Connection reset by peer in method recv at src/gen/CORE.setting:6613 in method run at /home/moritz/.perl6/lib/HTTP/Easy.pm6:30
09:16 havenn joined #perl6
09:16 moritz probably HTTP::Easy's fault
09:17 tadzik seems so
09:17 moritz my $app = sub ($env) {
09:17 moritz return dispatch($env);
09:17 moritz my $res = dispatch($env);
09:17 moritz }
09:17 moritz that's from Bailador.pm
09:17 moritz I think that can be simplified :-)
09:17 tadzik I think it already is, or in a branch at laest
09:18 tadzik oh, I didn't even merge all those branches
09:18 tadzik and they bring Good Stuff, istr
09:19 moritz this whole thing can just be   my $app = &dispatch
09:19 tadzik yes indede
09:19 tadzik wanna patch it? :)
09:20 moritz yes
09:20 tadzik I've just commit-bit you
09:20 moritz thanks. I collect them as trophies
09:20 moritz :-)
09:21 tadzik :) why, they are
09:25 moritz it's a bit ironic that github sends mails from noreply@github.com, and then signature says "Reply to this email directly or ..."
09:26 masak talk about service! you can even reply to the noreply emails! :D
09:28 * masak .oO( tadzik is a github vampire. he commit-bits people. *ba dum dish* )
09:30 lestrrat joined #perl6
09:31 moritz masak: now make that an autopun somehow... :-)
09:38 masak quite a challenge.
09:42 moritz It would need to go into a commit(bit) message, or so
09:42 masak yeah, you can see how the whole setup gets a _bit_ strained...
09:43 moritz :-)
09:49 fglock joined #perl6
10:28 NamelessTee joined #perl6
10:40 nebuchadnezzar joined #perl6
10:45 lestrrat joined #perl6
10:52 pernatiy joined #perl6
10:59 pomysl joined #perl6
10:59 pomysl joined #perl6
11:00 arnsholt In current rakudo, is there a standard $*VAR that lets me look at the PID of the process?
11:00 moritz r: say *$PID
11:00 p6eval rakudo 4373f0: OUTPUT«===SORRY!===␤Confused␤at /tmp/CQumql6kkC:1␤»
11:01 moritz r: say $*PID
11:01 p6eval rakudo 4373f0: OUTPUT«3279␤»
11:01 moritz it helps to be able to type :-)
11:01 moritz r: say $$
11:01 p6eval rakudo 4373f0: OUTPUT«===SORRY!===␤Non-declarative sigil is missing its name␤at /tmp/tMv5WZevNR:1␤»
11:01 arnsholt Indeed. Imagination would ahve helped in my case as well =)
11:01 moritz hm, that *should* tell you to use $*PID instead of $$, but a parse error prevents us from doing that
11:02 fsergot joined #perl6
11:02 fsergot left #perl6
11:04 bbkr rakudo: :($*PID).say # should this syntax be forbidden in signatures?
11:04 p6eval rakudo 4373f0: OUTPUT«:(Mu $*PID)␤»
11:04 bbkr std: :($*PID).say
11:05 p6eval std 1ad3292: OUTPUT«ok 00:00 41m␤»
11:05 bbkr damn, it's sooo hard to write something that is not valid P6 code :)
11:06 moritz std: 1 1
11:06 p6eval std 1ad3292: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Two terms in a row at /tmp/kyLmXkP6Fe line 1:â�¤------> [32m1 [33mâ��[31m1[0mâ�¤    expecting any of:â�¤ infix or meta-infixâ�¤    infixed functionâ�¤       statement modifier loopâ�¤Parse failedâ�¤FAILED 00:00 41mâ�¤Â»
11:06 moritz std: /
11:06 p6eval std 1ad3292: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Regex not terminated at /tmp/4FYGyq7SBV line 1 (EOF):â�¤------> [32m/[33mâ��[31m<EOL>[0mâ�¤    expecting quantifierâ�¤Parse failedâ�¤FAILED 00:00 41mâ�¤Â»
11:06 moritz std: -
11:06 p6eval std 1ad3292: OUTPUT«[31m===[0mSORRY![31m===[0m�Prefix requires an argument at /tmp/1iglCUxuKR line 1 (EOF):�------> [32m-[33m�[31m<EOL>[0m�Parse failed�FAILED 00:00 40m�»
11:06 moritz std: ¢
11:06 p6eval std 1ad3292: OUTPUT«[31m===[0mSORRY![31m===[0m�Bogus statement at /tmp/AmhhzsH5JY line 1:�------> [32m<BOL>[33m�[31m¢[0m�Parse failed�FAILED 00:00 41m�»
11:06 arnsholt bbkr: I commented on your Zavolaj OS X bug, BTW
11:06 arnsholt It's an issue with OS X dlopen(), rather than Zavolaj
11:07 arnsholt Unfortunately or fortunately, depending on your POV
11:07 moritz it's much harder for us to fix things in OS X than in rakudo or nqp :/
11:07 arnsholt Yup
11:10 hundskatt joined #perl6
11:14 bbkr arnsholt: I've read your comment few minutes ago.  The workaround is easy but dirty: try opening dlopen("foo.dylib") if dlopen("foo") failed. Or even better - if dlopen("foo.bundle") failed (this way we can prevent dlopen from messing with extension guessing).
11:15 arnsholt Yeah, that's what I'm doing right now
11:15 bbkr arnsholt++
11:15 arnsholt Although it looks like it has to be libfoo.dylib
11:16 arnsholt Did you get the Zavolaj test suite to run, OOC?
11:17 bbkr oh, indeed. dlopen requires full file name if given with extension.
11:17 bbkr I haven't checked if test suite works.
11:18 arnsholt Could you test it for me? I'm poking around in it and think I've gotten it to work, but some independent confirmation would be nice =)
11:19 bbkr which Rakudo version do you want me to use?
11:20 arnsholt I'm on yesterday's git head, but I don't think it matters much
11:20 arnsholt It's hasn't worked for me in ages
11:22 arnsholt s/It's/It
11:23 bbkr jnthns repository or do you develop fix somewhere else?
11:24 arnsholt Just try jnthn's repo first to make sure it's broken for someone else as well
11:25 arnsholt I've got a clone, but haven't pushed my changes yet
11:27 bbkr http://bbkr.org/~bbkr/zavolaj_a.log - from your's clone without changes pushed
11:28 bbkr testing again...
11:29 bbkr http://bbkr.org/~bbkr/zavolaj_b.log \o/
11:30 bbkr some warning along the way but it passes
11:31 arnsholt Yay! I'm not alone =D
11:31 moritz the warning looks like there's a space missing before the -lm
11:31 arnsholt Durrr.
11:31 moritz warning: directory not found for option '-L/Users/bbkr/Developer/Perl6/rakudo/parrot/blib/lib-lm'
11:32 moritz should probably be two separate linker options, -L$path and -lm
11:32 arnsholt Yeah, I brainoed
11:32 moritz though shouldn't that -L point to the install location, rather than the source location?
11:33 arnsholt The code is "opts here" ~\n "more opts"
11:33 moritz ah :-)
11:33 * moritz recommends join ' '
11:33 arnsholt So I forgot the space at the end of the first string
11:33 arnsholt Yeah, probably not a bad idea
11:34 arnsholt There. Braino fix pushed
11:34 arnsholt But yeah, I'm not sure how well this will work with a Star-like setup
11:35 moritz 67666
11:35 moritz sorry, flaky ssh connection
11:35 arnsholt Ah, right. I was about to ask if it was a hello form Ronja =)
11:36 bbkr http://bbkr.org/~bbkr/zavolaj_c.log
11:37 arnsholt Awesome!
11:37 moritz \o/
11:38 arnsholt Anyways, I had two problems
11:38 bbkr Those are on 10.7.3. I still have Snow Leo 10.6.8 hackintoshed netbook, I'll check it also when i get home.
11:39 arnsholt First, the original Zavolaj build flags gave conflicting linker options on OS X (-dynamiclib and -bundle)
11:39 arnsholt bbkr: I'm on 10.6.8, so ideally you should get the same results
11:39 bbkr are you on 32 or 64 bit?
11:40 arnsholt The second problem was that the Parrot link flags included -lgmp, which I have installed via MacPorts, so I needed the ldflags option in addition so that it could find it
11:40 arnsholt That last part I'm not sure how works/interacts with R*
11:42 arnsholt There. Compiler warning should go away as well now
11:44 bbkr Also I'll try to run testsuite with fresh macports rebuilt with newest XCode (the one from AppStore), they changed A LOT of things in this release (for some time even whole MacPorts were incompatible)
11:44 arnsholt Thanks a bunch!
11:45 brrt joined #perl6
11:48 bbkr bumping Xcode, this will take a while...
12:00 masak hello from a train! \o/
12:00 masak (yeah, I know. lots of train travel lately.)
12:01 masak travelin' first class, so I don't have to associate with the plebes ;)
12:02 masak (or rather, the few plebes I do have to associate with are first-class plebes.)
12:03 arnsholt o/
12:05 xenu joined #perl6
12:10 Chillance joined #perl6
12:11 moritz http://moritz.faui2k3.org/tmp/zimtschnecken.jpg # ciannamon roll success
12:12 da2ce7 moritz: looks ummmy.
12:12 PacoAir joined #perl6
12:13 tadzik oh nice
12:13 masak phenny: "zimt"?
12:13 phenny masak: "cinnamon" (de to en, translate.google.com)
12:14 masak after a while, all words in PIE-based languages start looking like each other :P
12:14 masak phenny: "kanelbulle"?
12:14 phenny masak: "cinnamon bun" (sv to en, translate.google.com)
12:15 masak phenny: "cinama bulko"?
12:15 phenny masak: "cinama bulko" (id to en, translate.google.com)
12:15 masak phenny: eo en "cinama bulko"?
12:15 phenny masak: "cinama roll" (eo to en, translate.google.com)
12:15 masak almost :)
12:15 tadzik phenny: "bułka cynamonowa"?
12:15 phenny tadzik: "cinnamon bun" (pl to en, translate.google.com)
12:16 masak this. this is what I'm talking about!
12:16 arnsholt phenny: "kanelbolle"?
12:16 phenny arnsholt: "cinnamic Bolle" (sv to en, translate.google.com)
12:16 arnsholt phenny: no en "kanelbolle"?
12:16 phenny arnsholt: "cinnamon bun" (no to en, translate.google.com)
12:16 arnsholt There we go =)
12:17 arnsholt Automagically detecting the correct language is hard enough for Scandinavian languages, let alone when you have a single word to go on =D
12:18 masak just a single letter differs ;)
12:18 masak phenny: "肉桂小面包"?
12:18 phenny masak: "Cinnamon bun" (zh-CN to en, translate.google.com)
12:19 masak Mandarin wants a 小 there in the middle, but it's still the same old compound. no innovation whatsoever.
12:19 masak phenny: "肉桂面包"?
12:19 phenny masak: "Cinnamon bread" (zh-CN to en, translate.google.com)
12:19 masak ah. maybe a semantic clash with something preexisting.
12:19 arnsholt Hmm. Is there a simple way to get access to Test::diag without also importing is()?
12:20 arnsholt (Yes, I'm doing somewhat dirty things in my testing)
12:20 masak maybe if you do require and import manually?
12:22 arnsholt rakudo: require Test; import Test <diag>; diag('alive');
12:22 p6eval rakudo 4373f0: OUTPUT«===SORRY!===␤Could not find module Test to import symbols from at line 1, near "; diag('al"␤»
12:22 arnsholt Happens without the <diag> as well
12:22 arnsholt And use Test <diag> isn't implemented yet
12:23 arnsholt rakudo: require Test; Test::diag('alive');
12:23 p6eval rakudo 4373f0: OUTPUT«===SORRY!===␤Twigil-Variable constants not yet implemented. Sorry. ␤at lib/Test.pm6:3␤»
12:23 arnsholt Herp?
12:23 arnsholt Different failure from what happens on my machine
12:30 jnthn ...how on earth did it get that error?!
12:30 arnsholt I have no idea =)
12:30 jnthn rakudo: require Test;
12:30 p6eval rakudo 4373f0: OUTPUT«===SORRY!===␤Twigil-Variable constants not yet implemented. Sorry. ␤at lib/Test.pm6:3␤»
12:31 jnthn rakudo: require 'Test';
12:31 p6eval rakudo 4373f0: OUTPUT«===SORRY!===␤Twigil-Variable constants not yet implemented. Sorry. ␤at lib/Test.pm6:3␤»
12:31 jnthn hm, is require even implemented...
12:31 tadzik I think it is
12:31 arnsholt It works here, FWIW
12:32 arnsholt (Day-old git checkout)
12:32 jnthn Oh.
12:32 jnthn and yes, it looks implemented
12:32 jnthn And works here
12:33 * jnthn wonders why not on p6eval
12:33 arnsholt I've done some hacking on Zavolaj, BTW (ref. backlog as well)
12:34 tadzik jnthn: SAFE somehow?
12:34 arnsholt I think the changes should be useful, but I've only been able to test them on OS X
12:38 arnsholt Want me to send a pull request, or just a link to the repo?
12:39 bbkr joined #perl6
12:41 jnthn arnsholt: Want a commit bit?
12:42 arnsholt Heh. That'll work too =)
12:42 jnthn arnsholt: Your github ID, sir?
12:42 arnsholt arnsholt
12:42 jnthn You haz one.
12:43 masak commit-bitten! :D
12:43 * jnthn puts the Github fangs back in the cupboard
12:43 arnsholt Indeed. Embittened, even?
12:44 arnsholt Cheers, anyways. I'll push my changes to a branch shortly for review
12:45 erkan joined #perl6
12:45 erkan joined #perl6
12:46 * arnsholt <3 git
12:47 arnsholt Pushed to branch osx-fix
12:51 bbkr joined #perl6
13:02 tokuhirom joined #perl6
13:09 tarch joined #perl6
13:09 bbkr are OS X "warning: '&&' within '||' [-Wlogical-op-parentheses]" warnings known issue? I've installed newest XCode 4.3.2 and there are tons of those when building P6.
13:12 xinming joined #perl6
13:14 jnthn That's a silly warning.
13:16 arnsholt Doesn't sound like something to worry about
13:16 bbkr yep, but looks ugly when building
13:17 jnthn OK, then we find out how to turn off the warning.
13:17 * jnthn suspects we inherit it from Parrot land
13:17 bbkr yes, tons of those appears also when building parrot
13:17 jnthn heh
13:17 bbkr reported
13:18 tadzik petdance cares a lot about warnings in Parrot, one could poke him about this one
13:18 benabik Why is that a warning?  Warning: You're taking advantage of operator precedence.
13:18 jnthn Yeah, I'm fine with many of them. But this one...come on, && vs || precedence!
13:19 benabik Warning: * within +
13:19 PerlJam It looks like a "this is a common place where people make errors, be sure you didn't" kind of warning.
13:19 jnthn benabik: Yes, it's right at that level.
13:20 benabik PerlJam: But the only way to silence it is to add the parens, I'd guess.  I think that falls more into the question of "code style".
13:20 PerlJam jnthn: except that people have the precedence of those ops ingrained in them from grade school.  Not so much for && and ||
13:21 PerlJam benabik: perhaps. But being explicit can't hurt too bad, can it?
13:21 cognominal_ which one binds more?
13:21 tadzik "When in doubt, write in lisp"
13:21 jnthn :P
13:21 PerlJam heh
13:21 cognominal_ tadzik++
13:22 benabik cognominal_: In logic && is written * and || written +.  That makes it easy to remember for me.  :-)
13:22 tadzik ha, makes sense
13:22 PerlJam benabik: indeed, that's how I first learned how to do "logic" on an old BASIC interpreter
13:23 PerlJam (there was no && or ||, so I had to use * and + )
13:23 tadzik eek
13:23 cognominal_ benabik++ # nice mnemonic
13:23 tadzik that's a nice obfuscation though
13:23 tadzik Golfers probably use that a lot
13:23 tadzik r: say so True * False
13:23 p6eval rakudo 4373f0: OUTPUT«False␤»
13:27 * jnthn afk for a bit
13:29 cognominal_ r: so "False" # :)
13:29 p6eval rakudo 4373f0:  ( no output )
13:29 cognominal_ r: say so "False" # :)
13:29 p6eval rakudo 4373f0: OUTPUT«True␤»
13:30 bbkr all warnings on OS X XCode 4.3.2  groupped and reported
13:34 masak hah, nick clark (in an RT ticket followup email) reinvents my argument about "errors as early as possible" from yeasterday! :D
13:34 masak yesterday*
13:34 masak I know sequences are lazy, and the failure needn't ever trigger, but...
13:36 masak maybe it would make sense to have a policy that when it's all about constants in a sequence, so we can introspect the sequence enough at compile time -- and when infix:<...> hasn't been overridden, of course -- then we will produce a compile-time error, for the user's sake.
13:36 skids joined #perl6
13:38 PerlJam masak: when you say "constants" do you also mean "things that collapse into constants" (via normal constant-folding) ?
13:38 bbkr arnsholt: http://bbkr.org/~bbkr/zavolaj_d.log - newest XCode 4.3.2 from AppStore, new kind of warnings emerged
13:39 bbkr arnsholt: from your fork, HEAD
13:40 * bbkr is back to $dayjob
13:43 masak PerlJam: I guess I do. in fact, I consider this error to emerge from the regular (rather broad) form of constant folding that the compiler does/will do.
13:43 Timbus joined #perl6
13:44 brrt joined #perl6
13:45 birdwindupbird joined #perl6
13:48 moritz http://stevieb-tech.blogspot.de/2012/04/use-perl6-my-first-experience-with.html
13:49 moritz stevieb++
13:51 tadzik indeed, stevieb++
13:51 tadzik we need more positive appearance in random places
13:52 preflex joined #perl6
13:58 dima thats why i came, to lurk and catch a little more info on perl6s progress, because theres almost nothing on the web ;)
13:58 am0c joined #perl6
13:58 dima on the other hand, whenever i mention "modern perl5 is pretty ok and perl6 seems nice" "perl? who needs that"
13:58 gfldex very long list of nothing: http://planetsix.perl.org/
13:59 dima i know that one
13:59 dima "nothing" in the sense of "more places, diverse places" ;)
13:59 dima you know, like mainstream and stuff
14:00 gfldex it will get there
14:00 tadzik oh, I was thinking about that recently
14:01 tadzik how often do you see things like "look at this <random utilty having not many loc> I've written in Python!" on Hacker News or Reddit?
14:01 tadzik often, aye? Now, how often do you see "check out this cool thing I've written in Perl?" I don't think I ever saw anything like this
14:02 tadzik I don't know if it's good or bad underlining the implementation language as the main advantage/whatever, but can't say it works bad for their marketing
14:03 gfldex python got better propaganda
14:03 tadzik Perl projects seem not to get attention outside the Perl community
14:03 dima ruby god better hipster webdevs ;)
14:03 tadzik that's why it's considered dead/unused
14:03 dima though, thats mainly rails fault - i enjopy ruby :)
14:03 dima -p
14:03 gfldex "Python is a programming language that lets you work more quickly and integrate your systems more effectively. You can learn to use Python and see almost immediate gains in productivity and lower maintenance costs." from http://python.org/
14:03 tadzik yeah, their propaganda is hell successful
14:03 gfldex ppl believe stuff they want to believe
14:04 tadzik it doesn't matter. Things like this build a bridge between "python" and "good" brain cells
14:04 tadzik and they do it many times a day, in every medium around
14:04 gfldex if that site would say: "As with any language, you will need to invest many many weeks to become productive in Python." they would be honest, but wont sell as much
14:04 tadzik that does have effects
14:05 dima i think that pythons success might also be partially rooted in the scientific community - scipy and numpy seem to be very useful
14:06 dima and nltk
14:06 cognominal_ with nqp progressive decoupling from Parrot, I hope Perl 6 ported to v8, then running in chrome. That's probably the only way to get mainstream.
14:06 dima of course all of this is possible in $younameit, but still
14:07 dima cognominal_: why? and as a regular "not mostly web" language - no chance?
14:07 gfldex python does one thing very well and that are bindings
14:07 moritz people want a good compiler and good tools. They don't care much which techology it's based on
14:08 gfldex as a result they where able to support stuff with little work on the python side
14:08 tadzik not always
14:08 dima moritz: also frameworks and much example code ;)
14:08 cognominal_ because, the node crowd has pivoted from ruby, is ready to pivot to a language more friendly than javascript.
14:08 moritz dima: right. And books.
14:08 gfldex and the documentation of python is better then perl's
14:08 gfldex by a mile
14:08 tadzik I've seen not one and not two guys here saying "Mono? .NET? Eww"
14:09 tadzik oh, I disagree completely (documentation)
14:09 cognominal_ with v8, we will end up getting a backend for free.
14:09 sporous joined #perl6
14:09 moritz cognominal_: mono and JVM would also be backends "for free"
14:10 dima just yesterday, i asked myself why nobody considered jvm for perl6
14:10 cognominal_ moritz, yes, but  manpower is behind javascript engine today.
14:10 cognominal_ *engines
14:11 moritz dima: it's been considered many times, but it has some disadvantages (like, lack of closure support)
14:11 dima wont they need another decade to reach the maturity of jvm? (in good or bad)
14:11 moritz and javascript simply isn't a good assembler
14:12 cognominal_ dima, some of the v8 team people are the very people that optimzed jvm.
14:12 dima moritz: how does clojure or scala handle this?
14:12 cognominal_ So I suspect that v8 is already better than any java virtual machine.
14:13 moritz dima: either JVM has recently gained support for closures, or they compile it to anonymous classes
14:14 cognominal_ dima: they went from self, to hotspot, to v8. They have 20 years of experience in vm.
14:15 _jaldhar joined #perl6
14:15 JimmyZ joined #perl6
14:15 dima assumed the anonymous classes way, dont know the underpinnings of jvm too well - thought somebody on hackernews mentioned in a comment, that the jvm doesnt actually make any restrictions on that
14:16 dima cognominal_: well, ok then - didnt mean to critisize, was just wondering
14:16 cognominal_ the downside is that they did not bother to document much the internals of v8.
14:16 dima s/size/cize
14:18 moritz dima: on the other hand, no virtual machine so far is perfect for running p6. There are tradeoffs everywhere
14:18 cognominal_ dima, I have studied a little v8 and the blog from a lisper helped me much :   http://wingolog.org/tags/v8
14:19 dima I didnt expect less from reality - but shipping is still king ;)
14:19 dima cognominal_: thanks, will check it out
14:19 cognominal_ there is good comments in v8 code but I needed this blog to get a bird eye view.
14:20 fsergot joined #perl6
14:20 fsergot hi #perl6 o/
14:21 fglock node.js has a nice performance for perl5, "almost" the same perf as native perl5
14:21 moritz dima: but performance is also king, and features are too
14:21 moritz ETOOMANYKINGS
14:21 dima sounds like a "pick any two" situation
14:22 dima i'd pick performance and shipping, assuming that features are already cool enough ;)
14:22 moritz p6: say <features performance shipping>.pick: 2
14:22 p6eval rakudo 4373f0: OUTPUT«shipping performance␤»
14:22 p6eval ..niecza v15-6-gefda208: OUTPUT«performance features␤»
14:22 p6eval ..pugs: OUTPUT«performancefeatures␤»
14:23 fglock SBCL is a great backend for performance, but it is not "main stream"
14:23 dima moritz: p6eval underestimates his features ;)
14:24 * jnthn back
14:24 cognominal_ SBCL?
14:25 moritz some Common Lisp thingy
14:25 fglock yes, it's a lisp
14:26 fglock perlito6 in sbcl was faster than any other backends
14:26 jnthn ===SORRY!===
14:26 jnthn This appears to be Perl 5 code
14:27 jnthn I wonder if we can be more helpful and say what the Perl 6 code shoulda been...
14:29 fglock I'm currently considering luajit - it seems to beat v8, except for memory management, which v8 does better
14:29 jnthn stevieb++ for the post
14:29 cognominal_ url?
14:30 jnthn cognominal_: http://stevieb-tech.blogspot.de/2012/04/use-perl6-my-first-experience-with.html - same one moritz++ linked a while ago, but I was away and only just read it :)
14:31 jnthn moritz: Don't suppose you've had chance to try the arnsholt++ Zavolaj changes on Linux?
14:31 * jnthn is gonna try them on Windows now
14:33 jnthn Ooh, one of the tests segfaults...
14:34 jnthn Though that's not arnsholt++'s fault of course...but it may well be the same thing we have with DBI.
14:35 jnthn Oh, and it only does it if you don't pre-compile the NativeCall.pm6. So it's almost certainly memory corruption related...
14:38 jnthn Dang. It doesn't segfault under the debugger. :(
14:40 jnthn ah, does if I add a while 1 { ... } around the test script...
14:40 moritz all tests pass here (64bit linux)
14:40 moritz I still need to set LD_LIBRARY_PATH though
14:47 snearch joined #perl6
14:59 brrt left #perl6
15:04 thou joined #perl6
15:09 estrai joined #perl6
15:09 dalek nqp: e49a91d | jnthn++ | src/ (2 files):
15:09 dalek nqp: Fix some arg_type allocation errors. Fixes a sometimes-segfaulty test; may help with the DBI crashes too.
15:09 dalek nqp: review: https://github.com/perl6/nqp/commit/e49a91d716
15:10 jnthn arnsholt: Merged your branch - thanks!
15:10 tadzik is anyone considering YAPC::Russia?
15:10 jnthn tadzik: Yes.
15:10 jnthn tadzik: I assume you mean the Ukraine one in May?
15:10 tadzik ywis
15:10 jnthn tadzik: I didn't decide for sure yet.
15:10 estrai hi, I'm tring to build rakudo start 2012.02 on osx and am getting "Failed to load libpcre" even if I build it without-pcre, is there a fix for this?
15:11 tadzik estrai: at which stage do you get this error? Can you paste the log somewhere
15:11 tadzik ?
15:12 jnthn tadzik: Are you thinking of going?
15:13 jnthn moritz: There's a decent chance e49a91d makes things better with DBI
15:13 tadzik jnthn: possibly
15:14 tadzik it's close, and it looks interestign
15:14 jnthn moritz: If you have chance to try, would be interesting to know the outcome.
15:14 estrai tadzik: http://pastebin.com/MZfnwPrS
15:14 jnthn tadzik: I'm pretty sure I have direct CPH -> Kiev flights.
15:14 jnthn tadzik: Kiev is nice... :)
15:14 moritz estrai: where does the "Failed to load libpcre" occur?
15:14 tadzik estrai: I think you need to pass --without-pcre to --parrot-option or something like that
15:14 jnthn tadzik: Lots of nice things to look at...and cheap beer :)
15:14 tadzik :)
15:14 moritz jnthn: will try
15:15 jnthn --parrot-option=--without-pcre
15:15 jnthn moritz: It's during the Parrot build.
15:15 tadzik right
15:16 jnthn You don't actaully need PCRE for Rakudo.
15:16 moritz I wonder if we should pass such options to parrot by default
15:16 moritz also --without-gmp
15:16 estrai I'm building both I assume in one step
15:17 jnthn estrai: The Configure script, if passed --gen-parrot, will go and sort out the dependencies for you. Then "make" gets you the Rakudo build.
15:17 estrai what's the problem with pcre btw, I read that the issue has been fixed last year but that's new rakudo star
15:17 tarch joined #perl6
15:18 jnthn moritz: That could work out.
15:20 estrai thanks everyone it looks like it works now
15:22 estrai btw, is anyone working on cucumber (BDD tool - http://cukes.info) port for perl 6?
15:23 moritz I'm not aware of any
15:24 bbkr estrai - are you from Poland?
15:24 estrai yes, I am, why? :)
15:24 bbkr have you worked in Implix?
15:25 estrai hehe, 5 years ago
15:25 estrai looking at my code now? sorry! :)
15:25 bbkr nice to meet you, I'm developing GetResponse now
15:26 estrai this world is too small :)
15:26 bbkr nice to see you on P6 scene
15:34 moritz jnthn: now the segfault is gone (at least if I delete the .pir files)
15:34 moritz and I get
15:34 moritz Cannot look up attributes in a type object in method errstr at lib/MiniDBI.pm6:32
15:34 moritz which means the connection failed
15:34 moritz which is odd, because it worked under valgrind, iirc
15:38 bbkr jnthn: I've closed https://github.com/jnthn/zavolaj/issues/6 - fixed by arnsholt today
15:40 moritz ah, the 'try' before the connect hides the real error
15:41 moritz jnthn: how far does the mysql test from minidbi get on your machine?
15:44 estrabd joined #perl6
15:47 moritz \o/ now I got up to test 42
15:47 Psyche^ joined #perl6
15:49 estrabd joined #perl6
15:51 jnthn moritz: I forget how far it got.
15:51 jnthn moritz: ooh, sounds like you're getting good progress though \o/
15:51 jnthn bbkr: yay, tahnks :)
15:51 jnthn *thanks
15:52 jnthn moritz: Hopefully that unblocks db hacking at the hackathon then :)
15:52 moritz jnthn: some small things to tweak, seems I'm getting all through to the end
15:52 jnthn \o/
15:52 moritz jnthn: would be even better if it worked with precompiled modules too :-) -- but it's a huge step foward like this already
15:52 moritz jnthn++
15:53 jnthn moritz: What bit doesn't work?
15:54 jnthn I thought I fixed the pre-compilation bug with nativecall using modules the other day...
15:54 moritz jnthn: all sorts of precompiled modules segfault or produce weird errors, even those without nativecall
15:55 jnthn Ugh.
15:55 jnthn OK
15:55 moritz jnthn: for example HTTP::Status produced an error "no method 'elements' for object of class 'signature'" or so
15:56 moritz and the backtrace pointed to an exported sub that doesn't do anything special with signatures
15:56 arnsholt jnthn: Cool!
15:57 jnthn moritz: whoa. That module is simple and has no dependencies...
15:57 arnsholt I'm working on a test file to show what I was talking about the other week
15:57 moritz jnthn: right. And it does that only when it's use'd from somwhere else
15:57 moritz jnthn: URI.pm has/had similar problems
15:58 jnthn moritz: I can reproduce by pre-compiling and using it?
15:58 estrabd joined #perl6
15:59 jnthn Hm, no, seems it needs more than that.
15:59 arnsholt I'll keep you posted on it. I've since revised my opinion, and think it'd be a good supplement to the current test suite, rather than a replacement
16:00 brrt joined #perl6
16:00 moritz jnthn: let me see if I can find a safe way to reproduce it
16:01 jnthn Thanks...trying here too but didn't yet.
16:02 erkan joined #perl6
16:03 moritz so
16:03 moritz cd perl6-http-status && ufo make install; cd ..
16:03 moritz erm, ufo && make install
16:04 moritz cd perl6-http-easy && ufo && make install
16:04 moritz cd ..
16:04 moritz cd Bailador && ufo && make install
16:04 moritz cd examples
16:04 moritz perl6 app.pl
16:04 moritz elements() not implemented in class 'Signature' in sub get at lib/Bailador.pm:35 in block <anon> at app.pl:4
16:05 moritz lib/Bailador.pm:35 is  sub get(Pair $x) is export {
16:05 PacoAir joined #perl6
16:06 jnthn Looks busted.
16:06 jnthn Will investigate, thanks.
16:10 arnsholt jnthn: To make Zavolaj's structs and arrays more capable, how much work do you estimate is needed?
16:10 arnsholt Also, mostly in Zavolaj itself, or more dyncall support in NQP as well?
16:10 imadper joined #perl6
16:11 imadper Hi guys. Is it a good time that move to Perl6 from Perl5?
16:12 moritz imadper: this is a good time to play with Perl 6 and get familiar with it. It's still more of a playing ground than production ready
16:12 moritz but it's quite fun to use
16:12 brrt i guess you could write production stuff in perl6
16:13 sorear good * #perl6
16:13 jnthn moritz: I get an error about "Virtual call $.host may not be used on partially constructed objects" in HTTP::Easy - am I missing a patch?
16:13 moritz jnthn: ah, I've submitted a pull request
16:13 colomon o/
16:13 jnthn arnsholt: Not crazily much; the work is mostly needed in the NQP repo.
16:13 moritz jnthn: but you can just change s:g/\./!/ in that line on the RHS
16:13 brrt but only if you are willing to do a lot of groundwork yourself, i guess :-)
16:14 dalek specs: 7df60db | larry++ | S03-operators.pod:
16:14 dalek specs: refine concepts of ?range and +range
16:14 dalek specs: review: https://github.com/perl6/specs/commit/7df60dbc66
16:14 arnsholt Cool. I'll look into that when I get tuits then. If not, I'll probably bug you about it at the hackathon
16:15 moritz arnsholt: anything in particular you want to do?
16:15 jnthn moritz: Yeah, now it starts up...
16:15 jnthn arnsholt: I also take requests for particular things needed to unblock using things people particularly want.
16:16 preflex joined #perl6
16:16 colomon Are there tests in roast for all these changes to Range?
16:16 moritz colomon: masak++ has added a test file for Range ~~ Range
16:16 colomon sweet, good start, then.
16:16 TimToady I'm sure there are some missing things, given the new stuff
16:16 jnthn moritz: Though, http://localhost:8080/ doesn't give me anything...
16:17 moritz colomon: there's also an implementation in rakudo's src/core/Range.pm
16:17 moritz jnthn: should be :3000 iirc
16:17 jnthn oh, yeah, just found it...
16:18 moritz anyway, if it starts up, you haven't reproduced the precompilation problem :(
16:18 tokuhirom joined #perl6
16:18 * jnthn gets "hello world"
16:18 TimToady btw, moritz++ for figuring out that we could use ?range to evaluate whether it's empty
16:18 jnthn moritz: oh, I didn't pre-compile anything other than HTTP::Status yet
16:18 jnthn moritz: Gonna pre-compile module by module to find where it buts.
16:18 jnthn *busts
16:19 jnthn moritz: Just wanted to make it work at all first so I know it actually does run on Windows :)
16:19 moritz jnthn: :-)
16:19 jnthn moritz: Very happy that Bailador did indeed just work on Windows first time :)
16:20 arnsholt jnthn: I'm still in the exploratory phase, so I'm not quite sure which features I want yet (beyond all of 'em =)
16:20 moritz parrot++ for giving us platform-independent sockets
16:20 jnthn arnsholt: Yeah, I want all of 'em. :) But there's more than one ordering :)
16:21 arnsholt But if I get some more defined itches, I'll keep you posted
16:23 arnsholt I'm looking at ZMQ right now (there's always the Parrot bindings to ZMQ though) which looks like it'll require a fair amount of features
16:26 jnthn moritz: Aye
16:27 jnthn moritz: Hm. I've found that pre-compile HTTP::Status, pre-compile HTTP::Easy, then pre-compile HTTP::Easy::PSGI, then run gets me "Could not find symbol 'HTTP::Easy::&PSGI'"
16:28 jnthn oh...I think this is where an NYI bites...
16:28 jnthn Hm.
16:30 dukeleto joined #perl6
16:30 godfrey999 joined #perl6
16:32 jnthn moritz: OK, think I understand the issue. Not a 5-min fix, though.
16:38 arnsholt jnthn: BTW, looking at the Zavolaj test suite, in 04-pointers.c, is it safe to return a literal string outside the function?
16:39 arnsholt It works fine (obviously), but isn't that one of those things where suddenly your data gets trampled by intervening function calls?
16:39 jnthn arnsholt: Think as long as the library remains loaded, yes.
16:40 jnthn arnsholt: Hmm, I think it returns a pointer into the static data rather than actually allocating anything.
16:40 thou joined #perl6
16:40 arnsholt Ah, right. As long as it's not on the stack
16:42 jnthn Right.
16:43 thelazydeveloper joined #perl6
16:45 NamelessTee joined #perl6
16:45 fglock joined #perl6
16:48 fglock o/ perl6
16:49 tadzik hi fglock
16:51 fglock I was wondering if it still makes sense to "announce" versions; usually whatever is in the repos just work
16:53 pylaurent joined #perl6
16:53 pylaurent left #perl6
16:54 leprevost joined #perl6
17:00 jferrero joined #perl6
17:06 moritz fglock: well, releases are a good way to reach a wider audience
17:07 moritz fglock: and release announcement make good summaries about the development activity
17:09 dalek rakudo/nom: 790ca39 | jnthn++ | src/Perl6/World.pm:
17:09 dalek rakudo/nom: Remove accidentally left pre-bs deserialization code for setting $!do in Code objects. This not only meant we did some work we didn't need to at startup, but in module pre-comp tripped the SC write barrier needlessly, causing us to reserialize vast swathes of stuff. For example, HTTP::Status previously serialized to 399KB, now just 58KB. Basically, ~ 300KB less deserialization data per pre-compiled module.
17:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/790ca3957e
17:13 PerlJam nice
17:13 fglock I think my problem is where to draw the line for an announcement; the difference between "versions" in git is pretty small
17:13 PerlJam (good that the star release was held off too :)
17:15 tadzik woot
17:15 tadzik jnthn: does that also fix segfaults and other fun?
17:15 PerlJam fglock: think of the releases as the heartbeat by which the project health is measured.  They're good for us and our users.
17:16 jnthn tadzik: It *may* fix segfaults. It doesn't fix the actual issue I'm fixing with HTTP::Easy::PSGI.
17:17 jnthn tadzik: I found the above because when I turned on the tracing of sc wb triggering, I found it getting hit in a LOAD of places it shouldn't. I'd suspsected it was just from the output size for modules anyway, and the trace showed up right what was going on...
17:17 jnthn Anyway, the problem for HTTP::Easy::PSGI is that it ain't getting hit somewhere it needs to, afaict.
17:20 tadzik okay
17:20 Ulti_ PerlJam nice nick
17:21 tadzik heh, Ulti and Util on one channel
17:21 Ulti yeah I know, sorry
17:21 tadzik heh, no problem with that :)
17:21 Levenshtein you must be really close to each other
17:21 moritz :-)
17:22 tadzik bah-dum-tss!
17:22 Ulti so close we like the same ham
17:22 spider-mario joined #perl6
17:23 Ulti *hamming distance joke*
17:23 Ulti "joke"
17:23 tadzik oh, I didn't get that one
17:24 tadzik <perl 5 off-topic> If you thought 5.8.8 is bad, cheer up. My phone has 5.8.3. Were there even phones back then? </perl 5 off-topic>
17:24 Ulti wat
17:26 kborer joined #perl6
17:27 xinming joined #perl6
17:28 fglock tadzik: maybe you could try perlito5.js
17:28 tadzik fglock: possibly. I'll need v8 for that, right?
17:28 tadzik I'll need to port and package that, probably :/
17:29 fglock yes, node.js is better because it implements i/o
17:34 alpha joined #perl6
17:34 alpha hdy
17:34 alpha hey
17:34 tadzik hello there
17:35 Guest48107 i would like to contribute to perl 6 coding
17:35 Guest48107 where can i start
17:36 tadzik welcome! take a look at http://perl6.org/documentation/
17:37 Guest48107 thanks.. i will have a look
17:38 tadzik have fun
17:41 fglock tadzik: if you get node or v8 running, you can also try out perlito6; it is also written in perl6, so you can contribute :P
17:41 tadzik :) I'll try that. But first I want to package proper Perl 5
17:42 fglock perlito6 might work in 5.8.3 as well
17:42 tadzik oh, nice
17:43 pat_js joined #perl6
17:54 fglock tadzik: cpantesters has a "pass" for v6.pm on perl5.8.3 (on Linux, v6.pm version 0.039)
17:54 benabik v6.pm ?
17:56 tadzik cool
17:57 fglock benabik: v6.pm is a perl5 module - it allows 'use v6-perlito; #some perl6 code here'
17:57 fglock it compiles perl6 into perl5 and runs it
17:57 fglock (simple perl6)
17:58 fglock or alternately, compile p6 to p5 ahead-of-time and run as plain p5
17:59 benabik That sounds kinda awesome.
18:01 fglock http://search.cpan.org/dist/v6/lib/v6.pm - tests here: http://cpansearch.perl.org/src/FGLOCK/v6-0.045/t/
18:02 spider-mario do they all pass?
18:02 fglock yes, it's published :)
18:02 spider-mario great :)
18:03 fglock it used to be much more complete, but the code was a mix of perl5/perl6; this is a rewrite in plain perl6
18:04 fglock the source code in in github; cpan has it compiled to perl5
18:11 VXZ joined #perl6
18:26 moritz jnthn: now I get a new error in Bailador when running the example with precompiled modules:
18:27 moritz ===SORRY!===
18:27 moritz Type check failed in assignment to '$current-request'; expected 'Mu' but got 'Perl6::Metamodel::StaticLexPad'
18:28 moritz goes away when deleting all .pir files in ~/.perl6/lib
18:29 jnthn moritz: Yes, the above only fixed one of the issues, not all of them.
18:29 fsergot joined #perl6
18:29 jnthn moritz: In fact, it wasn't even the thing I went looking for...
18:31 moritz jnthn: ok
18:31 moritz all mysql pass now in MiniDBI
18:32 tadzik moritz: can you reproduce this with GC turned off?
18:32 jnthn ooh, good question...
18:32 jnthn hm, I need to eat
18:33 * jnthn bbiab
18:33 * moritz too
18:33 moritz tadzik: will try after supper
18:33 tadzik okay
18:33 moritz the pg backend needs more work
18:33 moritz not sure if it ever worked
18:35 moritz tadzik: how do I switch off the GC?
18:35 s1n joined #perl6
18:36 jnthn moritz: parrot -G perl6.pbc ...
18:36 moritz ah right
18:37 brrt left #perl6
18:37 moritz same error
18:39 tadzik oh, interesting
18:39 jnthn moritz: What order are the modules being compiled in?
18:40 jnthn Is everything down the chain being pre-compiled?
18:40 fgomez joined #perl6
18:41 * jnthn built HTTP::Status, then HTTP::Easy, then HTTP::Easy::PSGI and fails there
18:41 jnthn As in, as soon as something uses that.
18:53 birdwindupbird joined #perl6
19:04 moritz jnthn: status -> easy -> bailador
19:04 moritz jnthn: I just run 'make install' in each project dir
19:10 fsergot joined #perl6
19:23 moritz Pg now gets through all the tests, though it fails about half of them
19:24 moritz I'll stop now, and leave something to do for the hackathon :-)
19:24 moritz cd
19:24 moritz ww
19:24 Araq joined #perl6
19:24 Trashlord joined #perl6
19:27 Trashlord joined #perl6
19:31 tadzik gfldex: it would seem that chromatic just blug about the thing we were talking about before
19:31 gfldex tadzik: could you link please?
19:32 moritz http://modernperlbooks.com/mt/index.html
19:33 tadzik http://www.modernperlbooks.com/mt/2012/04/perl-and-that-dirty-word.html tbe
19:34 gfldex "To convince people to do something, you must first let them convince themselves that it is in their interest to do so." He knows a lot about propaganda as it seams. :)
19:58 jnthn moritz: Nice work on Pg. :-)
19:58 jnthn moritz: Will return to the pre-comp issues in the next couple of days...think I know what needs to happen next to make things better.
19:58 moritz jnthn: cool
20:00 jnthn Very happy database access is further forward :)
20:01 icwiener joined #perl6
20:01 moritz now I'm starting on a blog post about what the Oslo hackers can do to be prepared for the hackathon
20:03 jnthn nice
20:09 masak evening, #perl6
20:09 moritz \o masak
20:09 wolfman2000 joined #perl6
20:10 colomon o/
20:10 jnthn o/ masak
20:10 dalek Heuristic branch merge: pushed 20 commits to nqp/qbootstrap by jnthn
20:18 am0c joined #perl6
20:19 nif joined #perl6
20:19 icwiener joined #perl6
20:22 shachaf joined #perl6
20:25 moritz https://github.com/moritz/perlgeek.de/blob/master/source/blog-source-en/perl-6/2012-hackathon-preparations.txt draft for a blog post
20:26 moritz will publish some time during the weekend; feedback welcome!
20:27 moritz p6: say 0x10c
20:27 p6eval pugs, rakudo 4373f0, niecza v15-6-gefda208: OUTPUT«268␤»
20:35 jnthn moritz: Nits: "are inviting to the" - inviting probably wants a noun. Also some of the what you need list starts captialized and some doesn't.
20:35 tokuhirom joined #perl6
20:36 jnthn "If at point you run into problems" => If at *any* point...
20:37 jnthn moritz++ # looks good otherwise
20:37 moritz jnthn: thanks, I'll fix the wording
20:49 icwiener joined #perl6
21:09 lichtkind joined #perl6
21:12 nif joined #perl6
21:14 nif joined #perl6
21:15 nif_ joined #perl6
21:17 nif__ joined #perl6
21:17 y3llow joined #perl6
21:18 bruges joined #perl6
21:19 dalek nqp/qbootstrap: 62d7bf3 | jnthn++ | src/NQPQ/World.pm:
21:19 dalek nqp/qbootstrap: Sync NQPQ's World with BS changes.
21:19 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/62d7bf30c1
21:19 dalek nqp/qbootstrap: f15decd | jnthn++ | src/NQPQ/Actions.pm:
21:19 dalek nqp/qbootstrap: Update NQPQ's Actions.pm with BS-related changes.
21:19 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/f15decd964
21:19 dalek nqp/qbootstrap: 4489e47 | jnthn++ | src/NQPQ/Grammar.pm:
21:19 dalek nqp/qbootstrap: Sync NQPQ's Grammar.pm up with BS changes; we now get through the build in this branch again, though the resulting nqp executable doesn't work again yet.
21:19 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/4489e4702c
21:20 y3llow joined #perl6
21:22 y3llow joined #perl6
21:23 icwiener joined #perl6
21:24 dalek nqp/qbootstrap: bb5f766 | jnthn++ | src/QHLL/World.pm:
21:24 dalek nqp/qbootstrap: Update QHLL's World with latest changes. Gets things a little further towards working again.
21:24 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/bb5f766419
21:34 dalek nqp/qbootstrap: cdf955e | jnthn++ | src/core/NQPRoutine.pm:
21:34 dalek nqp/qbootstrap: Make nqpattr work on the NQPRoutine code objects. Note that we can now probably kill off the PIR hack, though it's not pressing to do so. This appears to get qbootstrap back to passing the set of tests it did before bs happened, anyway, so now work on it can continue.
21:34 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/cdf955ebcc
21:40 hundskatt joined #perl6
21:42 mj41 joined #perl6
21:53 icwiener joined #perl6
21:57 whiteknight joined #perl6
21:59 sftp joined #perl6
22:02 * cognominal_ is happy to see jonathan cruising thru qnqp code.
22:06 japhb_ joined #perl6
22:07 godfrey999 joined #perl6
22:08 japhb_ From the backlog ... what's the state of the various compilers WRT retargetability?  It sounds like perlito can lay claim to something in the "rather" to "very" retargetable range.  Last I heard, NQP still had a non-trivial (but ever-decreasing) amount of PIR to get rid of, but still a fair amount of C.  Is niecza effectively unretargetable in current form?
22:08 jnthn japhb_: The bits in C are mostly the glue I'd expect to write to port to other VMs anyway.
22:09 japhb_ Hmmm
22:10 sorear Retargetability of niecza is sort of moot, since the runtime support code is larger than the compiler...
22:10 jnthn japhb_: Thing you may not know: 6model wasn't first built on Parrot. It was prototyped on the CLR, as part of which I had quite a bit of NQP running on the CLR.
22:10 japhb_ I had once known that, but had forgotten.  Thanks for the reminder. : -)
22:10 japhb_ Apparently I have a long face today
22:11 cognominal_ jnthn, 6model types will eventually replace pmcs in parrot?
22:11 japhb_ jnthn, there are still 11 C files in Rakudo itself.  Are those (or their functionality) planned to eventually move into NQP?
22:12 cognominal_ anyway porting to other VM will mean replacing pmc by 6model types, I suppose.
22:12 jnthn cognominal_: We don't have many PMCs left these days.
22:12 jnthn cognominal_: Those that exist are part of the VM glue layer.
22:13 jnthn japhb_: Some of that C code may also end up being re-written in NQP.
22:13 jnthn japhb_: I suspect Rakudo is gonna have it's "vm specific" pieces too.
22:14 jnthn japhb_: Example: it doesn't make sense for a full-blown Perl 6 binder to live in NQP.
22:14 japhb_ Yeah, that was going to be my first guess for what might stay
22:14 jnthn japhb_: The multi-dispatcher is a hybrid case.
22:14 japhb_ Especially because it is so damned performance-critical
22:14 jnthn japhb_: There's little reason for the candidate sorting to be in C.
22:14 jnthn It's not performance critical.
22:14 japhb_ The binder?
22:14 jnthn No, the candiate sorting.
22:14 jnthn The binder is. :)
22:15 japhb_ Ah, OK, yes, that's what I'd meant.  :-)
22:15 jnthn (To clarify, candidate sorting isn't performance critical because it's not done per dispatch. It's done once.)
22:15 jnthn In fact, now we have BS, we should really do it at compile time and serialize the result of the sort.
22:16 japhb_ :-)
22:16 cognominal_ jntn, in qbootstrap, matching an optional expression still returns an array, or has it be fixed?
22:17 jnthn cognominal_: It's using qregex, so it'll have whatever semantics Rakudo currently has.
22:17 cognominal_ ok
22:17 jnthn cognominal_: I'd rather not do not-required fixes in an already involved branch.
22:17 cognominal_ I got nqp
22:17 cognominal_ ICU not loaded
22:17 cognominal_ current instr.: '' pc 2495 (src/stage2/gen/NQPP6Regex.pir:866) (src/stage2/gen/NQPP6Regex.pm:0)
22:17 japhb_ jnthn, how long did it take you (approximately, of course) to port NQP to CLR?
22:17 cognominal_ when trying to lanch nqp on my mac with you qbootstrap branch
22:17 sorear jnthn++ ported NQP to CLR about five times
22:18 japhb_ o_O
22:18 jnthn japhb_: My memory is hazy. But the other thing is that I was also doing explorative design on 6model at the time.
22:18 sorear it was one of those things where you start, then realize it won't work and start ov er
22:18 japhb_ ah
22:18 jnthn Well, yeah, 6model went through a few throwaways :)
22:19 jnthn Also, from what I know now, the way I did it on the CLR in the prototype isn't how I'd build a production level implementation of it today.
22:19 sorear one thing I will note is that it took me less than a week to rewrite Niecza's Perl 5 translator in Perl 6
22:19 * japhb_ nods sagely
22:19 japhb_ "Perl 5 translator"?
22:19 sorear retargetting is always much easier then designing it in the first place
22:19 sorear japhb_: the compiler proper, not the runtime which has always been C#
22:20 japhb_ Ah
22:20 jnthn japhb_: Anyway, qbootstrap will kill off one of our two remaining big PIR dependencies.
22:20 jnthn japhb_: And yesterday at masak++'s place I created a branch and started tentatively fiddling with the work to kill of the other one.
22:21 cognominal_ jnthn, forget my complaint, I forgot to do a make install
22:21 jnthn (That's PAST::Compiler. masak REALLY wants the replacement for that to land because it's on the critical path for macro work.)
22:21 japhb_ What exactly *is* qbootstrap?  I think I've been just using "meaning from context", but now I'm more curious about what makes it special.
22:21 jnthn japhb_: Currently, we have two regex engines.
22:22 cognominal_ on the other hand, the Null PMC access in find_method('new')  is still there at the second prompt of the interactive nqp
22:22 japhb_ Oooh, jnthn++ for working on *both* of the remaining PIR holdouts
22:22 jnthn The old one, which we currently use to parse Perl 6 source. This is bootstrapped.
22:22 jnthn And the new one, which does LTM properlier, isn't written in PIR, and we use for regexes and grammars inside of Rakudo.
22:23 jnthn qbootstrap is replacing the rest of the uses of the old PIR-based engine with the new one.
22:23 jnthn Which involves getting it building itself, amongst other things.
22:23 japhb_ Ah, gotcha.  That jibes with my existing mental model.
22:24 jnthn I've mostly got it to the point where it's in "fix failing tests" mode
22:24 japhb_ Excellent.
22:24 jnthn I think many of the fails boil down to two underlying issues.
22:24 jnthn If we're REALLY lucky, all of them boil down to the two.
22:25 japhb_ :-)
22:25 jnthn But that's probably a tad too optimistic. :)
22:26 jnthn All being well, Pm and I get to be in the same room for some days later this month too, which will no doubt help.
22:26 japhb_ nodnod
22:26 cognominal_ hum, now I get 'no ICU lib loaded' from code typed at the prompt.
22:26 jnthn cognominal_: Where exactly?
22:27 jnthn cognominal_: Which prompt, which branch, etc? :)
22:28 cognominal_ jnthn, your qbootstrap branch
22:28 jnthn cognominal_: What code are you trying to run?
22:28 cognominal_ in the nqp prompt, when trying a grammar
22:29 cognominal_ grammar A { token TOP { <a>? $<b>='b' }; token a { a } });  A.parse('ab'); say($/<b>.keys);
22:29 fsergot joined #perl6
22:29 cognominal_ that was some bug, not sure if it was QRegex or not. But now I get the  'no ICU lib loaded'
22:29 jnthn For one, .parse in NQP doesn't set $/ implicitly... :)
22:30 jnthn Also the grammar test is one of the ones failing in qbootstrap, iirc.
22:30 jnthn yeah, and it fails with the error you mentioned.
22:31 cognominal_ anyway I did not got this far with the no ICU…
22:31 jnthn cognominal_: prove --exec=nqp t/nqp will give you a better idea of current status.
22:33 cognominal_ I guess you have done the hard work bootstrapping it. jnthn++
22:34 jnthn Well, not yet bootstrapped, but yeah, getting things lined up so we can simulate whether we will be able to was some fun :)
22:39 cognominal_ Maybe, I can help debugging the QRegex.nqp code to pass the tests. This is less scary than pir code. Will cast an eye tomorrow.
22:39 cognominal_ good night
22:39 jnthn night o/
22:41 spider-mario hm, http://perl6.org/compilers/features incorrectly states that rakudo implements &run
22:41 spider-mario good night, cognominal_
22:41 fsergot good night \o
22:44 sftp joined #perl6
22:50 wolfman2000 joined #perl6
23:08 thou joined #perl6
23:38 * jnthn -> sleep
23:38 fgomez joined #perl6
23:39 japhb_ o/ jnthn
23:43 japhb_ What is the feature level of perlito?  Could it handle a substantial portion of the spec tests of, say, Pugs?
23:44 sorear good question.  it's annoying that fglock is such a hermit.
23:47 * sorear wonders if jnthn's glacier photo is real
23:47 japhb_ What limits us from adding perlito into the mix of tested implementations (and columns on the features chart)?  Just the sheer scale of the task without help from the chief implementor?
23:48 sorear afaik yes.
23:56 fgomez joined #perl6

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

Perl 6 | Reference Documentation | Rakudo