»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
00:03 samlh left 00:05 sivoais left 00:14 pmurias left 00:36 fgomez left 00:45 wolfman2000 joined 00:50 sivoais joined 00:57 jferrero left 00:58 jferrero joined 01:01 lestrrat left 01:02 lestrrat joined 01:05 benabik joined 01:18 tokuhirom joined 01:19 scott___ joined 01:24 [particle] left 01:26 [particle] joined 01:57 whiteknight left 02:01 leprevost joined 02:20 havenn joined 02:22 orafu left, orafu joined 02:35 tokuhirom left, tokuhirom joined 02:37 havenn left 02:40 tokuhirom left, jferrero left 02:43 jferrero joined 02:47 scott___ left 02:48 scott___ joined 02:51 fgomez joined 03:08 PacoAir left 03:12 agentzh joined 03:13 agentzh left, agentzh joined 03:17 nif joined 03:19 nif left 03:21 fgomez left 03:29 libertyprime left 03:48 alester_ joined 03:49 libertyprime joined 04:04 lestrrat left, lestrrat joined 04:51 brrt joined 04:58 NamelessTee joined 05:16 scott___ left, scott____ joined 05:26 birdwindupbird joined 05:28 thou left 05:32 kaare_ joined 05:59 NamelessTee left 06:08 Teratogen left 06:16 Khisanth left 06:34 alester_ left 06:36 Khisanth joined 06:51 brrt left 07:03 fhelmberger joined 07:07 Araq left 07:15 pernatiy left 07:21 bbkr1 joined, bbkr1 left 07:31 fglock left 07:32 brrt joined
moritz "Karfreitag"? 07:59
phenny: "Karfreitag"?
phenny moritz: "Good Friday" (de to en, translate.google.com)
08:02 daniel-s joined 08:29 snearch joined 08:32 PacoAir joined 08:36 snearch left 08:45 nebuchadnezzar left 08:48 nebu joined 08:50 nebu left
masak Good Friday, #perl6 :) 08:55
bbkr hi 08:56
moritz \o masak, bbkr. TCIF! 08:57
masak .oO( guess this is the one F one should really T C ) 08:59
p6: say (1..1).empty
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…
..rakudo 4373f0: OUTPUT«Method 'empty' not found for invocant of class 'Range'␤ in block <anon> at /tmp/U5BAqDdEZn:1␤␤»
..pugs: OUTPUT«*** No such method in class Array: "&empty"␤ at /tmp/y2si0M4MWY line 1, column 5 - line 2, column 1␤»
tadzik hello chanel 09:00
moritz "empty" can be both a verb and an adjective, so not good
\o tadzik
moritz just opened a pull request to fix HTTP::Easy 09:01
tadzik is it broken?
tadzik looks
moritz tadzik: just using $.host in an attribute initialization
tadzik hmm, must be a new thing in nom 09:02
moritz++
moritz r: class A { has $.x = $.y }
p6eval rakudo 4373f0: OUTPUT«===SORRY!===␤Virtual call $.y may not be used on partially constructed objects␤at /tmp/D02DogCkLY:1␤»
tadzik right, SVG::Plot was suffering from it too, I think
moritz right 09:03
masak moritz: what about .void?
moritz: or .vacuous?
moritz void sounds wrong. vacuous... i don't even know that word 09:04
why not .elems == 0 ?
or simply use it in boolean context?
r: say so 1..1
p6eval rakudo 4373f0: OUTPUT«True␤»
moritz r: say so 1..0
p6eval rakudo 4373f0: OUTPUT«True␤»
masak r: say so 1..^1
p6eval rakudo 4373f0: OUTPUT«True␤»
moritz we could easily make this one False
masak aye.
moritz and i think we should 09:05
masak sounds good.
masak specs
moritz bakes Cinnamon rolls, which are typically for Easter around here 09:08
dalek ecs: 757da0d | (Carl Mäsak)++ | S03-operators.pod:
[S03] unspec Range.empty before it reifies

