Camelia, the Perl 6 bug

IRC log for #parrot, 2009-11-23

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:06 dukeleto 'ello
00:19 Tene hi leto
00:21 mariano__ joined #parrot
00:21 mariano__ left #parrot
00:22 mariano__ joined #parrot
00:33 dukeleto Tene: what is the good word?
00:33 purl the good word is "absurd"
00:34 Tene dukeleto: sleeping in until mid-afternoon
01:35 cognominal joined #parrot
01:46 brrant joined #parrot
01:51 davidfetter joined #parrot
01:52 zostay joined #parrot
02:28 * Coke apologizes for letting that spam through. admin FAIL.
02:30 Coke (got a link to a safe email. that one had already gone through by the time I got to the admin link, & I didn't make sure it was the same email when I approved it. :|)
02:30 Coke purl?
02:30 purl Coke?
02:36 mikehh_ joined #parrot
02:46 Andy joined #parrot
02:48 cotto Coke, do you have any idea why some messages to parrot-dev don't get through to my work address?
02:49 petdance joined #parrot
02:52 petdance joined #parrot
02:53 petdance joined #parrot
03:15 confound joined #parrot
03:30 eternaleye joined #parrot
03:40 mikehh joined #parrot
03:43 petdance joined #parrot
03:53 JimmyZ joined #parrot
04:19 eternaleye joined #parrot
04:21 eternaleye joined #parrot
04:22 jhelwig joined #parrot
06:10 jhelwig joined #parrot
06:13 jhelwig joined #parrot
06:14 jhelwig joined #parrot
06:22 davidfetter joined #parrot
06:30 dukeleto hola
06:32 * davidfetter waves to dukeleto
06:32 davidfetter ...from brisbane
06:54 dukeleto davidfetter: howdy!
06:55 dukeleto davidfetter: i am currently trying to get pgTAP to play nicely
06:57 uniejo joined #parrot
07:06 TiMBuS joined #parrot
07:09 mj41_ joined #parrot
07:33 eternaleye joined #parrot
08:00 szabgab joined #parrot
08:03 barney joined #parrot
08:04 fperrad joined #parrot
08:07 fperrad_ joined #parrot
08:47 iblechbot joined #parrot
08:55 gaz joined #parrot
09:13 bacek joined #parrot
09:25 lucian joined #parrot
09:43 dalek lua: c32e3ae | fperrad++ | t/ (18 files):
09:43 dalek lua: rename tests for core libraries
09:43 dalek lua: review: http://github.com/fperrad/lua/commit/c3​2e3aed5ce0ed55cbe17ba80ca59eef81b1fd6d
09:46 mikehh All tests PASS (pre/post-config, smoke (#30126), fulltest) at r42793 - Ubuntu 9.10 amd64 (g++ with --optimize)
09:55 dalek lua: 3d2018c | fperrad++ |  (2 files):
09:55 dalek lua: convert test to PIR (from Perl)
09:55 dalek lua: review: http://github.com/fperrad/lua/commit/3d​2018c82c2681c1711a1ad17c69db17664f0385
10:06 clinton joined #parrot
11:02 dalek lua: ebafacf | fperrad++ | t/ (2 files):
11:02 dalek lua: add test t/table.t
11:02 dalek lua: review: http://github.com/fperrad/lua/commit/eb​afacfc962f07ab9d14998a063baacd4e19d7da
11:08 dalek lua: bc0d337 | fperrad++ | t/table.t:
11:08 dalek lua: chmod +x *.t
11:08 dalek lua: review: http://github.com/fperrad/lua/commit/bc​0d3375e529d8ad4ac618895edc3be41cdda648
12:03 cconstantine joined #parrot
12:24 bluescreen joined #parrot
12:25 bluescreen joined #parrot
12:44 plobsing joined #parrot
12:45 whiteknight joined #parrot
12:46 zak_ joined #parrot
13:03 bluescreen joined #parrot
13:13 payload joined #parrot
13:13 dalek rakudo: 1445ba3 | (Solomon Foster)++ | src/setting/ (2 files):
13:13 dalek rakudo: Rough but working versions of Int.sign and Rat.sign.
13:13 dalek rakudo: Actually, these pass the spectest but the Rat.sign one is definitely returning the wrong thing.  Will try to correct both spectest and code shortly.
13:13 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​445ba3f8b99b65a0040f6bd39ce19188c550d09
13:15 Coke cotto: ... because your work mail server is marking them as spam?
13:17 whiteknight joined #parrot
13:17 whiteknight hello #parrot
13:19 davidfetter oh hai
13:28 preflex joined #parrot
13:30 dalek rakudo: a55d864 | (Solomon Foster)++ | src/setting/ (2 files):
13:30 dalek rakudo: Fix Int.sign and Rat.sign so they correctly return Ints.
13:30 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a​55d864e83514b79de45d3904a11f1c0cede67cc
13:33 ruoso joined #parrot
14:22 kthakore leto: hi
14:22 purl hi, kthakore.
14:25 kthakore leto: when you are around ... I can't seem to build blizkost ... is there a paticular version of Parrot I need to use?
14:26 moritz kthakore: I think blizkost hasn't been updated after the big PCC changes
14:26 kthakore moritz: it looks like it
14:26 moritz so you should try a parrot revision before the merge
14:27 kthakore p5invocation.c:84: error: â??struct parrot_interp_tâ?? has no member named â??current_argsâ??
14:27 kthakore moritz: um ... wouldn't it be better to get blizkost caught up to new structs of parrot?
14:28 moritz kthakore: sure... want a commit bit?
14:29 kthakore moritz: not yet ... I want to have a commit of value first
14:29 kthakore moritz: That way I can get it reviewed before commiting
14:29 kthakore moritz: I am going to try to get blizkost to just compile ... for now
14:29 moritz kthakore++ # JFDI
14:30 kthakore indeed
14:30 kthakore ok now I gtg fin parro_interp_t ...
14:31 moritz there's a wiki page for calling convention migration... somewhere...
14:32 kthakore moritz: oh that would help
14:33 kthakore I was just going to do a grep in the header files for parrot ... but they seem to be made by pmc?
14:34 moritz https://trac.parrot.org/par​rot/wiki/PCCMigrationNotes
14:37 kthakore so for interp->current_args I need to use a c api function now
14:37 kthakore ?
14:37 kthakore moritz: from what I see it looks like they are checking for args
14:37 kthakore and throwing an exception if they are missing
14:39 kthakore so verification of args are not needed anymore ?
14:39 kthakore well trial and failure time :)
14:44 KatrinaTheLamia joined #parrot
14:45 kthakore moritz: ok moderate success
14:45 kthakore moritz: I have this PMC    * const arg_list       = pmc_new(interp, enum_class_ResizablePMCArray);
14:45 kthakore but it seems we need to use PMC * const this_call_sig   = Parrot_pcc_get_signature(interp, ctx);
14:45 kthakore ??
14:45 * moritz actually has no idea about the parrot calling conventions
14:45 moritz I just know meta information
14:45 iblechbot joined #parrot
14:46 kthakore ok
14:46 kthakore moritz: who shall I bug?
14:46 moritz kthakore: jonathan for blizkost
14:46 moritz kthakore: or maybe dukeleto
14:46 purl well, maybe dukeleto is imagining that
14:46 kthakore moritz: ok
14:46 kthakore moritz: thanks I will try and fail later
14:46 moritz kthakore: for calling conventions... allison, chromatic, bacek, cotto etc :-)
14:47 kthakore ok
14:47 kthakore moritz: thanks though
14:47 moritz you're welcome
14:47 kthakore I have to head back to #sdl for our next release
14:47 moritz and yell when you want to commit something to blizkost
14:47 moritz I can hand out commit bits
14:48 kthakore moritz: I would like to wait on that ... as I get commit bits and then I don't have nothing to work for :)
14:48 kthakore moritz: thanks anyway though
14:48 moritz kthakore: sure, your choice
14:48 * kthakore is heading back to sweet XS :)
15:02 dukeleto kthakore: hola
15:05 kthakore dukeleto: oh hai
15:05 kthakore dukeleto: I gave a shot at blitzkost + 1.8 parrot calling conventions
15:05 dalek lua: 800d696 | fperrad++ |  (3 files):
15:05 dalek lua: add tests with stdin
15:05 dalek lua: review: http://github.com/fperrad/lua/commit/80​0d69653734c16e0a1310fa88324c9635ed6c48
15:06 kthakore dukeleto: failed but I will try again later ... SDL needs some love right now
15:06 Psyche^ joined #parrot
15:07 PacoLinux joined #parrot
15:08 jsut joined #parrot
15:14 Coke is there any interest in having/not having the PS meeting this week due to holiday issues?
15:16 wanradt joined #parrot
15:17 * Coke sees that kid51 got all the credit for closing out RT in the new summary. =-)
15:17 dukeleto kthakore: i appreciate your try! blizkost needs some love
15:17 kthakore dukeleto: np
15:17 moritz Coke++ # proper appreciation at least here in #parrot :-)
15:17 dukeleto Coke: that is a good question. pose to parrot-dev? it is only a holiday in the US
15:17 dukeleto Coke++
15:17 kthakore dukeleto: I am really just doing it to get SDL into perl6/parrot
15:18 dukeleto kthakore: sounds good to me!
15:18 kthakore dukeleto: if it happens to bring the rest of CPAN into perl6 yaya!
15:19 wanradt hello, tried first time to install rakudo today
15:19 moritz hello wanradt
15:19 wanradt it went good on my Kubuntu 9.10, but no luck running some code
15:20 moritz wanradt: where did you get stuck?
15:20 wanradt tried first example from this page: http://szabgab.com/blog/2009/03/1237550823.html
15:20 dukeleto wanradt: what went wrong?
15:20 dukeleto wanradt: nopaste the full error
15:20 dukeleto nopaste?
15:20 purl nopaste is at http://nopaste.snit.ch/ (ask TonyC for new channels)  or http://paste.scsys.co.uk/ or App::Nopaste or tools/dev/nopaste.pl or at http://www.extpaste.com/ or http://paste.scsys.co.uk (for #catalyst, #dbix-class, #moose  and others) or http://gist.github.com/ or paste or gtfo or tools/dev/nopaste.pl or https://trac.parrot.org/parrot/br​owser/trunk/tools/dev/nopaste.pl
15:20 wanradt and got "Could not find non-existent sub v6"
15:21 dukeleto wanradt: you are using perl 5 to run perl 6 code
15:21 moritz nope
15:21 moritz that's a parrot error message
15:21 wanradt no, i don't
15:21 hudnix joined #parrot
15:21 dukeleto moritz: can you do a full nopaste of what you ran and the output?
15:21 moritz wanradt: but it's very strange... which version of rakudo did you use?
15:21 dukeleto wanradt: you, no moritz :)
15:22 wanradt latest, #24 it was
15:22 dukeleto wanradt: do you have an installed parrot?
15:22 dukeleto wanradt: did you use --gen-parrot when configuring rakudo #24 ?
15:23 wanradt dukeleto: yes and yes
15:23 dukeleto wanradt: interesting. your older installed parrot may be messing things up. may want to nuke it
15:23 mikehh joined #parrot
15:24 nopaste "wanradt" at 77.233.68.235 pasted "non-existent sub v6" (33 lines) at http://nopaste.snit.ch/18812
15:25 wanradt first i installed parrot through the package manager
15:25 dukeleto wanradt: what does parrot --version and uname -a say?
15:25 moritz wanradt: #!/usr/bin/perl is wrong
15:25 wanradt but then removed, cause rakudo wanted to get own from svn
15:25 particle1 i think wanradt's source uses 'use v6;' and rakudo doesn't understand that
15:26 wanradt moritz: yes, but i executed as ./perl6 scriptname.pl
15:26 particle oh, now i see the source...
15:26 moritz wanradt: it's a really strnge error, maybe related to useing #=
15:26 wanradt particle1: yes, it uses v6
15:27 moritz wanradt: when I remove those comment lines in loops infinitely on my @fibonacci = 1, 1 ... { $^a + $^b } ;
15:27 wanradt ok, i remove those comments and try again
15:27 moritz because rakudo doesn't do lazy lists yet
15:27 bubaflub joined #parrot
15:27 moritz (it will in the next release, though)
15:28 wanradt moritz: sorry, this fibonacci thing was already from second try, it does not have point there and it does not work without it too
15:28 dukeleto moritz: this script is a good test case ;)
15:28 particle rakudo should probably warn on 'use v6;'... hasn't that been deprecated?  maybe i'm wrong.
15:28 moritz particle: nope, use v6; is correct
15:28 moritz it's the #=== comments that trip up rakudo
15:28 moritz it's a real parsing bug
15:29 moritz I'll submit a a bug report
15:29 particle ok, then just 'use v6-alpha' was deprecated, my mistake.
15:29 moritz wanradt: adding a space after the # should make it work
15:29 dukeleto wanradt: nice job, you found a parser bug! wanradt++
15:29 wanradt thank all of you!
15:30 wanradt it was like pitstop on F1 race :)
15:30 dalek TT #1328 created by coke++: announce next release when announcing current release
15:30 dukeleto wanradt: that is what parrot/perl 6 development is like :) welcome!
15:31 wanradt glad to hear, now i try to test what i really wanted to test: unicode
15:31 payload joined #parrot
15:32 moritz wanradt: if you find more sore spots, do tell us
15:33 moritz wanradt: though #perl6 on irc.freenode.net would be the better channel
15:35 wanradt goon know, i use very few of irc, so no preferences for me
15:36 * moritz started with very little IRC usage too
15:36 moritz and then discovered #perlde and #perl6
15:38 Andy joined #parrot
15:38 wanradt moritz: despite my nick i speak very few german
15:39 moritz wanradt: I didn't associate your nick with German, just told about my IRC beginnings :-)
15:40 wanradt moritz: isn't perlde in german?
15:40 moritz it is
15:42 NotFound Someone has installed parrot in this nice little machine? http://bifferos.bizhat.com/
15:46 dalek parrot-linear-algebra: 14d392e | Andrew++ | README:
15:46 dalek parrot-linear-algebra: Update README with better info
15:46 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/14d392eb74a29f7f3436871a3eadb40ca1d64623
15:47 NotFound S05 spanish translation: http://sites.google.com/site/rami​roencinas/doc/perl6/s05-regex-es Not bad, even if it has some semi-translated sentences such as "un patrón que haga matching"
15:48 Coke I wonder if it'll make more sense in spanish. :|
15:48 * Coke sees that parrot is no longer listed on dev.perl.org, nor is perl1.
15:49 NotFound Coke: a lot of spanish technical texts doesn' make sense in any language... maybe in latin.
15:49 Coke NotFound: I was merely taking a pot shot at the comprehensibility of syn 05 in any language. =-)
15:50 NotFound People writes things like "downloadear"
15:52 NotFound Coke: sometimes I consider the idea of writing a high level language for expressions that compiles to regexes X-)
15:53 NotFound Then I awake X-)
15:54 bubaflub NotFound: i know there are a few projects that take semi-structured english to regex
15:55 * Coke eagerly awaits the parrot implementation of Inform.
15:55 NotFound I was thinking about something more like egytian hierogliphs as source, better than englisgh.
15:56 bubaflub ah
15:56 uniejo joined #parrot
15:57 dalek tracwiki: v20 | urkle++ | git-svn-tutorial
15:57 dalek tracwiki: Added "shortcut" hack to getting git-svn metadata from github clone. and cleaned up top part of document
15:57 dalek tracwiki: https://trac.parrot.org/parrot/wiki/git-​svn-tutorial?version=20&action=diff
15:57 * Coke stares at the lexpad issue in partcl-nqp
15:57 NotFound I can even consider writing a language where all tokens are smileys :)
15:58 NotFound Wait... this is perl6 X-)
16:02 Coke should http://dev.perl.org/perl6/'s rakudo links point to github or rakudo.org?
16:02 moritz Coke: rakudo.org
16:02 purl rakudo.org is, like, http://rakudo.org
16:02 lucian joined #parrot
16:02 moritz Coke: I submitted a patch a week ago
16:03 moritz Coke: and one of our admins replied that it might get applied during the face lifiting
16:03 moritz if it won't, I'll re-iterate
16:05 Coke moritz: it wasn't.
16:06 Coke (the face lift on dev.perl.org is already done.)
16:10 whiteknight if I'm going to get a BSD system, which should I get?
16:11 Coke whiteknight: OS X?
16:11 purl rumour has it OS X is actually a firaly reasonable desktop OS
16:12 whiteknight Coke: I'm setting up a virtual server here on my Windows box, and want to play with one of the free BSDs
16:13 Coke whiteknight: I had gotten a recommendation on that several years ago, but I don't even have that machine turned on anymore. =-)
16:13 Coke (so, I'm useless to you.)
16:13 whiteknight okay, I'm flipping a coin and going with FreeBSD
16:16 bubaflub we use FreeBSD at work for all of our servers, i'd go with that as well
16:18 Coke whiteknight: looking at the 3 projects, yes, that's the one I had gone with.
16:18 Coke I was pretty happy with it (even though it was running on a 486. =-)
16:18 whiteknight ok, good
16:24 dalek lua: b8ee334 | fperrad++ | t/ (2 files):
16:24 dalek lua: convert some tests
16:24 dalek lua: review: http://github.com/fperrad/lua/commit/b8​ee3349a499ac904aa95962ea3d93570fd9d488
16:29 Coke nqprx?
16:29 Coke nqp-rx?
16:29 purl rumour has it nqp-rx is http://github.com/perl6/nqp-rx
16:33 dukeleto 'ello
16:33 whiteknight hello
16:33 dukeleto whiteknight: i like freebsd as well
16:34 whiteknight okay, awesome
16:34 dukeleto whiteknight: pc-bsd is an interesting distro of freebsd
16:34 whiteknight I've got VirtualBox installed on my work computer now, and I want to take a few new distros and OSs out for a sping
16:34 whiteknight especially since Ubuntu has been so unstable for me lately
16:35 dukeleto whiteknight: it is geared towards the end-user and has a nice gui
16:35 dukeleto whiteknight: http://www.pcbsd.org/
16:36 dukeleto whiteknight: i am going to try it out on my next desktop, but have seen it running.
16:37 dukeleto whiteknight: pcbsd can install anything from freebsd ports, and also has a binary package format, .pbi
16:37 whiteknight I'm already ~30 min into downloading the ISO for FreeBSD, so I'll stick with that for now
16:37 dukeleto whiteknight: sounds good, just wanted to share the info :)
16:38 moritz due to server hiccups I don't see a topic here in the channel
16:38 whiteknight yeah, I'll definitey look into that
16:38 dukeleto i see a topic
16:38 moritz could somebody who still sees it set it again please?
16:38 dukeleto ok
16:38 moritz that usually helps
16:38 nopaste "coke" at 72.228.52.192 pasted "Why isn't the error message right to begin with?" (12 lines) at http://nopaste.snit.ch/18815
16:38 Topic for #parrotis now Parrot 1.8.0 Zygodactyly released | Latest modified TT's: http://icanhaz.com/parrotbugs | Parrot Languages: http://icanhaz.com/parrotlang
16:38 cotto_w0rk Good morning humans.
16:38 whiteknight my only limitation, when we're talking about virtualization, is disk space to host all these installations
16:38 whiteknight hello cotto_w0rk
16:38 moritz dukeleto++
16:38 dukeleto cotto_w0rk: good morning work robot
16:47 dalek lua: ab828b1 | fperrad++ | setup.pir:
16:47 dalek lua: now don't remove standalone.t
16:47 dalek lua: review: http://github.com/fperrad/lua/commit/ab​828b19052349f11583a1f3c2d23b3f8277e30d
16:47 dalek lua: 3630af9 | fperrad++ | t/stdin.t:
16:47 dalek lua: chmod +x *.t
16:47 dalek lua: review: http://github.com/fperrad/lua/commit/36​30af9c4c5c7d1ac6385aa0b8e81ea89425a6de
17:10 patspam joined #parrot
17:20 desertm4x joined #parrot
17:23 payload joined #parrot
17:39 iblechbot joined #parrot
17:45 dalek xml: 44b119c | fperrad++ | plumage/xml.json:
17:45 dalek xml: update generated Plumage description
17:45 dalek xml: review: http://github.com/fperrad/xml/commit/44​b119ca82c5f7e7d69a9b36d6592c032e298c80
17:48 dalek markdown: 4d7cc8a | fperrad++ | markdown/grammar.pg:
17:48 dalek markdown: prepare conversion pge to nqp-rx
17:48 dalek joined #parrot
17:55 fperrad joined #parrot
17:58 payload joined #parrot
18:17 eternaleye joined #parrot
18:21 desertm4x_ joined #parrot
18:22 dalek nqp-rx: f9d5159 | moritz++ | src/HLL/Grammar.pm:
18:22 dalek nqp-rx: fix binint pasto as noticed by lithos++
18:22 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/f​9d5159010b96244d546da1463c87c0400883597
18:27 dalek matrixy: fd5542a | Whiteknight++ |  (16 files):
18:27 dalek matrixy: start segregating test files
18:27 dalek matrixy: review: http://github.com/Whiteknight/matrixy/commi​t/fd5542acb6b9f32db510896410e524df9fe47340
18:27 dalek matrixy: b14779b | Whiteknight++ | t/ (16 files):
18:27 dalek matrixy: Update README.Tests.pod to explain the new system
18:27 dalek matrixy: review: http://github.com/Whiteknight/matrixy/commi​t/b14779b042bea204032e67e252da6ddd8611ac23
18:27 dalek matrixy: 06b4a84 | Whiteknight++ | t/ (42 files):
18:27 dalek matrixy: Rename more test files
18:27 dalek matrixy: review: http://github.com/Whiteknight/matrixy/commi​t/06b4a84d8171d7273f287f00ea750852ebe5f5fe
18:27 dalek nqp-rx: 1ec10cc | moritz++ | src/HLL/Actions.pm:
18:27 dalek nqp-rx: fix an off-by-one error in number conversion error checking
18:27 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/1​ec10cc6bdeb169a966f6e52b7ba6f1eb3ba046b
18:27 dalek nqp-rx: a89723d | moritz++ | t/nqp/42-cond-loop.t:
18:27 dalek nqp-rx: fix some test descriptions, as reported by lithos++
18:27 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/a​89723dc6c543bd097e14235debfd24ee6125b09
18:30 fperrad_ joined #parrot
18:42 NotFound What's new [ 'some_pmc_type' ] supposed to do? Create and init a pmc, or instantiate a pmcproxy for it?
18:45 cotto_work It depends on what 'some_pmc_type' is.
18:46 cotto_work If it's the name of a Class, it'll create a new instance of it.  Otherwise it'll make a new PMC.
18:49 NotFound 'Boolean'
18:49 purl i think 'Boolean' is from the time before the user_services table
18:50 cotto_work There's a Boolean PMC, so it'd create one of those.
18:50 NotFound Looks like is doing what is supposed, then.
18:50 NotFound is not
18:52 cotto_work I'm not really sure why anyone would bother with something as heavyweight as a PMC for a boolean value.
18:52 NotFound ·first check the namespace for a class object, then fall back to the type ID if no class object is stored in the namespace"
18:52 NotFound But there is always a pmcproxy in the namespace.
18:53 * cotto_work is looking forward to an easy and short week
18:53 cotto_work thanksgiving++
18:56 cotto_work NotFound, got some code?
18:57 NotFound cotto_work: http://tapir2.ro.vutbr.cz/cover/cover-resu​lts/42793/c_cover/src-pmc-boolean-pmc.html
18:57 NotFound And t/pmc/boolean.t
18:58 NotFound In init_pmc, the branch where value is null is not covered, but the test must cover it.
18:59 NotFound I inserted and abort to be sure, it never gets called.
19:03 cotto_work It looks like the null opcode for STRING should be updated to use STRINGNULL
19:03 NotFound pmcproxy instantiate does this: "if (!PMC_IS_NULL(init)) return pmc_new_init(interp, _pmc->id, init);"
19:04 cotto_work NotFound, that lack of coverage is surprising.
19:04 NotFound That explains why init_pmc never gets called with null.
19:04 joeri joined #parrot
19:05 NotFound It this happens with all new.... uh... Lots of unneeded pmcproxies dancing around?
19:06 NotFound I mean, *LOTS*
19:10 cotto_work I think you're right.
19:10 PerlJam Coke: ping
19:11 cotto_work Integer's init_pmc doesn't bother checking if the initializer is null before using VTABLE_get_integer on it
19:12 cotto_work eew
19:12 cotto_work I thought I knew this part of Parrot.  Silly me.
19:13 NotFound cotto_work: no problem with that, just a null pmc usage exception.
19:14 cotto_work but using a null PMC as the initializer doesn't cause anything to happen
19:14 NotFound That confirms the hypothesis.
19:18 Coke PerlJam: pong.
19:18 PerlJam Coke: do any partcl work over the weekend?
19:19 Coke commit anything? no.
19:19 Coke stare in vain at the partcl-nqp code? yes.
19:19 PerlJam heh
19:19 Coke I need to figure out why t/sanity.t is failing.
19:19 Coke but to do that, I think I need to understand hllcompiler/past/nqp-rx, and whatever code patrick wrote. it's a lot to digest.
19:20 PerlJam I  think it's because of a missing :isdecl from the PAST::Op.new in INIT
19:20 Coke PerlJam: ... *blank stare*
19:20 PerlJam Coke: but ...  I was trying to figure out why I couldn't get == and != to work right beyond that
19:21 Coke > puts [expr 3==2]
19:21 Coke 0
19:21 Coke > puts [expr 3==3]
19:21 Coke 1
19:21 Coke (they do seem to work.
19:22 PerlJam Coke: Hmm.
19:23 PerlJam Perhaps :isdecl breaks things in another direction then.
19:23 Coke PerlJam: tcl doesn't really declare variables in normal usage.
19:24 Coke (there's "variable", but it's mainly for namespace-like stuff.)
19:26 bubaflub joined #parrot
19:26 Coke PerlJam: any idea why we get backtraces from src/gen/*.pir instead of the original src/*/*.pm ?
19:27 PerlJam nope
19:27 dalek parrot-plumage: 5e9caf2 | japhb++ | :
19:27 dalek parrot-plumage: [METADATA] Add bf, chitchat, lolcode, and pheme metadata, fperrad++ yet ...
19:27 dalek parrot-plumage: review: http://gitorious.org/parrot-plumage/parrot-plumag​e/commit/5e9caf2fc13885b468d0ecc974990b24674e4105
19:27 dalek parrot-plumage: eb2ed3c | japhb++ | :
19:27 dalek parrot-plumage: [META] Various TODO updates
19:27 dalek parrot-plumage: review: http://gitorious.org/parrot-plumage/parrot-plumag​e/commit/eb2ed3cdac8ad20c415066460db25772ef24b917
19:27 dalek parrot-plumage: d44be4e | japhb++ | :
19:27 dalek parrot-plumage: [META] Another TODO update
19:27 dalek parrot-plumage: review: http://gitorious.org/parrot-plumage/parrot-plumag​e/commit/d44be4ea3999c4ca33d3f3914524789317335730
19:27 dalek parrot-plumage: cb68c4a | japhb++ | :
19:27 dalek parrot-plumage: [METADATA] Updated wmlscript.json with fixes from fperrad++
19:27 dalek parrot-plumage: review: http://gitorious.org/parrot-plumage/parrot-plumag​e/commit/cb68c4aa1f14c98b16e466c43de9af38c7c09209
19:27 dalek parrot-plumage: cddab57 | japhb++ | :
19:27 dalek parrot-plumage: [METADATA] Fix permissions on some metadata files, fperrad++ for noticing
19:27 dalek parrot-plumage: review: http://gitorious.org/parrot-plumage/parrot-plumag​e/commit/cddab570e59cd4079399cec171e108068c37b2b9
19:27 dalek parrot-plumage: b22572f | japhb++ | :
19:27 dalek parrot-plumage: [LIB] Plumage::Project: Fix crash bug with very short project names; fpe...
19:27 dalek parrot-plumage: review: http://gitorious.org/parrot-plumage/parrot-plumag​e/commit/b22572f547e3c58dc2415dff4c9f8fd96a142a5d
19:28 Coke PerlJam: so, anyway, I'm stuck.
19:31 NotFound Oh, well, so PMC are never instantiated, there are always pmcproxied. No need to worry about the proposal of making pmc objects, they already are.
19:32 cotto_work Clearly that corner of Parrot needs more documentation.
19:33 PerlJam Coke: what's the difference between {} and [] in tcl?
19:34 PerlJam Coke: or, why do if statements look like "if {} then {}" and the expressions you just mentioned look like "[expr ... ]" ?
19:34 NotFound cotto_work: I suppose that the advantage of not having such things documented is that no one can says if the current bahvior is wrong or not %-)
19:35 cotto_work It doesn't work as documented.
19:35 NotFound cotto_work: no, but a lot of things also doesn't.
19:36 Coke [] is command substitution.
19:36 Coke {} is like single quotes in perl.
19:36 NotFound We never know what's obsolete, the docs or the code.
19:36 Coke "" is like double quotes in perl.
19:37 Coke so {nothing interpolated} "$vars and [expr 3+2]"... the [] runs a command and returns the result in situ. $foo is like in perl.
19:38 Coke but there's nothing special about the braces... so in perl you'd have to write if ($foo=bar) {this} else {that} ... in tcl, as long as they are single words, it doesn't matter.
19:38 PerlJam Coke: so, why is the if statement in sanity.t more like  "if [expr $a == 2] { ... }"  ?
19:38 Coke if [expr 3==3] "puts hi" else exit
19:39 dalek parrot-plumage: b24d343 | japhb++ | :
19:39 dalek parrot-plumage: [META] More TODO updates
19:39 dalek parrot-plumage: review: http://gitorious.org/parrot-plumage/parrot-plumag​e/commit/b24d343df921578a67aea348ab0c75adbf99c0ab
19:39 Coke PerlJam: why /isn't/ ? because then it would happen when the command was parsed, and you might get a value of $a you didn't mean to.
19:39 PerlJam Hmm
19:39 Coke (for this if, it doesn't matter; but imagine ane xpression in a for loop/while loop, etc.)
19:40 Coke also, if $a == 2 isn't valid.
19:40 Coke you'd at least need $a==2 or "$a == 2" or something to group it in to a single word.
19:41 Coke ... though that does work. =-)
19:41 Coke (it passes test one.)
19:42 PerlJam yes, I tried it too :)
19:42 Coke (because then the call to expr() inside isn't doing a variable lookup, but is just passed the value 1
19:44 Coke PerlJam: changed the tests so 'prove' now passes.
19:44 Coke we still need to support it the other way too, though.
19:49 PerlJam Coke: okay, so I still don't really understand what $LEXPAD is doing in Actions.pm
19:51 PerlJam If we can summon pmichaud in the next 20 minutes and he is able to impart enough knowledge in me, I'll implement some more control structures for partcl-nqp.  :)
19:51 PerlJam (otherwise, I've got some other things to take care of and probably won't look at it again until tomorrow or so)
19:51 pmichaud here
19:52 PerlJam pmichaud: why does partcl complain thusly: undefined identifier 'lexpad'
19:52 PerlJam ?
19:52 pmichaud because it's looking for a register named 'lexpad' and there isn't one?
19:53 pmichaud (if you want a more detailed answer, I need a more detailed example :)
19:53 PerlJam look at the INIT phaser in Actions.pm.
19:54 PerlJam It seems to me that adding an :isdecl to that PAST::Var should improve thigns.
19:54 pmichaud PerlJam: no, it makes it worse.
19:54 pmichaud or, at least, it doesn't solve the real problem.
19:54 PerlJam yes, I've discovered that :)
19:55 pmichaud that INIT phaser is simply creating a (reusable) rvalue lookup of the lexpad register
19:55 pmichaud since it's an rvalue lookup, :isdecl would be wrong.
19:55 PerlJam okay, so where/how should the lexpad register be created?
19:55 pmichaud right now it's only used in one place, so how about I get rid of $LEXPAD and we can troubleshoot from there.
19:55 pmichaud PerlJam: Actions.pm:19
19:56 PerlJam Hrm
19:57 PerlJam ah, so method body doesn't trigger until after it's parse the entire program, but in the process of parsing it's run across a variable that it needs to look up?
19:57 PerlJam (because otherwise, lexpad would exist, no?)
19:58 pmichaud ummmm, your question either doesn't make sense or I'm misplacing pronouns
19:58 pmichaud 'lexpad' doesn't exist at all during the Actions.pm
19:58 pmichaud it's a PIR register
19:59 pmichaud so it only exists after things have been converted to PIR
20:00 pmichaud so the error "undefined identifier 'lexpad'"  is coming from IMCC, when it's in the process of compiling the PIR
20:00 pmichaud and the problem there is that the PIR subroutine doesn't contain  .local pmc lexpad
20:01 pmichaud which means that whatever is creating the body of the PIR code isn't coming from "method body", because that clearly does define a lexpad register
20:04 pmichaud the problem is in expr()
20:04 pmichaud well, no.
20:04 pmichaud hrm.
20:04 PerlJam I just think that the variable method executed before the body method, thus creating a variable access to 'lexpad' before it exists.
20:05 pmichaud no.
20:05 pmichaud because we're building a tree
20:05 pmichaud what the variable method creates is a PAST node
20:05 pmichaud that PAST node then ends up in the PAST::Block node
20:05 pmichaud but it's definitely *after* the $init node that is in the PAST::Block
20:06 pmichaud Commands.pm:22
20:06 pmichaud (that's where the error is)
20:07 PerlJam because?
20:07 pmichaud The PAST::Block that gets created there doesn't have a lexpad declaration.
20:07 PerlJam every eval needs one?
20:08 pmichaud since that ends up being generated as a standalone Parrot sub, yes.
20:08 pmichaud otherwise the variables don't have a lexpad register to be able to look up the values
20:09 pmichaud here's the underlying theory of operation
20:09 pmichaud every partcl scope ends up creating a %VARS hash
20:09 pmichaud that hash contains all of the variables within that scope
20:09 pmichaud every PIR subroutine ends up initializing the 'lexpad' register to the %VARS hash corresponding to the current scope
20:10 pmichaud note that partcl scopes do not correspond to directly to Parrot subs
20:11 pmichaud also note that Parrot's notion of lexicals and :outer do not really apply, because partcl scopes are almost purely dynamic, whereas Parrot :outer is static scoping
20:12 PerlJam so ... expr() needs   PAST::Block.new(PAST::Stmts(​PAST::Var.new(:name<lexpad>, :scope<register>), $parse));   ?
20:12 pmichaud yes, but <lexpad> needs to be initialized as well as declared
20:12 dalek parrot-plumage: 6c268bc | japhb++ | :
20:12 dalek parrot-plumage: [LIB] Plumage::Project: self._dynmeth($method) -> self."$method&...
20:12 pmichaud PAST::Var just creates an rvalue access
20:12 dalek parrot-plumage: review: http://gitorious.org/parrot-plumage/parrot-plumag​e/commit/6c268bcd361203f48de68b04e7703deabce86fdd
20:12 pmichaud (in this case)
20:12 pmichaud more correct is probably
20:12 pmichaud PAST::Block.new(
20:13 bubaflub left #parrot
20:13 pmichaud PAST::Var.new( :name<lexpad>, :scope<register>, :isdecl,
20:13 pmichaud PAST::Op.new( :pirop('find_dynamic_lex Ps'), '%VARS' ) ),
20:13 pmichaud $parse.ast
20:13 pmichaud )
20:13 PerlJam aye, I get it.
20:14 pmichaud oh, need :viviself there
20:14 pmichaud (around the PAST::Op.new(...) )
20:14 pmichaud longer term, I'm thinking instead of %VARS being a hash it will want to be a TclLexPad type
20:14 Coke so if I want to understand what you're talking about there, are there docs about PAST ?
20:14 pmichaud Coke: pdd26
20:14 japhb pmichaud, did your NQP-rx change implementing :p and :c satisfy the plumage-requests item for "Grammars/Rules/Regexen: Get next match on same string"?
20:15 pmichaud japhb: a lot closer, but I don't think it's completely there yet.
20:15 Coke I don't think anything based on :lex for looking things up is going to work long term.
20:15 japhb OK, thanks
20:15 pmichaud Coke: I agree
20:15 pmichaud Coke: that's not where I was going with TclLexPad
20:15 pmichaud I think TclLexPad  subclasses Hash, but also includes attributes for "outer" and "depth"
20:16 pmichaud the outer attribute points "one level up"
20:16 pmichaud the depth attribute is an integer indicating "depth of lexpad"
20:16 pmichaud this way uplevel can work
20:16 PerlJam oops, I'm 1 minute late for a meeting.
20:16 PerlJam bbl
20:16 PerlJam (maybe)
20:16 pmichaud uplevel  #2   simply follows two "outer" pointers to get to the correct TclLexPad
20:17 pmichaud uplevel 2   simply follows "outer" pointers until it finds one with depth == 2
20:17 pmichaud creating a new TclLexPad initializes outer to the current TclLexPad, and depth to be outer.depth + 1
20:19 dalek winxed: r203 | julian.notfound++ | trunk/examples/parser.winxed:
20:19 dalek winxed: more work on var initializers in parser example
20:19 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=203
20:21 pmichaud actually, what I suggested above probably isn't the best mechanism either, now that I think about it.
20:22 pmichaud I have to go pick up kid in 10 mins... I'll refactor when I get back
20:22 pmichaud (what I suggested above being about expr bug... the TclLexPad approach I still think is the correct one.)
20:35 Coke pdd26 goes right into class descriptions.
20:35 Coke is there some kind of overview document?
20:37 Tene Coke: there's also compielrs/pct/.../Node.pir
20:38 Tene Coke: what kind of overview are you wanting?
20:38 Coke what is past. how does it work. how would you hook into it from your top level code.
20:39 Coke a list of what is basically the javadocs assumes a great level of knowledge.
20:40 Coke looks like the Node.pir is not much different than the pdd docs.
20:41 Tene Wait, what does anything have to do with java?
20:42 Coke just referring to the style of documentionat.
20:42 Coke *documentation
20:42 Tene I'm not aware of anything in the repository like what you're asking for, no.
20:42 Coke *sigh*
20:42 Coke danke.
20:49 bluescreen joined #parrot
20:55 zak_ joined #parrot
20:55 payload joined #parrot
20:59 cognominal_ joined #parrot
21:09 pmichaud Coke: my intent continues to be to write a tutorial :)
21:09 pmichaud I need a good language to use as a basis.... and unfortunately Tcl probably isn't it.  :-)
21:09 pmichaud (it'd be good to write up how pmtcl works, though)
21:10 pmichaud maybe I'll just do tcl anyway.
21:10 pmichaud more examples can't hurt.
21:10 cognominal_ joined #parrot
21:12 dalek winxed: r204 | julian.notfound++ | trunk/examples/parser.winxed:
21:12 dalek winxed: parser example: improve expression type chack, improve print predef and add say
21:12 dalek winxed: predef
21:12 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=204
21:19 Coke well, I would certainly benefit.
21:19 Coke (and it might help drag mdiep back.)
21:19 pmichaud I may be stuck in a vehicle for several hours on Wednesday with little/no internet connectivity -- that might be a good time to write something up :)
21:20 Coke +1
21:20 purl 1
21:20 Coke [incr]
21:21 cotto_work pmichaud, if you're driving you can use this to write documentation at the same time! http://www.amazon.com/Mobile-Office-WM-01-Lapt​op-Steering/dp/B000IZGIA8/ref=sr_1_1?ie=UTF8&a​mp;s=automotive&amp;qid=1259011284&amp;sr=8-1
21:22 dalek parrot-linear-algebra: 712743b | Whiteknight++ | t/complexmatrix.t:
21:22 dalek parrot-linear-algebra: add tests for complexmatrix
21:22 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/712743b6a996a0e55ef41346251acceea66f3699
21:22 dalek parrot-linear-algebra: a76b965 | Whiteknight++ | t/complexmatrix.t:
21:22 dalek parrot-linear-algebra: fix complexmatrix.t
21:22 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/a76b965d2b89fbec36174d2130abcbc404103de1
21:22 dalek matrixy: 310fbbe | Whiteknight++ | t/parrot/ (3 files):
21:22 dalek matrixy: Redo some of the Parrot tests and add new type checks
21:22 dalek matrixy: review: http://github.com/Whiteknight/matrixy/commi​t/310fbbe02fe83388966bd04e35b7b579e52f91a5
21:22 dalek matrixy: e788ca7 | Whiteknight++ | t/ (26 files):
21:22 dalek matrixy: rename a bunch of files in t/syntax/
21:22 dalek matrixy: review: http://github.com/Whiteknight/matrixy/commi​t/e788ca7db40ce7b67069fd06e563a902ce5bcc6f
21:22 dalek matrixy: b554dd5 | Whiteknight++ |  (3 files):
21:22 dalek matrixy: fix complex handling, again
21:22 dalek matrixy: review: http://github.com/Whiteknight/matrixy/commi​t/b554dd5093216a9332a6a4b756bd64073d93b4b6
21:22 dalek matrixy: 5086d39 | Whiteknight++ | t/syntax/ (2 files):
21:22 dalek matrixy: consolidate expressions tests
21:22 dalek matrixy: review: http://github.com/Whiteknight/matrixy/commi​t/5086d39a92aaee6de153071b835cc5dbdeb1f06f
21:22 dalek matrixy: 8f6b4ef | Whiteknight++ | t/ (2 files):
21:22 dalek matrixy: separate syntax-based system tests from function-based ones
21:22 dalek matrixy: review: http://github.com/Whiteknight/matrixy/commi​t/8f6b4ef51351d1ec48cd68e319ed4487628e6cb9
21:22 dalek matrixy: 2aed17c | Whiteknight++ | t/functions/ (24 files):
21:23 dalek matrixy: rename most of the t/functions/ files to not use ugly numbers
21:23 dalek matrixy: review: http://github.com/Whiteknight/matrixy/commi​t/2aed17ceef2f147dd74b30e3f70eb7113fb76e43
21:23 dalek matrixy: b30e3b0 | Whiteknight++ | t/functions/ (4 files):
21:23 dalek matrixy: add abs, max, min function files
21:23 dalek matrixy: review: http://github.com/Whiteknight/matrixy/commi​t/b30e3b0a2354c7651461ebb3eb4b9f3a29745601
21:23 dalek matrixy: ec06f75 | Whiteknight++ | t/functions/ (4 files):
21:23 pmichaud cotto_work: the amazon customer shots are pretty good.
21:23 dalek matrixy: add floor, ceil, round files
21:23 dalek matrixy: review: http://github.com/Whiteknight/matrixy/commi​t/ec06f758c8d0c1ae7fe7a8e4319d8c55e11f49c7
21:23 dalek matrixy: 71b66d9 | Whiteknight++ | src/internals/dispatch.pir:
21:23 dalek matrixy: fix is_scalar
21:23 dalek matrixy: review: http://github.com/Whiteknight/matrixy/commi​t/71b66d994d3e36ee61fa7e1427794be417d3b78b
21:23 dalek matrixy: a8ff57e | Whiteknight++ | src/builtins/abs.pir:
21:23 dalek matrixy: some fixes to abs.pir. abs.t doesn't pass still, so some exposed issues need a' fixin'
21:23 dalek matrixy: review: http://github.com/Whiteknight/matrixy/commi​t/a8ff57ed0fa847850be28f998325505c83ed156c
21:23 cotto_work The reviews are priceless.
21:25 pmichaud looks like I can still get one here by Wednesday to use on my trip :)
21:25 pmichaud I wasn't planning on driving, but this definitely makes that possible.
21:26 pmichaud bus number?  truck number?  we now have "laptop steering wheel desk number"!!!
21:30 NotFound That gadget can drastically reduce the bus number.
21:34 * Coke 's $DAYJOB rots his brain.
21:42 davidfetter joined #parrot
21:57 joeri left #parrot
22:01 dalek lua: 8e7a0c8 | fperrad++ | .gitignore:
22:01 dalek lua: fix .gitignore
22:01 dalek lua: review: http://github.com/fperrad/lua/commit/8e​7a0c86e16b6f4208c41498e825a742ff49455e
22:13 dalek parrot: r42795 | NotFound++ | trunk/examples/nci/Xlib.pir:
22:13 dalek parrot: [examples] better check for libX11 in Xlib example module
22:13 dalek parrot: review: https://trac.parrot.org/parrot/changeset/42795/
22:20 pmichaud Coke: just pushed some updates to partcl-nqp -- should resolve the 'lexpad' problem you've been seeing with 'if'
22:20 pmichaud let me know if it doesn't
22:21 pmichaud I also added a few more comments to the code to try to explain what was going on
22:21 cconstantine joined #parrot
22:21 pmichaud (still incomplete comments, but much better than what we had before)
22:41 pmichaud Coke:  ...I went ahead and added a simple implementation of 'uplevel' too.  :)
22:49 PerlJam why doesn't the original if statement work?
22:49 PerlJam set a 2; if {$a == 2} { puts "ok" }
22:50 PerlJam blows up with The opcode 'iseq_i_p_ic' (iseq<3>) was not found.
22:53 pmichaud oh, I dunno.
22:53 pmichaud I mean, I know why it fails now... I don't know why it worked before (if it did)
22:53 PerlJam It didn't work before because of the lexpad issue.
22:53 pmichaud token infix:sym<==> { <sym> <O('%compare_numeric, :pirop<iseq I++>')> }
22:53 pmichaud needs to be   Inn
22:53 pmichaud instead of I++
22:53 pmichaud since Parrot doesn't support  i_p_ic, apparently.
22:54 pmichaud dinnertime here, will bbi30
22:59 PerlJam strange
23:00 * PerlJam implements a few LHF for partcl before goign home
23:04 PerlJam They're not quite right in the grand scheme of things, but they're right enough for now  :)
23:04 * PerlJam home &
23:07 davidfetter joined #parrot
23:24 zak_ joined #parrot
23:54 nopaste "japhb" at 76.191.190.8 pasted "NQP-rx PIR for "my $a := -5"; why the neg op?" (13 lines) at http://nopaste.snit.ch/18820
23:55 japhb I'm surprised that it doesn't treat '-5' as the literal, rather than a negate prefix on a '5' literal.
23:55 PerlJam japhb: because $P14 could be an arbitrary expression?
23:56 PerlJam japhb: sounds like an optimization to me :)
23:56 japhb PerlJam, but why isn't the assign line 'assign $P14, -5'
23:57 japhb PerlJam: more a matter of suprise that it pessimized, in some sense.  Like the number literal interacts badly with the op parser.
23:59 s1n joined #parrot

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

Parrot | source cross referenced