»ö« 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.
dalek p/ctmo: b33dc05 | moritz++ | / (3 files):
first shot at removing P6Regex.pir. Diws with "Can only use get_how on a RakudoObject"
00:03
p/ctmo: aa87ead | jonathan++ | src/Regex/P6Regex/Grammar.pm:
Need to still use the HLL library; was missed when removing the P6Regex PIR file.
p/ctmo: 1eb4e1b | jonathan++ | build/Makefile.in:
Another round of Makefile changes to work towards getting things working again after removing P6Regex.pir.
p/ctmo: 9ace6d6 | jonathan++ | src/Regex/P6Regex/ (2 files):
Need to use block form of packages when there's multiple in a file.
p/ctmo: d014f94 | jonathan++ | src/Regex/P6Regex/Compiler.pm:
Work around a MAIN bug.
p/ctmo: 4460cea | jonathan++ | src/Regex/P6Regex/Compiler.pm:
Move regex compiler init to the right place; now all tests pass that pass in the ctmo branch.
p/ctmo: 9cdb417 | jonathan++ | src/NQP/Actions.pm:
Fix MAIN bug.
p/ctmo: e3036b0 | jonathan++ | src/stage0/ (6 files):
Update bootstrap with MAIN fix and P6Regex.pir gone.
p/ctmo: 749d34c | jonathan++ | src/Regex/P6Regex/Compiler.pm:
Toss workaround for MAIN bug.
jnthn phenny: tell moritz_ finished ctmo-no-p6regex.pir branch and merged it - thanks for getting it going :) 00:04
phenny jnthn: I'll pass that on when moritz_ is around.
jnthn rakudo: say "\u0f3a\u0f3b" 00:08
p6eval rakudo 592e29: OUTPUT«===SORRY!===␤Unrecognized backslash sequence: '\u' at line 22, near "0f3a\\u0f3b"␤»
jnthn std: say "\u0f3a\u0f3b"
p6eval std 4608239: OUTPUT«===SORRY!===␤Unrecognized backslash sequence: '\u' at /tmp/31v7WrURIt line 1:␤------> say "\u⏏0f3a\u0f3b"␤Unrecognized backslash sequence: '\u' at /tmp/31v7WrURIt line 1:␤------> say "\u0f3a\u⏏0f3b"␤Check failed␤FAILED
..00:01 1…
jnthn std: say "\x0f3a\x0f3b" 00:10
p6eval std 4608239: OUTPUT«ok 00:01 119m␤»
jnthn nqp: say("\x0f3a\x0f3b")
p6eval nqp: OUTPUT«༺༻␤»
jnthn sleep & 00:14
Util If I run `./perl6 --target=parse test_use.p6`, and test_use.p6 contains 'use foo;', then I get the parse that I expect. 01:44
There is no module "foo", but we do not have to care while parsing the `use` line itself.
If test_use.p6 contains 'use foo ("bar");', then Rakudo says ===SORRY!=== Confused at line 1, near "use foo (\"" 01:45
Why can't it handle an import list at parse-time?
sorear Because it can't handle an import list? 01:57
Util sorear: thanks; I will poke around in the code to find where it is not implemented :) 02:04
dalek ecza: 1954503 | sorear++ | / (6 files):
Switch to a more composable model of method types
04:35
dalek ecza: a074df5 | sorear++ | / (5 files):
Pass $*MULTINESS to nam for regexes
05:09
TimToady rakudo: module Foo; sub MAIN { say "I work right" } 05:11
p6eval rakudo 592e29: ( no output )
TimToady rakudo: module Foo {}; sub MAIN { say "this is okay" } 05:18
p6eval rakudo 592e29: OUTPUT«this is okay␤»
TimToady but then you can't use the module
sorear class A { proto method foo($) {*} }; class B is A { method foo(1) { ... }; method foo(2) { ... } } # Allowed? 05:34
TimToady it seems a bit harder to recognize those as multis than when there's a proto in the outer lexical scope 05:37
otoh we do that currently with tokens and such 05:38
so maybe the right thing is just to assume such methods are multis and catch the error later if not
sorear token foo:sym<+> already sort of implies multi
since it has a specified longname 05:39
TimToady ja
even if we assume all conflicting methods are mutlis, we'll at worst just get an ambiguous dispatch later, I guess 05:41
TimToady but perhaps a warning can be issued if we don't see a proto in the parentage 05:45
sorear out 05:47
moritz_ \o 08:40
phenny moritz_: 00:04Z <jnthn> tell moritz_ finished ctmo-no-p6regex.pir branch and merged it - thanks for getting it going :)
tadzik o/ 08:48
donri \o/ 08:51
moritz_ Util: fwiw it's a bug that rakudo doesn't load modules at parse time
dalek ast: e30ac19 | moritz++ | S12-class/attributes.t:
unfudge test for RT #81718
08:54
moritz_ /w 17 08:55
dalek kudo: 1fd1704 | moritz++ | build/PARROT_REVISION:
bump PARROT_REVISION to 3.2.0
09:11
moritz_ rakudo: say Perl6::Grammar.parse('<a b>', :rule<arglist>) 09:12
p6eval rakudo 592e29: OUTPUT«<a b>␤»
moritz_ rakudo: say Perl6::Grammar.parse('1+2', :rule<arglist>)
p6eval rakudo 592e29: OUTPUT«1+2␤»
moritz_ rakudo: say Perl6::Grammar.parse('1+2', :rule<arglist>).pretty 09:16
p6eval rakudo 592e29: OUTPUT«Method 'pretty' not found for invocant of class 'Regex;Match'␤ in main program body at line 22:/tmp/aWFlevFPNM␤»
moritz_ rakudo: say %(Perl6::Grammar.parse('1+2', :rule<arglist>).).keys
p6eval rakudo 592e29: OUTPUT«===SORRY!===␤Unable to parse circumfix:sym<sigil>, couldn't find final ')' at line 22␤»
moritz_ rakudo: say %(Perl6::Grammar.parse('1+2', :rule<arglist>)).keys
p6eval rakudo 592e29: OUTPUT«Method 'keys' not found for invocant of class 'Hash'␤ in main program body at line 22:/tmp/c2wgX4eHZK␤»
moritz_ rakudo: .say for %(Perl6::Grammar.parse('1+2', :rule<arglist>))
p6eval rakudo 592e29: OUTPUT«Method 'say' not found for invocant of class 'Hash'␤ in <anon> at line 22:/tmp/eSuRDTatbX␤ in main program body at line 1␤» 09:17
moritz_ doesn't understand why 'use Test <plan ok>;' won't parse 09:20
moritz_ rakudo: use Test <plan ok> 09:26
p6eval rakudo 592e29: OUTPUT«===SORRY!===␤Confused at line 22, near "use Test <"␤»
moritz_ rakudo: use Test <plan ok>;
p6eval rakudo 592e29: OUTPUT«===SORRY!===␤Confused at line 22, near "use Test <"␤»
moritz_ use Foo <bar baz>; 09:27
rakudo: use Foo <bar baz>;
p6eval rakudo 592e29: OUTPUT«===SORRY!===␤Unable to find module 'Foo' in the @*INC directories.␤(@*INC contains:␤ lib␤ /home/p6eval/.perl6/lib␤ /home/p6eval//p2/lib/parrot/3.1.0-devel/languages/perl6/lib␤ .)␤»
moritz_ utterly confused 09:28
jdhore is anyone working on the ROADMAP and changelog for Rakudo 2011.03?
moritz_ jdhore: I'lld udpate the changelog 09:32
jdhore cool, thanks boss
moritz_ dammit, pushed to the wrong branch 09:33
dalek kudo: 4290515 | moritz++ | docs/ChangeLog:
[docs] update ChangeLog for 2011.03 release
09:37
TiMBuS so if i want to add a single method to an object, should i make it a role and 'but' compose it, use monkey typing, abuse the metamodel, or make a class with the new method and inherit? 09:39
timtowtdi, bwitbwtdi 09:40
moritz_ TiMBuS: do you want to add it to just one object, or to all objects in its class?
TiMBuS now that just makes it more confusing D: 09:43
well, i guess just to one object
moritz_ then use 'but'
rakudo: my $x = 5 but role { method factorial() { [*] 1..self } }; say $x.factorial; say 5.factorial 09:44
p6eval rakudo 592e29: OUTPUT«120␤Method 'factorial' not found for invocant of class 'Int'␤ in main program body at line 22:/tmp/uSzdqKmsFx␤»
jdhore Oh, I also think there's still one Rakudo test failing
moritz_ TiMBuS: see above - only $x has method factorial
jdhore: which one? 09:45
jdhore moritz_, t/spec/S09-autovivification/autovivification.rakudo
smolder.parrot.org/app/projects/rep...ails/12306 09:46
dalek ast: a632eba | moritz++ | S12-class/attributes.t:
Revert "unfudge test for RT #81718"

This reverts commit e30ac19f5f661973dfd59081be82c956053c2c27.
moritz_ TiMBuS: but such techniques should only be used sparingly; relying heavily on them is usually a sign of bad design
TiMBuS thats why i cant decide D: 09:48
moritz_ TiMBuS: btw I'm trying your IO::Socket::INET patch now
TiMBuS oh cool
ive tested it with my IRC bot and all seems well 09:49
moritz_ I want to test it with LWP::Simple
if it works, I'll commit
TiMBuS well, it might not work out of the box. i based it on perl5's ::INET 09:50
the current one didnt really make much sense
moritz_ maybe I should wait until after the release 09:52
so that module authors have time to update to the new thing
jdhore I personally would, considering we're so close.... 09:53
moritz_ well, jdhore is the boss for this release
TiMBuS although i agree you should wait
i cant see it breaking too many things.. the current implementation doesnt actually connect..
jnthn morning, #perl6
moritz_ morning jdhore
erm, jnthn
jdhore heh
moritz_ tab fails
jdhore hasn't been to sleep yet 09:54
TiMBuS moritz_, i should ask if the current INET implementation actually works for you 09:55
jnthn moritz_: Rakudo does load modules at parse time, afaik. I think otherwise it couldn't get the lexpad installations done for lexical import.
moritz_ rakudo: use Not::There; BEGIN { die "OH NOEZ" } 09:56
p6eval rakudo 592e29: OUTPUT«===SORRY!===␤Unable to find module 'Not::There' in the @*INC directories.␤(@*INC contains:␤ lib␤ /home/p6eval/.perl6/lib␤ /home/p6eval//p2/lib/parrot/3.1.0-devel/languages/perl6/lib␤ .)␤»
moritz_ hm
I thought that triggered the die()
good thing
TiMBuS: I have no idea, haven't tried it 09:57
TiMBuS oh
moritz_ I've heard reports of LWP::Simple being broken
but the tests passed, last I looked
TiMBuS well, to explain, on my machine parrot won't connect a socket unless you first call socket.socket, and INET doesn't do this 09:58
moritz_ doesn't like the names in the .new method
TiMBuS based off of perl5 09:59
id prefer just addr and port
moritz_ does 'addr' need to be a numeric IP?
if not, I'd even prefer 'host'
TiMBuS no its a host
moritz_ so any reasons to keep the ugly names, except p5 compatibility? 10:01
I'm not a networking export, but I'd guess you need the peer<thing>s much more often than the local<thing>s 10:02
so I'd suggest host, port, localhost, localport
TiMBuS that sounds very sane 10:04
i think p5's ::INET depreciated -host in favour of -addr though. i'd like to know why they preferred it that way before 10:07
before making that change* 10:08
moritz_ cpansearch.perl.org/src/GBARR/IO-1.25/ChangeLog might be worth looking at 10:10
moritz_ ok, LWP::Simple is easy enough to adapt to the new scheme 10:17
cosimo++ for putting all the networking code into a single routine 10:18
TiMBuS sadly, not much detail in that changelog moritz_. i decided to go with host anyway. I can only see merit in 'addr' in that it makes it clear you can use IP's but it should be pretty clear to near anyone that 'host' can be an IP anyway..
moritz_ TiMBuS: one more thing... I don't like the split on ':'. It will fail for IPv6 IPs 10:20
TiMBuS oh 10:21
of course
the split also needs to be in an in (already done)
in an if*
TiMBuS so how does ipv6 work with ports in the uri string 10:22
moritz_ [::1]:80 iirc 10:23
TiMBuS ho hum. guess ill try to regex out the ip and port if its ipv6 10:31
dalek kudo: e3bd9aa | moritz++ | / (2 files):
fix windows build, by JimmyZ++
10:40
flussence_ If you're going to do IPv6ey things, try to make it support network scope notation ([fe80::1%eth0]) too. I was trying to do something with that only yesterday then found out most browsers don't bother with it... 11:10
moritz_ guesses that's too much to ask for now 11:11
flussence_ fair enough, it's just one of those nice-to-have little things 11:12
flussence_ (if only everything supported mdns out of the box I wouldn't need to mess around with raw addresses at all...) 11:14
[Coke] ~~ 12:31
Util moritz_: thanks for your Perl6::Grammar.parse(...) experiments; they have pointed me down the right road. 13:31
BTW, I think it was the .dump_str method that you were looking for, although the bot truncates its output:
rakudo: say Perl6::Grammar.parse('<a b>', :rule<arglist>).dump_str;
p6eval rakudo e3bd9a: OUTPUT«: <<a b> @ 0> 0␤<EXPR>: <<a b> @ 0> 0␤<EXPR><circumfix>: <<a b> @ 0> 0␤<EXPR><circumfix><quote_EXPR>: <<a b> @ 0> 0␤<EXPR><circumfix><quote_EXPR><quote_delimited>: <<a b> @ 0> 0␤<EXPR><circumfix><quote_EXPR><quote_delimited><quote_atom>[0]: <a b @ 1> 13:31
..0␤<EXPR><circumfix><quote_EXPR>…
moritz_ Util: thanks 13:32
flussence_ rakudo: say ?("\x[2000]\x[2001]" ~~ /^(\s) $0* [\N | $]/) 15:55
p6eval rakudo e3bd9a: OUTPUT«Bool::True␤»
flussence_ I want that regex to return true only when the whitespace chars are all identical, what am I doing wrong?
moritz_ rakudo: say "\x[2001]" ~~ /\N/ 15:58
p6eval rakudo e3bd9a: OUTPUT«􏿽xE2􏿽x80􏿽x81􏿽xE2􏿽x90􏿽xA4»
moritz_ flussence_: that's the problem 15:59
flussence_ oh... obvious when I look at it that way :) 15:59
rakudo: say ?("\x[2000]\x[2001]" ~~ /^(\s) $0* [\S | $]/) 16:00
p6eval rakudo e3bd9a: OUTPUT«Bool::False␤»
flussence_ rakudo: say ?("\x[2000]\x[2000]" ~~ /^(\s) $0* [\S | $]/)
p6eval rakudo e3bd9a: OUTPUT«Bool::True␤»
flussence_ that looks like WIM
colomon 3 hours till #phasers? 16:09
moritz_ yes 16:14
colomon \o/
colomon has properly accounted for daylight savings time
moritz_ date --utc is your good friend
or -u on some platforms 16:15
dalek ast: 3777a9c | moritz++ | S09-autovivification/autovivification.t:
fudge a test for rakudo that dies with NPMCA
17:14
mj41_nb Failed to create server 'Permission denied' at /usr/local/share/perl5/Padre/Wx/Main.pm line 968. ... Wx::SocketServer->new ... running Padre (no root) on Fedora 14 17:28
sorry .. wrong channel
masak salut, zebras. 18:53
jnthn bon soir, masak 18:54
moritz_ \o
tadzik hola 19:10
colomon #phasers, btw 19:16
masak oh! 19:17
given yesternight's discussion about PRE and POST in methods, I would very much like it if someone wrote a *realistic* example of their use. preferably one that exercises as much of the logic in S04:1458 as possible, while still remaining realistic. 19:26
consider it a mini-challenge, if that helps. :) 19:27
colomon tadzik: bootstrap.sh doesn't seem to have installed panda in my path (as README implies it does?) 19:46
tadzik colomon: how does your ~/.perl6 look like? 19:47
colomon ah, it installed into ~/.perl6/bin 19:54
that's probably not in my path
you should probably add that to the readme. ;) 19:56
colomon on the other hand, what was in my path: ~/tools/pugs/src/perl6 19:58
sigh
PerlJam Util: The README says to look in /Applications/Rakudo_Star/docs/rakudo/README and there is no "docs" dir 20:01
Util: ITYM /Applications/Rakudo_Star/share/doc/rakudo/README 20:02
tadzik colomon: added and pushed
PerlJam er, sorry ... the HOW_TO_INSTALL.txt says that
colomon tadzik++
tadzik colomon++. How does it work for you?
There is a shiny REPL :)
colomon just trying to find a nice module to install 20:03
I noticed the REPL, but immediately left it.
tadzik use 'list' in the repl
it's nice, for in REPL you parse JSON only once
colomon panda install yapsi 20:04
Project yapsi not found in the ecosystem
:(
tadzik I think it's Yapsi :)
hmm, maybe it could use Text::Levenstein to detect such things :) 20:05
or at least .lc :)
colomon hmmm.... it's lowercase y on modules.perl6.org
but Yapsi is indeed working. 20:06
tadzik colomon: yeah, Panda uses the new ecosystem
so Yapsi, Math::Model, Acme::Meow etc
as on feather.perl6.nl:3000/
colomon: so it passes all tests on Mac OSX? 20:08
colomon errr... does bootstrap.sh run tests?
It did install Yapsi correctly, as far as I can tell. 20:09
tadzik++
tadzik yeah, it just uses sorta "panda install panda"
you should've seen "Testing Pies" somewhere
Util PerlJam: thanks! will-fix. And I did mean ...docs/rakudo/README; I intend my .dmg-builder to move some dirs around to locations the users might actually look at :)
tadzik but it won't work if there were failures, so that's ok for me :)
colomon tadzik: it may be an easier test than it used to be, after my great Macports disaster of a few weeks back I'm now running perl-5.12 as default, with corresponding reasonably-up-to-date version of prove. 20:10
tadzik cool 20:11
but previously there were no tests, so I doubt it's easier :)
Util jnthn: ctmo test results from Darwin 10.5: t/hll/02-modules.t ... Non-zero exit status: 1 ... Parse errors: Bad plan. You planned 4 tests but ran 1.
PerlJam Util: I don't see the various Perl 6 libs that come with R* ... am I just not looking in the right place or is that for a future experiment? :)
Util PerlJam: blitkost will be absent, but the others should be there. Looking... 20:12
PerlJam: Look under /Applications/Rakudo_Star/lib/parrot/3.0.0/languages/perl6/lib/ 20:13
PerlJam ah
bueno 20:14
Util++
Util jnthn: ctmo - more errors (I had not realized I needed `make -k`): 20:30
t/setting/01-resizablepmcarray.t Parse errors: Bad plan. You planned 10 tests but ran 4. 20:31
t/setting/02-hash.t Parse errors: No plan found in TAP output
t/p6regex/01-regex.t Failed tests: 1-55, 62-83, 85, 87, 89-96, 100, 105-108, 122-205, 208, 214, 218-404, 406-408, 410-415, 418, 420, 427, 429-449, 452-467, 469-480, 488-556, 570-579, 581-666, 668-700, 702, 704, 706-721, 724, 729-741
jnthn Util: ah, the setting tests probably make no sense any more... Thanks. 20:48
masak blog post! \o/ strangelyconsistent.org/blog/longes...a-new-hope 21:00
moritz_ \o/ indeed 21:04
tadzik jnthn: it just failed for me with --gen-parrot 21:06
nopaste.snit.ch/37777
jnthn Is --gc=gms the generational? 21:17
Heh, was two whole Parrot releases behind in the PARROT_REVISION. 21:19
moritz_ jnthn: yes 21:21
masak whoa. tiredness. 21:24
'night, #perl6. 21:25
jnthn Arse, I get a bunch of test fails after doing latest Parrot + gen_gc 21:28
But they all look the same and claim we're allocating 0 bytes somewhere... 21:29
jnthn Now I see where it's happening, I'm amazed we made it through the build... 21:35
benabik I love those errors. "Ah, there's the bug. How'd that ever work? Wait, how'd it compile?" 21:36
dalek p/ctmo: 7227290 | jonathan++ | / (3 files):
Bump PARROT_REVISION, use generational GC, fix NQPLexPad up for the changes.
21:37
p/ctmo: 32b9b81 | jonathan++ | src/metamodel/reprs/P6opaque.c:
Avoid allocating zero bytes; parrot++ catches this now.
jnthn benabik: Well, the amazement wasn't that the buggy code compiled, but that it managed to run the compiler well enough to compile itself... :) 21:38
jnthn OK, that gets everything that passed before passing again. 21:38
And on latest Parrot.
tadzik yay 21:39
jnthn nopaste.snit.ch/37775 should be dealt with
benabik jnthn: Well, "how'd it compile?" and "how'd it compile itself?" are only one word apart.
jnthn nopaste.snit.ch/37777 - I don't understand.
tadzik: :) 21:40
tadzik: Can you try latest ctmo?
tadzik jnthn: pulling 21:41
jnthn Thanks ;)
*:)
flussence_ now *I* can't compile rakudo either :( gist.github.com/871548 21:42
tadzik lol-I-not-so-offtopic-blogged! ttjjss.wordpress.com/2011/03/15/a-t...o-holland/ 21:43
tadzik what's libglut? 21:43
flussence_ something to do with opengl I think
benabik OpenGL Utility Toolkit. It's a basic windowing and event library, IIRC 21:44
tadzik I get this error too: Parrot VM: Can't stat , code 2. 21:49
Could not load packfile
jnthn nqp: say("<>[](){}\xab\xbb\x0f3a\x0f3b\x0f3c\x0f3d\x169b\x169c\x2045\x2046\x207d\x207e\x208d\x208e\x2329\x232a\x2768\x2769\x276a\x276b\x276c\x276d\x276e\x276f\x2770\x2771\x2772\x2773\x2774\x2775\x27c5\x27c6\x27e6\x27e7\x27e8\x27e9\x27ea\x27eb\x2983\x2984\x2985\x2986\x2987\x2988\x2989\x298a\x298b\x298c\x298d\x298e\x298f\x2990\x2991\x2992\x2993\x2994\x2995\x2996\x2997\x2998\x29d8\x29d9\x29da\x29db\x29fc\x29fd\x3008\x3009\x300a\x300b\x300c\x300d\x300e\x300f\x3010\x3011
p6eval nqp: OUTPUT«Confused at line 1, near "say(\"<>[]("␤current instr.: 'nqp;HLL;Grammar;panic' pc 17577 (gen/hllgrammar-grammar.pir:5028)␤» 21:50
flussence_ hm, turns out the only thing using glut on my entire system is some jpeg2k libs. Easy enough to get rid of it.
jnthn d'oh
tadzik: huh...
tadzik: So which packfile does it think it can't load... :/
tadzik: Does src/stage1/nqp.pbc exist? 21:51
moritz_ tadzik: I get that for a concurrent build
tadzik that's during /home/tadzik/src/rakudo/parrot_install/bin/parrot --library=src/stage1 src/stage1/nqp.pbc \
--target=pir --output=src/stage2/gen/NQP.pir \
src/stage2/gen/NQP.pm
moritz_ tadzik: try a simple 'make' without any -j option
tadzik uh. This
jnthn moritz_: Oh, some dependencies must be messed up :(
tadzik trying with -j1
jnthn nqp: say("\xff62\xff63);
p6eval nqp: OUTPUT«Confused at line 1, near "say(\"\\xff6"␤current instr.: 'nqp;HLL;Grammar;panic' pc 17577 (gen/hllgrammar-grammar.pir:5028)␤»
tadzik moritz_: that's what I'm doing, but I have MAKEFLAGS somewhere in my env
jnthn dang, what's the right way to do that... 21:52
moritz_ nqp: say("\x[ff62]") 21:53
p6eval nqp: OUTPUT«「␤»
moritz_ takes a guess at what part of nqp jnthn is hacking on right now... :-) 21:53
jnthn :)
moritz_ tadzik++ for the blog post. FWIW my report of the Copenhagen hackathon might have read much the same (that was the first conference or workshop where I met several Perl 6 folks at once) 21:55
jnthn tadzik: Nice post. :) 21:56
The Perl community rocks :)
tadzik aye :) 21:59
oh great, now the build segfaulted 22:00
jnthn :(
tadzik ...whoa whoa, this is using C++?
P6opaque.c:134: warning: request for implicit conversion from 'void *' to 'struct P6opaqueNameMap *' not permitted in C++
jnthn I hope not...
Oh 22:01
It's just warning that a C++ compiler might not like it
That's fine, I wrote C. :)
If somebody wants to make it work if fed to a C++ compiler too, I'll happily apply patches.
tadzik anyway:
/home/tadzik/src/rakudo/parrot_install/bin/parrot --library=src/stage0 src/stage0/nqp.pbc \
--target=pir --output=src/stage1/gen/nqp-mo.pir \
--setting=NULL src/stage1/gen/nqp-mo.pm 22:02
** Exception caught while looking for a handler, trying next **
make: *** [src/stage1/nqpmo.pbc] Segmentation fault
pardon my paste, but it's still better than the evalbot spree we see sometimes :)
jnthn Whoa.
I wish it told us what the exception it'd caught was :/
tadzik TBH, I cheated, and that's actually 3.2.0 rather than the PARROT_REVISION you specified, but I don't think that'd make much difference 22:03
jnthn I'd guess not
You could always try it without gengc
Though I'm a little skeptical it's that.
tadzik another small one: ttjjss.wordpress.com/2011/03/16/mod...kes-again/ 22:04
benabik ctmo built on Darwin 10.6, parrot 3.2. Failed 02-modules.t (Wstat: 256 Tests: 1 Failed: 0) 22:05
Non-zero exit status: 1
Parse errors: Bad plan. You planned 4 tests but ran 1.
(Just to add to the people trying.)
Have to leave, but thought I'd toss that out. o/ 22:06
tadzik o/
jnthn: I wanted to try if master runs ok, but master isn't new-parrot-friendly 22:07
benabik Null PMC access in isa() at gen/hllgrammar-grammar.pir:1035
jnthn benabik: Thanks; that test is known to still fail. 22:12
benabik: If that's the only failure, you're seeing what I am :)
Thanks for testing.
tadzik: Any chance you can get a backtrace for the segfault? 22:14
tadzik jnthn: I'll try
jnthn Thanks 22:15
What platform are you on?
tadzik linux, amd64
tadzik great, now the bug's pretending it's not there 22:17
running the tests
t/nqp/02-if.t ................... Incompatible versions of `core_ops' oplib. Found 3.1.0 but loaded 3.2.0
dalek p/ctmo: 3341bd9 | jonathan++ | / (4 files):
Move declaration of brackets list into NQP, eliminating one more cheat file.
22:18
tadzik what can I do?
jnthn tadzik: Oh...
tadzik: That may be the real issue.
tadzik: It sounds like a libparrot conflict
Like it's finding a libparrot other than the one it should. 22:19
jnthn I suspect the other segfault is related; it looked like it crashed while trying to report an error. 22:19
tadzik I'll go with --gen-parrot then
flussence_ All tests successful. Files=548, Tests=27631, 458 wallclock secs # yay, it's at 100% again 22:23
Tene jnthn: what does ctmo stand for?
tadzik compile-time-meta-objects I think 22:25
Tene ah, thx
jnthn Tene: what tadzik said 22:26
Though...the branch ended up needing many yaks shaving to do that
It's got to the point where you can now write a compiler totally in NQP without needing any PIR (mostly as a happy side-effect of other goals). 22:27
So I'm planning to merge the current state of it to master once any issues get ironed out.
Tene nice 22:29
tadzik jnthn: same crap with --gen-parrot 22:33
but most of the tests pass 22:34
nopaste.snit.ch/37778 -- is something like this possible in Perl 6? 22:38
oh, I can do .= 22:39
jnthn tadzik: Wait...I thought you got a segfault during the build? 22:44
tadzik jnthn: yeah, once 22:45
not I don't. Heisenbug
s/not/now/
dalek p/ctmo: 4a132aa | jonathan++ | / (4 files):
Move hll-compiler cheat into NQP.
22:46
dalek p/ctmo: 08a5c79 | jonathan++ | src/HLL (2 files):
Move HLL compiler init to NQP.
23:07
p/ctmo: 3434ae9 | jonathan++ | src/ (3 files):
Further gut HLL.pir.
p/ctmo: 7c1a5c6 | jonathan++ | src/ (2 files):
Move an include so that the only things that stick stuff into the Parrot root namespace are in one PBC file.
dalek p/ctmo: 75b960b | jonathan++ | src/HLL (2 files):
Can include constants anywhere, so do so. Now HLL.pir is just includes of NQP compiler output, and is thus ready to wave goodbye.
23:39
p/ctmo: 1ccff4d | jonathan++ | build/Makefile.in:
Keep dependencies honest.
p/ctmo: a2f8d51 | jonathan++ | src/HLL/Actions.pm:
Use curly brace classes when we'll have multiple in the same file.
p/ctmo: 675ee22 | jonathan++ | src/HLL/Compiler.pm:
Clear up some cruft. Dunno what I was thinking...
p/ctmo: 2acf542 | jonathan++ | / (2 files):
Eliminate HLL.pir. Now we're down to just one library that is overall PIR-compiled; the rest is NQP-compiled. We'll keep Regex.pbc fully in PIR for the foreseeable future, and everything else will trend towards its last remaining bits of PIR becoming NQP.
p/ctmo: 00bb576 | jonathan++ | src/stage0/ (7 files):
Update bootstrap.
sjohnson o.O 23:40
jnthn :) 23:42
jnthn Hmm...sleep or hack more? :) 23:45
TimToady how much does the new nqp allow for native types? 23:47
or is that just a 6model thing?
jnthn TimToady: If I'd prioritized it a little higher it could already have natively typed attributes. 23:48
jnthn TimToady: It just didn't get to the front of the queue of yaks yet. 23:48
TimToady but it's in the works? 23:49
jnthn Yes, for sure.
It's in the group of "things I know how to do but just didn't get to yet"
TimToady and compact class storage, where appropriate?
jnthn As opposed to "things that need hard thought"
That still needs some thinking.
If you mean entire structures being "inlined" into others.
Parts of the stuff I need for that are there. 23:50
Mostly it's about deciding how the boxing/unboxing of those works.
TimToady just talking to jnthn, who says nqp does not yet have compact structs of native types, but only because he's been working on other things, not because it's "something that needs hard thought" 23:50
oops, ww
jnthn :P 23:51
Now I'm in for it. :)
I already have Cursor using native integer storage for its $!pos 23:52
So the object model level works, now it's mostly teaching the compiler how to compile such things.
(I want to go for "general mechanism" rather than "quick hack to make it work") 23:53
TimToady but the important thing is that jnthn thinks the 6model stuff is not another hack, but "close to right" on first principles 23:55
d'oh
jnthn I find this jnthn guy quite easy to agree with... :) 23:56
TimToady sorry, figgered since you usually run away screaming from #ps I'd fill in for you :) 23:56
jnthn Oh, *that's* where you are.
jnthn pulls up the irclog 23:57
TimToady mostly discussion of the relationsip of "foreign languages" to 6model 23:59