Also fix a typo.
09:13
moritz Bailador dies when I portscan it :/ 09:16
tadzik ouch
how?
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
moritz probably HTTP::Easy's fault 09:16
tadzik seems so 09:17
moritz my $app = sub ($env) {
return dispatch($env);
my $res = dispatch($env);
}
that's from Bailador.pm
I think that can be simplified :-)
tadzik I think it already is, or in a branch at laest
oh, I didn't even merge all those branches 09:18
and they bring Good Stuff, istr
moritz this whole thing can just be my $app = &dispatch 09:19
tadzik yes indede
wanna patch it? :)
moritz yes 09:20
tadzik I've just commit-bit you
moritz thanks. I collect them as trophies
:-)
09:21 havenn left
tadzik :) why, they are 09:21
moritz it's a bit ironic that github sends mails from [email@hidden.address] and then signature says "Reply to this email directly or ..." 09:25
masak talk about service! you can even reply to the noreply emails! :D 09:26
masak .oO( tadzik is a github vampire. he commit-bits people. *ba dum dish* ) 09:28
09:29 lestrrat left 09:30 lestrrat joined
moritz masak: now make that an autopun somehow... :-) 09:31
masak quite a challenge. 09:38
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...
moritz :-) 09:43
09:49 fglock joined 10:11 scott____ left 10:28 NamelessTee joined 10:40 nebuchadnezzar joined 10:44 lestrrat left 10:45 lestrrat joined 10:52 pernatiy joined 10:59 pomysl left, pomysl joined, pomysl left, pomysl joined
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
p6eval rakudo 4373f0: OUTPUT«===SORRY!===␤Confused␤at /tmp/CQumql6kkC:1␤»
moritz r: say $*PID 11:01
p6eval rakudo 4373f0: OUTPUT«3279␤»
moritz it helps to be able to type :-)
r: say $$
p6eval rakudo 4373f0: OUTPUT«===SORRY!===␤Non-declarative sigil is missing its name␤at /tmp/tMv5WZevNR:1␤»
arnsholt Indeed. Imagination would ahve helped in my case as well =)
moritz hm, that *should* tell you to use $*PID instead of $$, but a parse error prevents us from doing that
11:02 fsergot joined, fsergot left
bbkr rakudo: :($*PID).say # should this syntax be forbidden in signatures? 11:04
p6eval rakudo 4373f0: OUTPUT«:(Mu $*PID)␤»
bbkr std: :($*PID).say 11:05
p6eval std 1ad3292: OUTPUT«ok 00:00 41m␤»
bbkr damn, it's sooo hard to write something that is not valid P6 code :)
moritz std: 1 1 11:06
p6eval std 1ad3292: OUTPUT«===SORRY!===␤Two terms in a row at /tmp/kyLmXkP6Fe line 1:␤------> 1 ⏏1␤ expecting any of:␤ infix or meta-infix␤ infixed function␤ statement modifier loop␤Parse failed␤FAILED 00:00 41m␤»
moritz std: /
p6eval std 1ad3292: OUTPUT«===SORRY!===␤Regex not terminated at /tmp/4FYGyq7SBV line 1 (EOF):␤------> /⏏<EOL>␤ expecting quantifier␤Parse failed␤FAILED 00:00 41m␤»
moritz std: -
p6eval std 1ad3292: OUTPUT«===SORRY!===␤Prefix requires an argument at /tmp/1iglCUxuKR line 1 (EOF):␤------> -⏏<EOL>␤Parse failed␤FAILED 00:00 40m␤»
moritz std: ¢
p6eval std 1ad3292: OUTPUT«===SORRY!===␤Bogus statement at /tmp/AmhhzsH5JY line 1:␤------> <BOL>⏏¢␤Parse failed␤FAILED 00:00 41m␤»
arnsholt bbkr: I commented on your Zavolaj OS X bug, BTW
It's an issue with OS X dlopen(), rather than Zavolaj
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 :/
arnsholt Yup
11:10 hundskatt joined 11:11 brrt left
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:14
arnsholt Yeah, that's what I'm doing right now 11:15
bbkr arnsholt++
arnsholt Although it looks like it has to be libfoo.dylib
Did you get the Zavolaj test suite to run, OOC? 11:16
bbkr oh, indeed. dlopen requires full file name if given with extension. 11:17
I haven't checked if test suite works.
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:18
bbkr which Rakudo version do you want me to use? 11:19
arnsholt I'm on yesterday's git head, but I don't think it matters much 11:20
It's hasn't worked for me in ages
s/It's/It 11:22
bbkr jnthns repository or do you develop fix somewhere else? 11:23
arnsholt Just try jnthn's repo first to make sure it's broken for someone else as well 11:24
I've got a clone, but haven't pushed my changes yet 11:25
bbkr bbkr.org/~bbkr/zavolaj_a.log - from your's clone without changes pushed 11:27
testing again... 11:28
bbkr.org/~bbkr/zavolaj_b.log \o/ 11:29
some warning along the way but it passes 11:30
moritz the warning looks like there's a space missing before the -lm 11:31
arnsholt Yay! I'm not alone =D
Durrr.
moritz warning: directory not found for option '-L/Users/bbkr/Developer/Perl6/rakudo/parrot/blib/lib-lm'
should probably be two separate linker options, -L$path and -lm 11:32
arnsholt Yeah, I brainoed
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"
moritz ah :-)
moritz recommends join ' '
arnsholt So I forgot the space at the end of the first string
Yeah, probably not a bad idea
There. Braino fix pushed 11:34
But yeah, I'm not sure how well this will work with a Star-like setup
moritz 67666 11:35
sorry, flaky ssh connection
arnsholt Ah, right. I was about to ask if it was a hello form Ronja =)
bbkr bbkr.org/~bbkr/zavolaj_c.log 11:36
arnsholt Awesome! 11:37
moritz \o/
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.
arnsholt First, the original Zavolaj build flags gave conflicting linker options on OS X (-dynamiclib and -bundle) 11:39
bbkr: I'm on 10.6.8, so ideally you should get the same results
bbkr are you on 32 or 64 bit?
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
That last part I'm not sure how works/interacts with R*
There. Compiler warning should go away as well now 11:42
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, brrt left
bbkr bumping Xcode, this will take a while... 11:48
11:51 NamelessTee left 11:52 xenu left 11:58 skids left
masak hello from a train! \o/ 12:00
(yeah, I know. lots of train travel lately.)
travelin' first class, so I don't have to associate with the plebes ;) 12:01
(or rather, the few plebes I do have to associate with are first-class plebes.) 12:02
arnsholt o/ 12:03
12:05 xenu joined, xenu is now known as Guest34170 12:10 Chillance joined
moritz moritz.faui2k3.org/tmp/zimtschnecken.jpg # ciannamon roll success 12:11
da2ce7 moritz: looks ummmy. 12:12
12:12 PacoAir left, PacoAir joined
tadzik oh nice 12:13
masak phenny: "zimt"?
phenny masak: "cinnamon" (de to en, translate.google.com)
masak after a while, all words in PIE-based languages start looking like each other :P 12:14
phenny: "kanelbulle"?
phenny masak: "cinnamon bun" (sv to en, translate.google.com)
masak phenny: "cinama bulko"? 12:15
phenny masak: "cinama bulko" (id to en, translate.google.com)
masak phenny: eo en "cinama bulko"?
phenny masak: "cinama roll" (eo to en, translate.google.com)
masak almost :)
tadzik phenny: "bułka cynamonowa"?
phenny tadzik: "cinnamon bun" (pl to en, translate.google.com)
masak this. this is what I'm talking about! 12:16
arnsholt phenny: "kanelbolle"?
phenny arnsholt: "cinnamic Bolle" (sv to en, translate.google.com)
arnsholt phenny: no en "kanelbolle"?
phenny arnsholt: "cinnamon bun" (no to en, translate.google.com)
arnsholt There we go =)
Automagically detecting the correct language is hard enough for Scandinavian languages, let alone when you have a single word to go on =D 12:17
masak just a single letter differs ;) 12:18
phenny: "肉桂小面包"?
phenny masak: "Cinnamon bun" (zh-CN to en, translate.google.com)
masak Mandarin wants a 小 there in the middle, but it's still the same old compound. no innovation whatsoever. 12:19
phenny: "肉桂面包"?
phenny masak: "Cinnamon bread" (zh-CN to en, translate.google.com)
masak ah. maybe a semantic clash with something preexisting.
arnsholt Hmm. Is there a simple way to get access to Test::diag without also importing is()?
(Yes, I'm doing somewhat dirty things in my testing) 12:20
masak maybe if you do require and import manually?
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"␤»
arnsholt Happens without the <diag> as well
And use Test <diag> isn't implemented yet
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␤»
arnsholt Herp?
Different failure from what happens on my machine
12:27 birdwindupbird left
jnthn ...how on earth did it get that error?! 12:30
arnsholt I have no idea =)
jnthn rakudo: require Test;
p6eval rakudo 4373f0: OUTPUT«===SORRY!===␤Twigil-Variable constants not yet implemented. Sorry. ␤at lib/Test.pm6:3␤»
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 bbkr left
jnthn hm, is require even implemented... 12:31
tadzik I think it is
arnsholt It works here, FWIW
(Day-old git checkout) 12:32
jnthn Oh.
and yes, it looks implemented
And works here
jnthn wonders why not on p6eval 12:33
arnsholt I've done some hacking on Zavolaj, BTW (ref. backlog as well)
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
Want me to send a pull request, or just a link to the repo? 12:38
12:39 bbkr joined
jnthn arnsholt: Want a commit bit? 12:41
12:42 erkan left
arnsholt Heh. That'll work too =) 12:42
jnthn arnsholt: Your github ID, sir?
arnsholt arnsholt
jnthn You haz one.
masak commit-bitten! :D 12:43
jnthn puts the Github fangs back in the cupboard
arnsholt Indeed. Embittened, even?
Cheers, anyways. I'll push my changes to a branch shortly for review 12:44
12:45 Timbus left, erkan joined, erkan left, erkan joined
arnsholt <3 git 12:46
Pushed to branch osx-fix 12:47
12:47 bbkr left 12:51 bbkr joined 13:01 PacoAir left 13:02 tokuhirom joined 13:05 xinming_ left 13:09 tarch joined
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:09
13:12 xinming joined
jnthn That's a silly warning. 13:14
arnsholt Doesn't sound like something to worry about 13:16
bbkr yep, but looks ugly when building
jnthn OK, then we find out how to turn off the warning. 13:17
jnthn suspects we inherit it from Parrot land
bbkr yes, tons of those appears also when building parrot
jnthn heh
bbkr reported
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.
jnthn Yeah, I'm fine with many of them. But this one...come on, && vs || precedence!
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.
jnthn benabik: Yes, it's right at that level.
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 ||
benabik: perhaps. But being explicit can't hurt too bad, can it? 13:21
cognominal_ which one binds more?
tadzik "When in doubt, write in lisp"
jnthn :P
PerlJam heh
cognominal_ tadzik++
benabik cognominal_: In logic && is written * and || written +. That makes it easy to remember for me. :-) 13:22
tadzik ha, makes sense
PerlJam benabik: indeed, that's how I first learned how to do "logic" on an old BASIC interpreter
(there was no && or ||, so I had to use * and + ) 13:23
tadzik eek
cognominal_ benabik++ # nice mnemonic
tadzik that's a nice obfuscation though
Golfers probably use that a lot
r: say so True * False
p6eval rakudo 4373f0: OUTPUT«False␤»
jnthn afk for a bit 13:27
cognominal_ r: so "False" # :) 13:29
p6eval rakudo 4373f0: ( no output )
cognominal_ r: say so "False" # :)
p6eval rakudo 4373f0: OUTPUT«True␤»
bbkr all warnings on OS X XCode 4.3.2 groupped and reported 13:30
masak hah, nick clark (in an RT ticket followup email) reinvents my argument about "errors as early as possible" from yeasterday! :D 13:34
yesterday*
I know sequences are lazy, and the failure needn't ever trigger, but...
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
13:36 skids joined
PerlJam masak: when you say "constants" do you also mean "things that collapse into constants" (via normal constant-folding) ? 13:38
bbkr arnsholt: bbkr.org/~bbkr/zavolaj_d.log - newest XCode 4.3.2 from AppStore, new kind of warnings emerged
arnsholt: from your fork, HEAD 13:39
bbkr is back to $dayjob 13:40
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
13:43 Timbus joined 13:44 brrt joined 13:45 birdwindupbird joined
moritz stevieb-tech.blogspot.de/2012/04/us...-with.html 13:48
stevieb++ 13:49
13:51 preflex left
tadzik indeed, stevieb++ 13:51
we need more positive appearance in random places
13:52 sporous left, preflex joined 13:57 agentzh left 13:58 preflex left
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
13:58 am0c joined
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: planetsix.perl.org/
dima i know that one 13:59
"nothing" in the sense of "more places, diverse places" ;)
you know, like mainstream and stuff
gfldex it will get there 14:00
tadzik oh, I was thinking about that recently
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
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
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:02
gfldex python got better propaganda 14:03
tadzik Perl projects seem not to get attention outside the Perl community
dima ruby god better hipster webdevs ;)
tadzik that's why it's considered dead/unused
dima though, thats mainly rails fault - i enjopy ruby :)
-p
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 python.org/
tadzik yeah, their propaganda is hell successful
gfldex ppl believe stuff they want to believe
tadzik it doesn't matter. Things like this build a bridge between "python" and "good" brain cells 14:04
and they do it many times a day, in every medium around
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
tadzik that does have effects
dima i think that pythons success might also be partially rooted in the scientific community - scipy and numpy seem to be very useful 14:05
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.
dima of course all of this is possible in $younameit, but still
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
moritz people want a good compiler and good tools. They don't care much which techology it's based on
gfldex as a result they where able to support stuff with little work on the python side 14:08
tadzik not always
dima moritz: also frameworks and much example code ;)
cognominal_ because, the node crowd has pivoted from ruby, is ready to pivot to a language more friendly than javascript.
moritz dima: right. And books.
gfldex and the documentation of python is better then perl's
by a mile
tadzik I've seen not one and not two guys here saying "Mono? .NET? Eww"
oh, I disagree completely (documentation) 14:09
cognominal_ with v8, we will end up getting a backend for free.
14:09 sporous joined
moritz cognominal_: mono and JVM would also be backends "for free" 14:09
dima just yesterday, i asked myself why nobody considered jvm for perl6 14:10
cognominal_ moritz, yes, but manpower is behind javascript engine today.
*engines
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)
moritz and javascript simply isn't a good assembler
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?
cognominal_ So I suspect that v8 is already better than any java virtual machine.
moritz dima: either JVM has recently gained support for closures, or they compile it to anonymous classes 14:13
cognominal_ dima: they went from self, to hotspot, to v8. They have 20 years of experience in vm. 14:14
14:15 jaldhar left, _jaldhar joined, JimmyZ joined, JimmyZ left
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:15
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.
dima s/size/cize
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 : wingolog.org/tags/v8
dima I didnt expect less from reality - but shipping is still king ;) 14:19
cognominal_: thanks, will check it out
cognominal_ there is good comments in v8 code but I needed this blog to get a bird eye view.
14:20 fsergot joined
fsergot hi #perl6 o/ 14:20
14:20 _jaldhar left
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
ETOOMANYKINGS
dima sounds like a "pick any two" situation 14:22
i'd pick performance and shipping, assuming that features are already cool enough ;)
moritz p6: say <features performance shipping>.pick: 2
p6eval rakudo 4373f0: OUTPUT«shipping performance␤»
..niecza v15-6-gefda208: OUTPUT«performance features␤»
..pugs: OUTPUT«performancefeatures␤»
fglock SBCL is a great backend for performance, but it is not "main stream" 14:23
dima moritz: p6eval underestimates his features ;)
jnthn back 14:24
cognominal_ SBCL?
moritz some Common Lisp thingy 14:25
fglock yes, it's a lisp
perlito6 in sbcl was faster than any other backends 14:26
jnthn ===SORRY!===
This appears to be Perl 5 code
I wonder if we can be more helpful and say what the Perl 6 code shoulda been... 14:27
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
cognominal_ url?
jnthn cognominal_: stevieb-tech.blogspot.de/2012/04/us...-with.html - same one moritz++ linked a while ago, but I was away and only just read it :) 14:30
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
Ooh, one of the tests segfaults... 14:33
Though that's not arnsholt++'s fault of course...but it may well be the same thing we have with DBI. 14:34
Oh, and it only does it if you don't pre-compile the NativeCall.pm6. So it's almost certainly memory corruption related... 14:35
Dang. It doesn't segfault under the debugger. :( 14:38
ah, does if I add a while 1 { ... } around the test script... 14:40
moritz all tests pass here (64bit linux)
I still need to set LD_LIBRARY_PATH though
14:45 tarch left 14:47 snearch joined 14:59 brrt left 15:04 thou joined 15:09 estrai joined
dalek p: e49a91d | jnthn++ | src/ (2 files):
Fix some arg_type allocation errors. Fixes a sometimes-segfaulty test; may help with the DBI crashes too.
15:09
jnthn arnsholt: Merged your branch - thanks! 15:10
tadzik is anyone considering YAPC::Russia?
jnthn tadzik: Yes.
tadzik: I assume you mean the Ukraine one in May?
tadzik ywis
jnthn tadzik: I didn't decide for sure yet.
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?
tadzik estrai: at which stage do you get this error? Can you paste the log somewhere 15:11
?
jnthn tadzik: Are you thinking of going? 15:12
moritz: There's a decent chance e49a91d makes things better with DBI 15:13
tadzik jnthn: possibly
it's close, and it looks interestign 15:14
jnthn moritz: If you have chance to try, would be interesting to know the outcome.
estrai tadzik: pastebin.com/MZfnwPrS
jnthn tadzik: I'm pretty sure I have direct CPH -> Kiev flights.
tadzik: Kiev is nice... :)
moritz estrai: where does the "Failed to load libpcre" occur?
tadzik estrai: I think you need to pass --without-pcre to --parrot-option or something like that
jnthn tadzik: Lots of nice things to look at...and cheap beer :)
tadzik :)
moritz jnthn: will try
jnthn --parrot-option=--without-pcre 15:15
moritz: It's during the Parrot build.
tadzik right
jnthn You don't actaully need PCRE for Rakudo. 15:16
15:16 da2ce7 left
moritz I wonder if we should pass such options to parrot by default 15:16
also --without-gmp
estrai I'm building both I assume in one step
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
jnthn moritz: That could work out. 15:18
estrai thanks everyone it looks like it works now 15:20
btw, is anyone working on cucumber (BDD tool - cukes.info) port for perl 6? 15:22
moritz I'm not aware of any 15:23
bbkr estrai - are you from Poland? 15:24
estrai yes, I am, why? :)
bbkr have you worked in Implix?
estrai hehe, 5 years ago 15:25
looking at my code now? sorry! :)
bbkr nice to meet you, I'm developing GetResponse now
estrai this world is too small :) 15:26
bbkr nice to see you on P6 scene
15:28 snearch left 15:34 fglock left
moritz jnthn: now the segfault is gone (at least if I delete the .pir files) 15:34
and I get
Cannot look up attributes in a type object in method errstr at lib/MiniDBI.pm6:32
which means the connection failed
which is odd, because it worked under valgrind, iirc 15:35
15:36 thou left
bbkr jnthn: I've closed github.com/jnthn/zavolaj/issues/6 - fixed by arnsholt today 15:38
moritz ah, the 'try' before the connect hides the real error 15:40
jnthn: how far does the mysql test from minidbi get on your machine? 15:41
15:44 estrabd joined
moritz \o/ now I got up to test 42 15:47
15:47 Psyche^ joined 15:48 fsergot left, estrabd left 15:49 estrabd joined
jnthn moritz: I forget how far it got. 15:51
moritz: ooh, sounds like you're getting good progress though \o/
bbkr: yay, tahnks :)
*thanks
15:51 Patterner left, Psyche^ is now known as Patterner
jnthn moritz: Hopefully that unblocks db hacking at the hackathon then :) 15:52
15:52 erkan left
moritz jnthn: some small things to tweak, seems I'm getting all through to the end 15:52
jnthn \o/
moritz jnthn: would be even better if it worked with precompiled modules too :-) -- but it's a huge step foward like this already
jnthn++
jnthn moritz: What bit doesn't work? 15:53
I thought I fixed the pre-compilation bug with nativecall using modules the other day... 15:54
15:54 estrabd left
moritz jnthn: all sorts of precompiled modules segfault or produce weird errors, even those without nativecall 15:54
jnthn Ugh. 15:55
OK
moritz jnthn: for example HTTP::Status produced an error "no method 'elements' for object of class 'signature'" or so
and the backtrace pointed to an exported sub that doesn't do anything special with signatures 15:56
arnsholt jnthn: Cool!
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
moritz jnthn: right. And it does that only when it's use'd from somwhere else
jnthn: URI.pm has/had similar problems
jnthn moritz: I can reproduce by pre-compiling and using it? 15:58
15:58 estrabd joined 15:59 xinming left
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
moritz jnthn: let me see if I can find a safe way to reproduce it 16:00
jnthn Thanks...trying here too but didn't yet. 16:01
16:02 erkan joined, erkan left, erkan joined
moritz so 16:03
cd perl6-http-status && ufo make install; cd ..
erm, ufo && make install
cd perl6-http-easy && ufo && make install 16:04
cd ..
cd Bailador && ufo && make install
cd examples
perl6 app.pl
elements() not implemented in class 'Signature' in sub get at lib/Bailador.pm:35 in block <anon> at app.pl:4
lib/Bailador.pm:35 is sub get(Pair $x) is export { 16:05
16:05 PacoAir joined
jnthn Looks busted. 16:06
Will investigate, thanks.
arnsholt jnthn: To make Zavolaj's structs and arrays more capable, how much work do you estimate is needed? 16:10
Also, mostly in Zavolaj itself, or more dyncall support in NQP as well?
16:10 imadper joined
imadper Hi guys. Is it a good time that move to Perl6 from Perl5? 16:11
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
but it's quite fun to use
brrt i guess you could write production stuff in perl6
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?
moritz jnthn: ah, I've submitted a pull request
colomon o/
jnthn arnsholt: Not crazily much; the work is mostly needed in the NQP repo.
moritz jnthn: but you can just change s:g/\./!/ in that line on the RHS
brrt but only if you are willing to do a lot of groundwork yourself, i guess :-)
dalek ecs: 7df60db | larry++ | S03-operators.pod:
refine concepts of ?range and +range
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
moritz arnsholt: anything in particular you want to do? 16:15
jnthn moritz: Yeah, now it starts up...
arnsholt: I also take requests for particular things needed to unblock using things people particularly want.
16:16 preflex joined
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
colomon sweet, good start, then.
TimToady I'm sure there are some missing things, given the new stuff
jnthn moritz: Though, localhost:8080/ doesn't give me anything...
moritz colomon: there's also an implementation in rakudo's src/core/Range.pm 16:17
jnthn: should be :3000 iirc
16:17 tokuhirom left
jnthn oh, yeah, just found it... 16:17
moritz anyway, if it starts up, you haven't reproduced the precompilation problem :( 16:18
16:18 tokuhirom joined
jnthn gets "hello world" 16:18
TimToady btw, moritz++ for figuring out that we could use ?range to evaluate whether it's empty
jnthn moritz: oh, I didn't pre-compile anything other than HTTP::Status yet
moritz: Gonna pre-compile module by module to find where it buts.
*busts
16:19 birdwindupbird left
jnthn moritz: Just wanted to make it work at all first so I know it actually does run on Windows :) 16:19
moritz jnthn: :-)
jnthn moritz: Very happy that Bailador did indeed just work on Windows first time :)
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
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:22 tokuhirom left
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:23
16:25 imadper left
jnthn moritz: Aye 16:26
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:27
oh...I think this is where an NYI bites... 16:28
Hm.
16:30 dukeleto joined, godfrey999 joined
jnthn moritz: OK, think I understand the issue. Not a 5-min fix, though. 16:32
16:32 tarch left
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:38
16:38 wolfman2000 left
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.
arnsholt: Hmm, I think it returns a pointer into the static data rather than actually allocating anything. 16:40
16:40 thou joined
arnsholt Ah, right. As long as it's not on the stack 16:40
16:40 bbkr left
jnthn Right. 16:42
16:42 leprevost left 16:44 thelazydeveloper joined 16:45 NamelessTee joined, fglock joined 16:48 fhelmberger left
fglock o/ perl6 16:48
tadzik hi fglock 16:49
fglock I was wondering if it still makes sense to "announce" versions; usually whatever is in the repos just work 16:51
16:52 pernatiy left 16:53 pylaurent joined, pylaurent left 16:54 leprevost joined 16:59 jferrero left 17:00 jferrero joined
moritz fglock: well, releases are a good way to reach a wider audience 17:06
fglock: and release announcement make good summaries about the development activity 17:07
dalek kudo/nom: 790ca39 | jnthn++ | src/Perl6/World.pm:
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
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
PerlJam (good that the star release was held off too :)
tadzik woot 17:15
jnthn: does that also fix segfaults and other fun?
PerlJam fglock: think of the releases as the heartbeat by which the project health is measured. They're good for us and our users.
jnthn tadzik: It *may* fix segfaults. It doesn't fix the actual issue I'm fixing with HTTP::Easy::PSGI. 17:16
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
Anyway, the problem for HTTP::Easy::PSGI is that it ain't getting hit somewhere it needs to, afaict.
tadzik okay 17:20
Ulti_ PerlJam nice nick
17:20 Ulti_ is now known as Ulti
tadzik heh, Ulti and Util on one channel 17:21
Ulti yeah I know, sorry
tadzik heh, no problem with that :)
17:21 tadzik is now known as Levenshtein
Levenshtein you must be really close to each other 17:21
17:21 Levenshtein is now known as tadzik
moritz :-) 17:21
tadzik bah-dum-tss! 17:22
Ulti so close we like the same ham
17:22 spider-mario joined
Ulti *hamming distance joke* 17:23
"joke"
tadzik oh, I didn't get that one
<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 17:27 xinming joined
fglock tadzik: maybe you could try perlito5.js 17:28
tadzik fglock: possibly. I'll need v8 for that, right?
I'll need to port and package that, probably :/
fglock yes, node.js is better because it implements i/o 17:29
17:29 hundskatt left 17:34 alpha joined
alpha hdy 17:34
hey
17:34 alpha is now known as Guest48107
tadzik hello there 17:35
Guest48107 i would like to contribute to perl 6 coding
where can i start
tadzik welcome! take a look at perl6.org/documentation/ 17:36
Guest48107 thanks.. i will have a look 17:37
17:38 Guest48107 left
tadzik have fun 17:38
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
fglock perlito6 might work in 5.8.3 as well 17:42
tadzik oh, nice
17:43 pat_js joined
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 ?
tadzik cool 17:56
fglock benabik: v6.pm is a perl5 module - it allows 'use v6-perlito; #some perl6 code here' 17:57
it compiles perl6 into perl5 and runs it
(simple perl6)
or alternately, compile p6 to p5 ahead-of-time and run as plain p5 17:58
benabik That sounds kinda awesome. 17:59
fglock search.cpan.org/dist/v6/lib/v6.pm - tests here: cpansearch.perl.org/src/FGLOCK/v6-0.045/t/ 18:01
spider-mario do they all pass? 18:02
fglock yes, it's published :)
spider-mario great :)
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:03
the source code in in github; cpan has it compiled to perl5 18:04
18:11 VXZ joined 18:19 s1n left
moritz jnthn: now I get a new error in Bailador when running the example with precompiled modules: 18:26
===SORRY!=== 18:27
Type check failed in assignment to '$current-request'; expected 'Mu' but got 'Perl6::Metamodel::StaticLexPad'
goes away when deleting all .pir files in ~/.perl6/lib 18:28
jnthn moritz: Yes, the above only fixed one of the issues, not all of them. 18:29
18:29 fsergot joined
jnthn moritz: In fact, it wasn't even the thing I went looking for... 18:29
moritz jnthn: ok 18:31
all mysql pass now in MiniDBI
tadzik moritz: can you reproduce this with GC turned off? 18:32
jnthn ooh, good question...
hm, I need to eat
jnthn bbiab 18:33
moritz too
tadzik: will try after supper
tadzik okay
moritz the pg backend needs more work
not sure if it ever worked
18:34 benabik left
moritz tadzik: how do I switch off the GC? 18:35
18:36 s1n joined
jnthn moritz: parrot -G perl6.pbc ... 18:36
moritz ah right
18:37 brrt left
moritz same error 18:37
18:37 plobsing left
tadzik oh, interesting 18:39
jnthn moritz: What order are the modules being compiled in?
Is everything down the chain being pre-compiled? 18:40
18:40 fgomez joined
jnthn built HTTP::Status, then HTTP::Easy, then HTTP::Easy::PSGI and fails there 18:41
As in, as soon as something uses that.
18:50 am0c left 18:52 fsergot left 18:53 birdwindupbird joined 18:54 fgomez left, alester left
moritz jnthn: status -> easy -> bailador 19:04
jnthn: I just run 'make install' in each project dir
19:10 fsergot joined
moritz Pg now gets through all the tests, though it fails about half of them 19:23
19:23 fsergot left, Trashlord left
moritz I'll stop now, and leave something to do for the hackathon :-) 19:24
cd
ww
19:24 Araq joined, Trashlord joined 19:25 Trashlord left 19:27 Trashlord joined
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?
moritz modernperlbooks.com/mt/index.html 19:32
tadzik www.modernperlbooks.com/mt/2012/04/...-word.html tbe 19:33
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:34
jnthn moritz: Nice work on Pg. :-) 19:58
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.
moritz jnthn: cool
jnthn Very happy database access is further forward :) 20:00
20:01 icwiener joined
moritz now I'm starting on a blog post about what the Oslo hackers can do to be prepared for the hackathon 20:01
jnthn nice 20:03
20:04 icwiener left 20:05 kaare_ left
masak evening, #perl6 20:09
moritz \o masak
20:09 wolfman2000 joined
colomon o/ 20:10
jnthn o/ masak
dalek Heuristic branch merge: pushed 20 commits to nqp/qbootstrap by jnthn
20:18 am0c joined, bacek left 20:19 nif joined, icwiener joined 20:21 shachaf left 20:22 shachaf joined
moritz github.com/moritz/perlgeek.de/blob...ations.txt draft for a blog post 20:25
will publish some time during the weekend; feedback welcome! 20:26
20:26 NamelessTee left
moritz p6: say 0x10c 20:27
p6eval pugs, rakudo 4373f0, niecza v15-6-gefda208: OUTPUT«268␤»
20:29 retup_work left
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
20:35 tokuhirom joined, nif left
jnthn "If at point you run into problems" => If at *any* point... 20:36
20:37 fglock left
jnthn moritz++ # looks good otherwise 20:37
moritz jnthn: thanks, I'll fix the wording
20:48 icwiener left 20:49 icwiener joined, birdwindupbird left 20:55 icwiener left 21:10 lichtkind joined 21:12 nif joined 21:14 nif left, nif joined 21:15 nif left, nif_ joined, lichtkind left 21:16 y3llow left, bruges_ left 21:17 nif_ left, nif__ joined, y3llow joined 21:18 bruges joined, nif__ left
dalek p/qbootstrap: 62d7bf3 | jnthn++ | src/NQPQ/World.pm:
Sync NQPQ's World with BS changes.
21:19
p/qbootstrap: f15decd | jnthn++ | src/NQPQ/Actions.pm:
Update NQPQ's Actions.pm with BS-related changes.
p/qbootstrap: 4489e47 | jnthn++ | src/NQPQ/Grammar.pm:
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 y3llow left 21:20 y3llow joined 21:22 y3llow left 21:23 y3llow joined, icwiener joined
dalek p/qbootstrap: bb5f766 | jnthn++ | src/QHLL/World.pm:
Update QHLL's World with latest changes. Gets things a little further towards working again.
21:24
21:33 wolfman2000 left
dalek p/qbootstrap: cdf955e | jnthn++ | src/core/NQPRoutine.pm:
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
21:34 skids left 21:40 hundskatt joined 21:41 pat_js left, icwiener left 21:42 mj41 joined 21:53 icwiener joined 21:57 godfrey999 left, whiteknight joined, sftp left 21:59 sorear is now known as sorear_, sorear_ is now known as sorear__, sorear__ is now known as sorear, sftp joined
cognominal_ is happy to see jonathan cruising thru qnqp code. 22:02
22:06 japhb_ joined 22:07 godfrey999 joined
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.
japhb_ Hmmm 22:09
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.
japhb_ I had once known that, but had forgotten. Thanks for the reminder. : -)
Apparently I have a long face today
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?
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.
cognominal_: Those that exist are part of the VM glue layer.
japhb_: Some of that C code may also end up being re-written in NQP. 22:13
22:13 thou left
jnthn japhb_: I suspect Rakudo is gonna have it's "vm specific" pieces too. 22:13
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
jnthn japhb_: The multi-dispatcher is a hybrid case.
japhb_ Especially because it is so damned performance-critical
jnthn japhb_: There's little reason for the candidate sorting to be in C.
It's not performance critical.
japhb_ The binder?
jnthn No, the candiate sorting.
The binder is. :)
22:14 kborer left
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.)
In fact, now we have BS, we should really do it at compile time and serialize the result of the sort.
japhb_ :-) 22:16
cognominal_ jntn, in qbootstrap, matching an optional expression still returns an array, or has it be fixed?
jnthn cognominal_: It's using qregex, so it'll have whatever semantics Rakudo currently has. 22:17
cognominal_ ok
jnthn cognominal_: I'd rather not do not-required fixes in an already involved branch.
cognominal_ I got nqp
ICU not loaded
current instr.: '' pc 2495 (src/stage2/gen/NQPP6Regex.pir:866) (src/stage2/gen/NQPP6Regex.pm:0)
japhb_ jnthn, how long did it take you (approximately, of course) to port NQP to CLR?
cognominal_ when trying to lanch nqp on my mac with you qbootstrap branch
sorear jnthn++ ported NQP to CLR about five times
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.
sorear it was one of those things where you start, then realize it won't work and start ov er
japhb_ ah
jnthn Well, yeah, 6model went through a few throwaways :)
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
japhb_ nods sagely
"Perl 5 translator"?
sorear retargetting is always much easier then designing it in the first place
japhb_: the compiler proper, not the runtime which has always been C#
japhb_ Ah 22:20
jnthn japhb_: Anyway, qbootstrap will kill off one of our two remaining big PIR dependencies.
japhb_: And yesterday at masak++'s place I created a branch and started tentatively fiddling with the work to kill of the other one.
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.)
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.
jnthn japhb_: Currently, we have two regex engines.
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
jnthn The old one, which we currently use to parse Perl 6 source. This is bootstrapped.
And the new one, which does LTM properlier, isn't written in PIR, and we use for regexes and grammars inside of Rakudo.
qbootstrap is replacing the rest of the uses of the old PIR-based engine with the new one. 22:23
Which involves getting it building itself, amongst other things.
japhb_ Ah, gotcha. That jibes with my existing mental model.
jnthn I've mostly got it to the point where it's in "fix failing tests" mode 22:24
japhb_ Excellent.
jnthn I think many of the fails boil down to two underlying issues.
If we're REALLY lucky, all of them boil down to the two.
japhb_ :-) 22:25
jnthn But that's probably a tad too optimistic. :)
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
cognominal_ hum, now I get 'no ICU lib loaded' from code typed at the prompt.
jnthn cognominal_: Where exactly?
cognominal_: Which prompt, which branch, etc? :) 22:27
cognominal_ jnthn, your qbootstrap branch 22:28
jnthn cognominal_: What code are you trying to run?
cognominal_ in the nqp prompt, when trying a grammar
grammar A { token TOP { <a>? $<b>='b' }; token a { a } }); A.parse('ab'); say($/<b>.keys); 22:29
22:29 fsergot joined
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... :)
Also the grammar test is one of the ones failing in qbootstrap, iirc. 22:30
yeah, and it fails with the error you mentioned.
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.
cognominal_ I guess you have done the hard work bootstrapping it. jnthn++ 22:33
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:34
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
good night
jnthn night o/
spider-mario hm, perl6.org/compilers/features incorrectly states that rakudo implements &run 22:41
good night, cognominal_
22:41 sftp left
fsergot good night \o 22:41
22:42 fsergot left 22:44 sftp joined 22:50 wolfman2000 joined 23:03 spider-mario left 23:08 thou joined, snarkyboojum left
jnthn -> sleep 23:38
23:38 fgomez joined
japhb_ o/ jnthn 23:39
What is the feature level of perlito? Could it handle a substantial portion of the spec tests of, say, Pugs? 23:43
sorear good question. it's annoying that fglock is such a hermit. 23:44
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?
sorear afaik yes. 23:48
23:52 fgomez left 23:56 fgomez joined