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