|
Parrot 0.8.2 "Feliz Loro" Released www.parrot.org/news/2008/Parrot-0.8.2 Set by moderator on 23 December 2008. |
|||
| Limbic_Region AFK & | 00:00 | ||
| TimToady | S11:114 assumes that a proto is autogenerated if one isn't explicitly supplied, fwiw | 00:02 | |
| mostly based on the fact that pugs autogenerated a proto as needed | |||
| I'm not sure why Audrey wanted it, offhand, but it seemed reasonable | 00:03 | ||
| for one, it means you never have to ask yourself "Is there a proto?" | 00:04 | ||
| jonathan | I don't really understand the mechanism though. | ||
| multi foo(Int $x) { 1 } | |||
| multi foo(Num $x) { 2 } | |||
| What is the generated proto here? | |||
| TimToady | and probably as a locus for hanging knowledge pertaining to a particular lexical scope | ||
| probably just Any $x | 00:05 | ||
| jonathan | OK | ||
| TimToady | dunno exactly how pugs did it... | ||
| jonathan | multi bar($a) { 1 }; multi bar($a, $b) { 2 } # and here? | ||
| Well, that's my problem. I don't know how to do it, and I've yet to see a way that makes intuitive sense to me. | 00:06 | ||
| Or think up a way. | |||
| Or whatever. :-) | |||
| TimToady | I'm pretty good at the whatever part though... | ||
| mugwump | maybe the proto is a junction ? | 00:07 | |
| TimToady | or a multisig? hmm | ||
| proto bar ($a) | ($a,$b) {...} is legal syntax | |||
| but it's not a corner I've dabble in much | 00:08 | ||
| *dabbled | |||
| jonathan | I only really understand the role of protos as: | 00:09 | |
| 1) Fallbacks if the candidates can't decide. | |||
| 2) Writing of one enforces multi on all subs of the same name in scope. | |||
|
00:09
AndyA joined
|
|||
| jonathan | 3) Factoring out traits. | 00:09 | |
| I don't quite get the auto-generation side. | 00:10 | ||
| TimToady | the initial motivation was primarily to allow mapping of named arguments to positional parameters | ||
| jonathan | That makes sense to me. | ||
| TimToady | in the above :a(42) can always go to first positional | ||
| jonathan | But I hadn't really thought about auto-generating them from the possible candidates. | 00:11 | |
| mugwump | to me protos are all about enforcing constraints | ||
| TimToady | maybe there's some way of doing it lazily by introspection of existing multis | 00:12 | |
| jonathan | mugwump: In what sense? | ||
| mugwump | well, if I write a function and I want to be sure that an argument has a particular type/role, then I put it in the proto | ||
| jonathan | TimToady: I'd appreciate some fleshing out of this in the spec, or at least some examples of what an auto-generated proto is expected to do. | ||
| TimToady | I'll try to glare some at the pugs code and see what the motivation was | 00:13 | |
| jonathan | mugwump: So types specified in a proto are to be carried onto the appropriate parameters in multis? | ||
| mugwump hands TimToady the 3D glasses | |||
| TimToady | though it might be Sufficiently Advanced | ||
| jonathan | mugwump: And if so, how is this done? By name? By position? | 00:14 | |
| mugwump | jonathan, if the proto isn't defined as multi, then perhaps | ||
| if any declaration follows that disagrees then it's a redefinition | 00:15 | ||
| s/that// | |||
| er, s/that/ = "" ;) | |||
| jonathan | What is a proto defined as multi? | 00:16 | |
| multi and proto are mutually exclusive plurality declarators, I thought? | |||
| mugwump | are we talking about forward declaration of functions? | ||
| I thought that's what a proto was | |||
| TimToady | multi and proto are exclusive declaraitons | ||
| jonathan | mugwump: Are you not thinking of installing a stub? | 00:17 | |
| mugwump | right, yes | ||
| perl5 calls function definitions prototypes doesn't it.. | 00:18 | ||
| jonathan | sub foo() { ... } # the ... is literally there | ||
| mugwump | not sub foo(); ? | ||
| jonathan | I thought this was how you did prototypes/stubs. | ||
| I don't think that parses. | |||
| TimToady | it shouldn't | ||
| hmm, ends up backtracking and parsing as a listop which is a bit bogus | 00:19 | ||
| at least it says "Unknown routines: sub called at 1" | 00:20 | ||
| but should probably have a specific check for that p5ism in any case | 00:21 | ||
| mugwump | C-ism, perhaps | ||
| TimToady | we're not trying to make things any harder for recovering p5 programmers than they need to be... | 00:22 | |
| mugwump | heh :) | ||
| TimToady | if that *did* mean something in p6, it would mean the rest of the block was the body of the function, like 'package Foo;' | ||
| in fact, if we allowed that, one could maybe say "return sub;" to return the rest of the block as a closure :) | 00:23 | ||
| I do not construe this as a feature, necessarily... | 00:24 | ||
| mugwump | that would make for some excellent golfing though | 00:25 | |
| would 'return' be necessary, even? :> | 00:26 | ||
|
00:27
Theory joined
|
|||
| TimToady | well, if you're golfing it, there's ->; | 00:30 | |
| mugwump | true.. | ||
| lathos | Oh my. | 00:31 | |
| TimToady | you'll note that STD doesn't allow this currently :) | ||
| lathos | Recursive tail calls with "goto ->" ? | ||
| TimToady | well, we don't support goto a routine in p6, per se | 00:32 | |
|
00:35
tetragon joined
|
|||
| TimToady | so it'd have to be something like .callsame for ->; | 00:36 | |
| or .callwith to avoid passing the old args to a routine expecting no args | 00:39 | ||
|
01:17
japhb joined
01:35
jimmy joined
01:37
Fayland joined
02:03
petdance joined
02:04
TiMBuS joined
|
|||
| pmichaud | particle: ping | 02:22 | |
|
02:40
ChrisDavaz joined
02:47
Fayland joined
|
|||
| GeJ | would anyone object to moving Pod::Simple and Pod::Escapes to the latest version available on CPAN? It seems to solve several issues I have while `make html`ing | 02:47 | |
|
02:52
jimmy joined
02:57
jimmy joined
|
|||
| Infinoid | GeJ: sounds reasonable to me | 03:04 | |
|
03:05
ChrisDavaz joined,
galf joined
03:06
jimmy joined
03:20
ChrisDavaz joined
03:24
kid51 joined
|
|||
| kid51 | Tonight I called 'make html' for the first time. It worked, but I don't understand how. | 03:25 | |
| It translates to: 'make -C docs html' and then '/usr/local/bin/perl -I../lib ../tools/docs/write_docs.pl --silent'. | 03:26 | ||
| But the string 'write_docs' can't be found in the Makefile. | |||
| So how does 'make' know to invoke write_docs.pl? | |||
| pmichaud | kid51: it's in docs/Makefile | 03:27 | |
| kid51 | O | ||
| pmichaud | "docs" in the root Makefile calls docs.dummy, which in turn does "$(MAKE) docs" | ||
| which ends up being the "make -C docs html" command you see above. The -C means that we change to the docs/ directory before attempting "make html" | 03:28 | ||
| kid51 | Ah. Thx. I never had to pay much attention to the -C switch previously. | ||
| pmichaud | You're welcome. :-) | 03:29 | |
| kid51 | Of course, what I want to do is not to create a tree of .html files in ./docs/html, as this script does, but to get them visible on my web server -- or, better still, parrot.org. | 03:30 | |
| GeJ wonders why he's the only one seeing segfaults during `make html` | 03:31 | ||
| pmichaud | GeJ: Perhaps you're the only person wearing the "sooper-dooper segfault seeing eyeglasses"? ;-) | 03:34 | |
| GeJ: beyond that, I don't know. | |||
| kid51 | Too much tropical sunlight ;-) | ||
| dalek | r35087 | allison++ | trunk/src/pmc: | 03:35 | |
| : [cage] Fix improper PMCNULL handling in default 'isa_pmc'. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35087 | |||
| kid51 | Hmm, I see that the only reason why we have to have Pod::Simple and Pod::Escapes in our distro at all is that they were not Perl core until 5.9. | ||
| Infinoid | GeJ: let me guess, perl 5.10? | 03:37 | |
| GeJ | nope. 5.8.8 | ||
| Infinoid | ok, hmm. | ||
|
03:39
mdiep joined
|
|||
| mdiep | are test failures expected? | 03:39 | |
| pmichaud | mdiep: in Parrot? | 03:40 | |
| mdiep | err.... wait. I'm not even at TOT. I'm using 0.8.1 | ||
| pmichaud: yes, parrot | |||
| Infinoid | no, we don't fail tests here, you want that other channel | ||
| pmichaud | mdiep: what platform? | ||
| mdiep | OS X 10.5 Intel | 03:41 | |
| Infinoid | mdiep: what tests? | ||
| purl | You fail. | ||
| pmichaud | and you're running 0.8.1? | ||
| Infinoid | thanks, purl | ||
| purl | no worries Infinoid | ||
| mdiep | pmichaud: yes | ||
| purl: forget OS X 10.5 Intel | |||
| purl | mdiep, I didn't have anything matching os x 10.5 intel | ||
| Infinoid | purl, forget what tests? | ||
| purl | Infinoid, I didn't have anything matching what tests | ||
| mdiep | t/pmc/freeze, t/dynpmc/digest, t/dynpmc/dynlexpad, t/dynpmc/foo, t/dynpmc/rational, t/dynpmc/rotest, t/dynpmc/subproxy, t/dynoplibs/dan, t/library/mime_base64 | 03:42 | |
| kid51 | re t/pmc/freeze.t: trac.parrot.org/parrot/ticket/116 intermittently | 03:43 | |
| As for the rest, I would note that we're at 0.8.2 -- and well beyond that in HEAD. | 03:44 | ||
|
03:44
schobes joined
|
|||
| kid51 | Last 3 Smolder reports for Darwin i386 are all 100% passing (though there are some TODOs that are really Darwin-only problems). | 03:46 | |
| GeJ | is there a MANIFEST check? | 03:50 | |
| Ah, tools/dev/manicheck.pl seems to do the job. | 03:54 | ||
| kid51 | And to update MANIFEST: tools/dev/mk_manifest_and_skip.pl | 04:00 | |
| kid51 must sleep | 04:01 | ||
| purl | $kid51->sleep(8 * 3600); | ||
|
04:02
elmex_ joined
|
|||
| GeJ | TT#134 if there's any taker. | 04:10 | |
|
04:37
pdcawley joined
04:44
tetragon joined
04:52
schobes left
04:53
Fayland joined
|
|||
| tewk | Tene or pmichaud: I need basic PCT help. | 04:53 | |
| Tene | tewk: yes? | 04:55 | |
| tewk | Tene: did you look at my no paste from last night? | 04:56 | |
| Tene | kinda | ||
| tewk | nopaste.snit.ch/15212 | ||
| Tene: basically it generates the code to create an object twice, because I call a method on the object twice. | 04:57 | ||
| I only want one object, I just want to call the set method on the object twice. | 04:58 | ||
| I also want the object to be returned from the list of statements, | |||
| cardinal or rakudo has to do something like this, looking for an example | |||
| Tene | can you show me some PIR like what you want to generate? | 05:00 | |
| tewk | Yep, one second | ||
| dalek | r35088 | coke++ | trunk: | 05:01 | |
| : Add a release to this item. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35088 | |||
| nopaste | "tewk" at 155.97.237.62 pasted "tene: want to generate this" (9 lines) at nopaste.snit.ch/15229 | 05:02 | |
| Tene | Past::Op.new(:whatever('bind'), Past::Var.new(:scope('register'), :name('omg')), Past::Callmethod(Past::Var(package))))))))))))) | 05:04 | |
| like that | |||
| then pass a PAST::Var.new(:scope('register'), :name('omg')) | |||
| tewk | sounds right, I'll give it a try, | 05:05 | |
| Tene | see how you first need to save it somewhere with a bind op? | ||
| tewk | thanks | ||
| Tene | That's just an approximate sketch, but should send you in the right direction. | ||
| tewk | Tene++ | ||
| Yep I knew what I wanted to do I just didn't know how to get there. | 05:06 | ||
| Tene | I hoped I'd have a response to my loadlib issue so I could work on it tonight. | 05:07 | |
|
05:20
masak joined
05:26
MariachiElf joined
05:30
japhb joined
05:31
DietCoke joined
05:32
Andy joined
|
|||
| Infinoid | incoming bcanno branch merge. | 05:34 | |
| Andy: should ARGIN imply const? | |||
| Andy | i'd like it to | 05:35 | |
| dalek | r35089 | infinoid++ | trunk (16 files): | ||
| : Merge changes from bcanno branch back into trunk. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35089 | |||
| Andy | but it can't at this point | ||
| dalek | r35090 | infinoid++ | trunk (2 files): | ||
| : [core] Fix a warning from mismatched constness. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35090 | |||
| Infinoid | I'm curious why? | ||
| dalek | r35091 | infinoid++ | trunk (7 files): | ||
| : [cage] Fix up some codetest failures. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35091 | |||
| r35092 | coke++ | trunk/languages/ecmascript/t/js_pt (5 files): | 05:39 | ||
| : [cage] pass t/distro/file_metadata.t | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35092 | |||
| jimmy | Infinoid:ping | 05:41 | |
| Infinoid | hi jimmy | ||
| dalek | r35093 | coke++ | trunk/tools/util: | ||
| : another file_metadata.t fixup | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35093 | |||
| jimmy | nopaste | ||
| clunker3 | pasta.test-smoke.org/ or paste.husk.org/ or nopaste.snit.ch:8001/ or rafb.net/paste or poundperl.pastebin.com/ or paste.scsys.co.uk/ | ||
| jimmy | Infinoid:ping? | ||
| nopaste? | |||
| purl | i guess nopaste is at nopaste.snit.ch/ (ask TonyC for new channels) or rafb.net/paste or poundperl.pastebin.com/ 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) | ||
| clunker3 | pasta.test-smoke.org/ or paste.husk.org/ or nopaste.snit.ch:8001/ or rafb.net/paste or poundperl.pastebin.com/ or paste.scsys.co.uk/ | ||
| Infinoid | re-hi jimmy | 05:42 | |
| nopaste | "jimmy" at 220.231.152.66 pasted "a patch or parrot for Infinoid" (31 lines) at nopaste.snit.ch/15230 | ||
| jimmy | can you take a look at it? | 05:43 | |
| Infinoid | applied and testing now | 05:44 | |
| it looks good | |||
| jimmy | hehe, did you receive my message before? | 05:47 | |
| Infinoid | yeah. did you receive my reply? | ||
| jimmy | no | 05:48 | |
| Infinoid | I asked which ISO warnings you were seeing; I don't see any here. | ||
| jimmy | and I did get the message from irclog | ||
| and I did not get the message from irclog | |||
| Infinoid | I sent it to purl in privmsg. | ||
| jimmy | the C90 warning. | ||
| Infinoid | where? | ||
| jimmy | we discussed before | 05:49 | |
| Infinoid | I don't see any of those when building... I was hoping we had fixed them all. | ||
| jimmy | ISO C90 forbids mixed declarations and code | ||
| Infinoid | if there's another one you are seeing, we should fix that too | ||
| where does that warning occur? | |||
| jimmy | did you forget we discussed before? | ||
| Infinoid | no, I know we discussed it before. but I fixed them all! | 05:50 | |
| so I am asking where you are seeing such a warning. | |||
| jimmy | irclog.perlgeek.de/parrot/2009-01-04#i_803839 | 05:51 | |
| jimmy's patch tries to strip out the unused variable in the case where the asserts are disabled (by defining NDEBUG). but it results in lots of "src/string.c:3058: warning: ISO C90 forbids mixed declarations and code" warnings | |||
| Infinoid | yes, we already fixed that | 05:52 | |
| what I am asking now is if you are still seeing any ISO C90 warnings? and if so, where. | |||
| jimmy | ah ,where is the codes? | ||
| Infinoid | your most recent message to me seemed to indicate that you were still getting this warning when you built parrot | 05:53 | |
| maybe I misunderstood you | |||
| jimmy | my patch tries to strip out the unused variable in the case where the asserts are disabled (by defining NDEBUG). | ||
| so define it as none like _MSC_VER | 05:54 | ||
| Infinoid | yes, that works | ||
| when you build parrot, do you see any ISO C90 warnings? | |||
| jimmy | none | 05:55 | |
| Infinoid | great. so I misunderstood what you said earlier | ||
| jimmy | because there no semicolon | ||
| Infinoid | and everything is working well now | ||
| jimmy | the semicolon caused the ' ISO C90 forbids mixed declarations and code ' warning | ||
| i think i misunderstood you too just now. | 05:56 | ||
| I got the message now. bug purl does not clear the old messages. | 05:58 | ||
| dalek | r35094 | infinoid++ | trunk/include/parrot: | 06:01 | |
| : commit c86951f2c1b747fb50b14b1c2516aa551d24163f | |||
| Infinoid | you need to type "messages erase" for that | ||
| dalek | : Apply patch from jimmy++ to disable ASSERT_ARGS() when NDEBUG is defined. | ||
| review: www.parrotvm.org/svn/parrot/revision?rev=35094 | |||
| r35095 | infinoid++ | trunk/src/ops: | |||
| : [cage] Fix another constness warning. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35095 | |||
| Infinoid | stgit-- # didn't strip the commit line from my log message | 06:02 | |
| dalek | r35096 | coke++ | trunk/runtime/parrot/library/Test: | ||
| : avoid some [DEPRECATED] opcodes. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35096 | |||
| jimmy | Infinoid: thanks, I should erase the messages. | 06:03 | |
|
06:03
mdiep joined
|
|||
| jimmy | Infinoid: why is there 'commit c86951f2c1b747fb50b14b1c2516aa551d24163f'? we are using git now? | 06:03 | |
| Infinoid | jimmy: I exported and reimported the patch using stgit, and it didn't parse the file back in correctly | 06:04 | |
| parrot doesn't use git yet, but I use git locally | |||
| jimmy meeting | |||
| Infinoid | ok, I've inflicted enough damage for one day. goodnight all | 06:05 | |
| jimmy | good night | 06:07 | |
| cotto | GeJ++ | 06:08 | |
| jimmy | purl: messages erase | 06:10 | |
| purl | jimmy: i'm not following you... | ||
| Coke wonders if a realclean is needed after the bcanno mergeback. | 06:17 | ||
| apparently. | 06:23 | ||
| dalek | r35097 | coke++ | trunk (7 files): | 06:27 | |
| : remove [DEPRECATED] find_global_p_p_s opcode | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35097 | |||
| masak always does a realclean | 06:38 | ||
| I figure "what's the harm?" | |||
| tests 22, 25, 35 and 38 in t/spec/S05-substitution/subst.rakudo came out 'TODO passed'. I guess that's a good thing. | 07:02 | ||
| GeJ | cotto: thanks, but what for? | 07:06 | |
| cotto | your very special FreeBSD system | 07:10 | |
| It makes me happy every time I see some bug that only manifests itself on your machine, | |||
| GeJ | Well, I'm happy that my cursed box make you happy. | 07:12 | |
| Personnaly, I wish I wasn't *so* special. L:) | |||
| cotto | If it didn't break for you, it'd break for someone else later. | 07:13 | |
|
07:14
mberends joined
|
|||
| GeJ | Well, that's a double edged sword. On the one hand I may discover nasty bug before anyone else, on the other hand, when I'm the only one who can reproduce it, it's hard for others to debug and fix it. | 07:16 | |
|
07:24
jan joined
|
|||
| dalek | r35098 | coke++ | trunk (12 files): | 07:29 | |
| : Avoid the [DEPRECATED] find_global_p_s opcode | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35098 | |||
| Coke | I see a bunch of find_global in languages/ that need updating. | 07:30 | |
| cotto | find find_global (globally) | 07:33 | |
| Coke | if the bcanno branch is merged back, it can be removed. | 07:39 | |
| Coke ratchets TEST_JOBS up too high. | 07:40 | ||
| dalek | r35099 | coke++ | trunk (3 files): | ||
| : Remove [DEPRECATED] opcode: find_global_p_s | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35099 | 07:41 | ||
| r35100 | coke++ | trunk (12 files): | 07:57 | ||
| : Remove [DEPRECATED] opcode store_global_s_p | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35100 | |||
|
07:57
allison joined
|
|||
| Coke | allison: ping | 07:57 | |
| allison | Coke: hi | ||
| vat's up? | 07:58 | ||
| Coke | the 3^W2 store_global opcodes refer to C level functions which nothing else does. | ||
| e.g. Parrot_store_global_cur | |||
| chromatic | Axe 'em. | ||
| allison | yeah, they've been deprecated for a *long* time | 07:59 | |
| we don't do globals that way any more | |||
| Coke | well, the opcodes were, but not specifically the c. just checking. | ||
| allison | good to check | 08:00 | |
| dalek | r35101 | coke++ | trunk (3 files): | 08:07 | |
| : This function was only used by an opcode that no longer exists. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35101 | |||
| Coke | ... now I hear KITT. | 08:08 | |
| I suppose sleep might be an option. | 08:09 | ||
| jimmy | Andy: ping | 08:13 | |
| Andy | aw man I'm about to go to bed | ||
| what' up | |||
| dalek | r35102 | allison++ | branches/cc_restart/src: | 08:14 | |
| : [calling_conventions] Adding handling for PMC parameters marked as the invocant | |||
| : in PCC signatures. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35102 | |||
| jimmy | not important. I think we could discuss it tomorrow | 08:15 | |
| good night. | |||
|
08:22
TiMBuS joined
|
|||
| dalek | r35103 | allison++ | branches/cc_restart/src: | 08:42 | |
| : [calling_conventions] Add handling for invocants when generating an MMD | |||
| : type_tuple from a CallSignature object. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35103 | |||
|
09:01
tomyan joined
|
|||
| Coke | ZOMG TOO MUCH COFFEE | 09:25 | |
| dalek | r35104 | allison++ | branches/cc_restart/src: | 09:33 | |
| : [calling_conventions] Add a new function for invoking a method using the PCC | |||
| : and CallSignature objects. Currently unused. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35104 | |||
| r35105 | allison++ | branches/cc_restart/include/parrot: | 09:37 | ||
| : [calling_conventions] Headerizer changes for new and renamed pcc_invoke functions. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35105 | |||
|
09:41
iblechbot joined
09:42
donaldh joined
09:56
alvar joined
|
|||
| dalek | r35106 | cotto++ | trunk/docs/book: | 10:00 | |
| : [book] typo fix noticed by Christian Sturm (RT #62014) | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35106 | |||
|
10:08
desertmax joined
10:22
purl joined
|
|||
| dalek | r35107 | jquelin++ | trunk/languages/befunge (7 files): | 10:37 | |
| : moved all pasm files to pir | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35107 | |||
| r35108 | jquelin++ | trunk/languages/befunge (3 files): | 10:39 | ||
| : update vi meta information | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35108 | |||
| r35109 | cotto++ | trunk (2 files): | 10:41 | ||
| : [hash] make clone and freeze iterate by internal order rather than bucket order | |||
| : this fixes TT #116 and causes no new test failures | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35109 | |||
|
10:45
gaz joined
|
|||
| GeJ | cotto++ | 10:52 | |
| cotto | I hope there's not too much more stuff like this that'll be exposed by hash seed randomization. | 10:54 | |
| dalek | r35110 | jquelin++ | trunk/languages/befunge (2 files): | 10:58 | |
| : starting implementation in debug | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35110 | |||
| cotto | sleep! | ||
| GeJ | good night cotto | 11:00 | |
|
11:03
kj joined
|
|||
| dalek | r35111 | kjs++ | trunk: | 11:06 | |
| : [MANIFEST] Fix manifest after removal of files. Attention committers! | |||
| : D: languages/befunge/io.pasm | |||
| : D: languages/befunge/stack.pasm. | 11:07 | ||
| : Committers, please regenerate MANIFEST using perl tools/dev/mk_manifest_and_skip.pl script after removing and adding files. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35111 | |||
| r35112 | jquelin++ | trunk/languages/befunge (2 files): | 11:15 | ||
| : begin of printing status in debug mode | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35112 | |||
| r35113 | rurban++ | branches: | 11:26 | ||
| : Creating forth branch for ongoing 'make install' work, at trunk r35106. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35113 | |||
| jonathan | hi all | 11:50 | |
| kj | hi jonathan | 11:53 | |
| donaldh | hi, where does the coding std live? | 11:54 | |
| kj | docs/pdds/pdd07 | 11:59 | |
| donaldh | kj: thanks | 12:00 | |
| jonathan | Infinoid++ # merge | ||
| kj | mm weird. the linker can't seem to find the new annotation stuff; pirc has link errors | 12:01 | |
| jonathan | kj: Hmm. Do you link aginst libparrot? | ||
| kj | yes | ||
| I rebuilt parrot | |||
| jonathan | I didn't PARROT_EXPORT them. | ||
| If you need 'em, we'll have to. | |||
| kj | oooh ok | ||
| I thought of that, but imcc needs them too... | 12:02 | ||
| jonathan | I'm trying not to introduce more exports that we don't need. ;-) | ||
| kj | ok | ||
| jonathan | imcc won't build for you? | ||
| It did for me on Linux and Windows. | |||
| dalek | r35114 | jquelin++ | trunk/languages/befunge (2 files): | ||
| : using global to store the status | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35114 | |||
| kj | imcc builds fine, but I thought, if imcc can find it, why can't pirc? | 12:03 | |
| donaldh | kj: imcc is inside libparrot, but presumably pirc isn't ? | ||
| kj | but imcc is part of parrot executable, of course.. that explains | ||
| jonathan | Because all of that is bundled into libparrot? | ||
| kj | yes probably so. In order to make IMCC pluggable that needs to be changed anyway, in the future | ||
| donaldh | pdd07_codingstd doesn't mention anything about automatic variable initialization | 12:08 | |
| Is there a convention? | |||
| kj | I think that' sjust common sense ;-) | ||
| donaldh | It's just that valgrind is reporting uninitialized accesses during trace_system_stack which I think is caused by uninitialized automatics. | 12:10 | |
| It means that random data gets followed when checking for PMCs on the stack. | 12:11 | ||
| during gc | 12:12 | ||
| jonathan | Isn't that inherent in conservative GC? | ||
| donaldh | It might be possible to ignore, since the data needs to point inside the arena and needs to be correctly aligned before any marking happens. | 12:13 | |
| But my test program regularly falls over in there and I am still chasing the root cause. | 12:14 | ||
| dalek | r35115 | jquelin++ | trunk/languages/befunge: | 12:16 | |
| : debug output: direction and flags | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35115 | |||
| r35116 | jquelin++ | trunk/languages/befunge: | 12:18 | ||
| : simplifying coords & current char output | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35116 | |||
| r35117 | jquelin++ | trunk/languages/befunge: | 12:25 | ||
| : dumping stack on debug | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35117 | |||
|
12:35
Lorn joined
12:41
kid51 joined
|
|||
| donaldh | Is there a way to dump the contents of a PMC from gdb? | 12:42 | |
| sjn | jonathan: about NPW talks, would it be possible/sensible with a talk (or several) that prepare people in some obvious way for the hackathon the weekend after the conference? | 12:46 | |
| dalek | r35118 | jquelin++ | trunk/languages/befunge: | 12:49 | |
| : beginning interaction work | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35118 | |||
|
12:51
Wknight8111 joined
|
|||
| jonathan | sjn: Could be worth considering, yes. | 12:53 | |
| sjn: Probably a discussion that pmichaud should be part of too. | |||
| Assume he is going to make it, which I think is his intention. | |||
| *assuming | |||
| dalek | r35119 | jquelin++ | trunk/languages/befunge: | 12:54 | |
| : debug help implemented | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35119 | |||
| r35120 | jkeenan++ | trunk (11 files): | 13:10 | ||
| : Applying patch submitted by Geraud Continsouzas in trac.parrot.org/parrot/ticket/135 (plus one small fix to CREDITS). | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35120 | |||
| sjn | jonathan: anyone else who should be in on it? | 13:11 | |
| jonathan | Depends on, if any people from other Perl 6 related projects besides Rakudo intend to come along too. | 13:12 | |
| Like, maybe some of the November guys. | 13:13 | ||
| e.g. masak | |||
| masak wakes up with a start | |||
| hunh? | |||
| oh, yes, I intent to come. | |||
| s/nt/nd/ | |||
| :2ns | |||
| masak aborts attempts to write correctly | 13:14 | ||
| I also plan to give a talk about November, and perhaps a lightning talk too | |||
| tewk needs and example of iterating over a capture as if it was an array | 13:15 | ||
| for $/ { | |||
| doesn't seem to work. | |||
| masak | tewk: does 'given $/' work? | 13:16 | |
| jonathan | masak: OK, great. Will you come to the hackathon too? | ||
| tewk | NQP here, not rakudo, does NQP have given? cause then I want to switch on type :) | ||
| masak | jonathan: sure. | ||
| jonathan | masak: Cool. Would be quite nice to get more people hacking on November. | 13:17 | |
| masak | tewk: oh. no, don't think so. | ||
| jonathan | tewk: No. | ||
| masak | jonathan: indeed. | ||
| tewk | get_iter() not implemented in class 'Capture' | ||
| jonathan | tewk: try for @($/) { ... } maybe | ||
| or for $/.list() { ... } | |||
| jonathan takes the couple of positive comments on the extra annotations stuff and the lack of complaints from @other as permission, and gets cracking. | 13:19 | ||
|
13:20
Andy joined
|
|||
| tewk | jonathan: they both compile, but the loop body doesn't execute, so I guess they return an empty array, hmm | 13:21 | |
| jonathan | tewk: You're sure there are elements? | ||
| tewk | at this point I just want to dump $/ children in the order they were parsed. | ||
| _dumper($/) suggests so, nopast coming | 13:22 | ||
| nopaste | "tewk" at 155.97.237.62 pasted "$/ dump" (475 lines) at nopaste.snit.ch/15231 | 13:24 | |
|
13:25
mj41 joined
|
|||
| jonathan | tewk: It has positional captures though (e.g. (foo))? | 13:26 | |
| The hash would hold the named ones... | |||
| tewk | I want the children in the order they were parsed, do I need to change my grammar? | 13:30 | |
| jonathan | Can you give me an example of the bit of grammar in question? | 13:31 | |
| nopaste | "tewk" at 155.97.237.62 pasted "tewk struggles with PCT" (26 lines) at nopaste.snit.ch/15233 | 13:35 | |
| jonathan | tewk: Ah. I think named and positional captures don't overlap. | 13:37 | |
| Maybe try | |||
| '[' <elision>? <element_list>? [',' <elision>]? ']' | |||
| oops | |||
|
13:37
tomyan joined
|
|||
| jonathan | '[' (<elision>)? ((<element_list>)? [',' (<elision>)]? ']' | 13:38 | |
| But there'll be other ways I guess. | |||
| (Like, <elision> should be a list.) | |||
| And you can know, if it only has one element, whether it was before or after element_list by checking the .from IIRC. | 13:39 | ||
| tewk | yeah, but I don't want to have to check .from. | 13:40 | |
| I guess I misunderstood matches/captures, I though you could treat them as an array or a hash | 13:41 | ||
| pmichaud | good morning | ||
| nopaste | "tewk" at 155.97.237.62 pasted "$/ dump" (475 lines) at nopaste.snit.ch/15234 | 13:43 | |
| tewk | opps, | ||
| jonathan | morning, pmichaud | 13:44 | |
| Did you jinx your hacking time last night? | |||
| pmichaud | looks like it. | 13:47 | |
| jonathan | :-( | ||
| pmichaud | ended up spending time with wifey | 13:48 | |
| jonathan | That's important/good too. :-) | ||
| I didn't do much after you'd gone. | |||
| Wknight8111 | (time with wifey)++ | ||
| jonathan | Am doing some more annotations stuff. | ||
| Wknight8111 | my wife didn't even come home last night :( | 13:49 | |
| pmichaud | that's good. | ||
| jonathan | (not having wifey)-- # :-( | ||
| pmichaud | (doing annotations stuff == good) | ||
| jonathan | Aye. | ||
| Nobody responded to my suggestions with hate, so...in they go. | |||
| pmichaud | oh, I'll review quickly if you're looking for some hate :-) :-) | ||
| jonathan | Review my last patch to rvar last night - you'll find some there. ;-) | 13:50 | |
| pmichaud | I think I already reviewed it. | ||
| jonathan | Hate? | ||
| pmichaud | the ones I saw looked okay. But I'll check again. | ||
| purl | HATE! I HATE YOU, AND YOUR MOTHER TOO!! | ||
| jonathan | ...wow... | ||
| pmichaud | oh, there's more patches to rvar... looking. | 13:51 | |
| Wknight8111 | purl needs some anger management techniques...or alcohol | ||
| purl | Wknight8111: huh? | ||
| Wknight8111 | although it is a little early for alcohol | ||
| pmichaud | oh no, I had already reviewed this via the web diffs. | ||
| so yes, the rvar stuff looks great. | |||
| masak | purl: why the sudden hate? | 13:52 | |
| purl | i haven't a clue, masak | ||
| Wknight8111 | although it? | ||
| purl | although it is more "perlish" to use "unless". or good with ginger ale, absent the cucumber. | ||
| jonathan | pmichaud: OK, great. Maybe I'll dare to do a little more rvar stuff. ;-) | ||
| pmichaud | for bytecode annotations... (reading message now) | ||
| wouldn't $?FILE and $?LINE end up being compile-time constants? | 13:53 | ||
| as opposed to using an opcode? | |||
| I could see $CALLER:: versions perhaps wanting to be an opcode, though, assuming any such thing exists. | |||
| jonathan | pmichaud: We could do them that way too, yes. | 13:54 | |
| pmichaud: I do think it would be useful to be able to say "what annotations are currently in effect", though. | |||
| pmichaud | definitely. | ||
| jonathan | But you just blew away my immediate use case. :-| | 13:55 | |
| pmichaud | if it's easy to add annotations op, then probably worth adding. | ||
| jonathan | It's trivial - it just took me 10 minutes. | ||
| pmichaud | don't we really want/need the annotations op anyway for things like 'die'? | 13:56 | |
| and warn? | |||
| purl | rumour has it warn is print debugging info or might be wrong | ||
| pmichaud | anyway, I have no complaints about the annotations stuff you propose. | 13:57 | |
| sorry, still no hate here for you. I'm sure you hate that. :-P | |||
| jonathan | pmichaud: No, because you can do exception.'annotations'() in the common case | 13:58 | |
| pmichaud | okay. | 13:59 | |
| jonathan | If you meant, what annotations were in effect where we threw | ||
| dalek | r35121 | fperrad++ | trunk/languages/m4/src: | ||
| : [m4] | |||
| : - fix deprecated opcodes : store/find_global | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35121 | |||
| pmichaud | I'm kind of wondering if we might want them in order to build the exception before throwing it. | ||
| jonathan | Perhaps. | 14:00 | |
| Well, we'll have the option. | |||
| OK, annotations op and tests done...make test, then ci. :-) | 14:02 | ||
| PerlJam | good morning #parrot | ||
| jonathan | Then .backtrace for exception | ||
| Then we just need pmichaud to do Cursor ;-) | |||
| (After rvar... :-)) | |||
| tewk | pmichaud: got a second for some PCT questions? | 14:06 | |
| dalek | r35122 | pmichaud++ | trunk/languages/perl6/docs: | ||
| : [rakudo]: spectest-progress.csv update: 279 files, 6171 passing, 0 failing | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35122 | |||
| pmichaud | tewk: sure. | 14:07 | |
| nopaste | "tewk" at 155.97.237.62 pasted "can I do this without bind?" (33 lines) at nopaste.snit.ch/15236 | 14:10 | |
| masak | are user-defined operators on the Rakudo roadmap? | ||
| pmichaud | tewk: eventually you'll be able to do it without bind, but not yet. | 14:11 | |
| tewk: are you simply wanting to eliminate the extra set instruction? | |||
| masak: yes, they're on the roadmap (which I _really_ need to update) | |||
| dalek | r35123 | jonathan++ | trunk (4 files): | 14:12 | |
| : [core] Implement and test annotations opcode, for getting the current set of annotations in force or a particular annotation. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35123 | |||
| tewk | yeah, bind was not the first thing that came to mind when I tried to write the PCT initially. | ||
| so it was a struggle. | 14:13 | ||
| pmichaud | eventually I expect one to be able to do | ||
| PAST::Var.new( :scope('register'), :viviself( $past ) ) | |||
|
14:13
jimmy joined
|
|||
| pmichaud | and then re-use that PAST::Var node multiple times after that | 14:13 | |
| jonathan | Folks: that last ci I just did will probably want a realclean. | 14:14 | |
| jimmy | hello Infinoid | ||
| pmichaud | but in order for that to work, PCT needs to be able to remember "oh, I've already done the viviself part" when it encounters the node on the 2nd and subsequent evaluations | ||
| jonathan | pmichaud: Will that not require control flow analysis? | ||
| pmichaud | jonathan: PCT is going to take a naive approach | 14:15 | |
| jimmy | masak: ęäøå„½ | ||
| pmichaud | if what you're doing is more complex than what PCT can do on its own, then you'll have to manage it more carefully yourself. | ||
| the "I've already done the viviself part" is going to be handled by having each Block keep track of what registers it's already handled. | |||
| jonathan | OK. | 14:16 | |
| Infinoid | hi jimmy | ||
| pmichaud | That's also going to be used to allow PCT to avoid doing extra "find_lex" lookups for things that we know haven't been rebound. | ||
| tewk | pmichaud: yeah I wanted a PAST:Op.return_register() or something. | ||
| jimmy | Infinoid: good morning, I got a doubt. | 14:17 | |
| tewk | or PAST:Op.return_register_as_PAST_VAR(); | ||
| pmichaud | tewk: I think PAST::Var.new( :scope('register'), :viviself($past) ) works well enough :-) | 14:18 | |
| if it doesn't, then maybe | |||
| PAST::Op.new( $past, :pasttype('register') ) | |||
| jimmy | why we define ASSERT_ARGS(a) as none when _MSC_VER | ||
| pmichaud | but it still feels more like a ::Var node to me. | ||
| Wknight8111 | because MSVC doesn't support the magic in that macro | 14:19 | |
| jimmy | what magic? | ||
| purl | Sam sat on the ground and put his head in his hands. `I wish I had never come here, and I don't want to see no more magic,' he said, and fell silent. | ||
| Wknight8111 | or doesn't support it without complaining | ||
| i dont know anything about it really, just repeating what I've heard | |||
| jimmy | Infinoid: Is it __attribute__unused__ ? | 14:20 | |
| Infinoid | jimmy: because MSVC has no __attribute__unused__, and it results in a TON of warnings on that platform. | 14:21 | |
| jimmy | If we removed __attribute__unused__ ,does MSVC work well? | 14:22 | |
| Infinoid | no. | ||
|
14:22
Wknight8111 joined
|
|||
| jimmy | why? | 14:22 | |
| Infinoid | __attribute__unused__ is defined to nothing on MSVC, so in effect, we're already doing that | ||
| look at include/parrot/compiler.h | 14:23 | ||
| jonathan | pmichaud: Which of ctx_to and ctx_from is the one that I want to look at in order to get the context the continuation goes to when invoked? I'm guessing/hoping ctx_to? | ||
| Infinoid | HASATTRIBUTE_UNUSED is not defined on MSVC. | ||
| pmichaud | ctx_to is the context that you will be in if the continuation is invoked. | ||
| jonathan | OK, good. | ||
| jimmy | so what is the problem on MSVC? | 14:24 | |
| dalek | r35124 | infinoid++ | trunk (11 files): | 14:25 | |
| : Apply patch from GeJ++ in TT134, update the Pod modules bundled with parrot. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35124 | |||
| Infinoid | jimmy: nopaste.snit.ch/15203 | 14:26 | |
| dalek | r35125 | infinoid++ | trunk/include/parrot: | ||
| : [cage] Commit the latest updates from "make headerizer". | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35125 | |||
| Infinoid | jimmy: the problem is that MSVC doesn't have anything equivalent to gcc's __attribute__((unused)), so we can't disable those warnings. | 14:27 | |
| jimmy | should we add UNUSED(__ASSERT_ARGS_CHECK)? | ||
| Infinoid | jimmy: that will result in an ISO C90 warning | 14:28 | |
| include/parrot/compiler.h:114:#define UNUSED(a) if (0) (void)(a); | |||
| or do you mean, add it later on in the function? | 14:29 | ||
| jimmy | #define ASSERT_ARGS_do_panic __attribute__unused__ int _ASSERT_ARGS_CHECK = 0; UNUSED(_ASSERT_ARGS_CHECK) | ||
| this just my thought | 14:30 | ||
| Infinoid | yeah, I had considered that. but it will make ISO C90 warnings on both MSVC and GCC (on MSVC it's actually an error) if the function has any other variables declared after the ASSERT_ARGS() line | ||
| jimmy | or add it later on in the function. but it is not maintainability. | 14:31 | |
|
14:31
gryphon joined
|
|||
| Infinoid | indeed, the result seems pretty ugly to me | 14:31 | |
| which is why we chose to just disable it on MSVC for now | |||
| jimmy | if we add UNUSED(_ASSERT_ARGS_CHECK) at the bottom of all functions, it is ugly too. I think. | 14:32 | |
| Infinoid | hah. and will sometimes result in "code unreachable" warnings, if there was a return statement | ||
| jimmy | or after var declaration | 14:33 | |
| but it is ugly too. :( | 14:34 | ||
| Infinoid | yeah. and harder to do correctly with s/// | ||
| it's strange, but I was actually wishing parrot was written in XS, so that we could automatically insert these things in a preprocessor phase | |||
| any time I find myself wishing for XS, something is *seriously* wrong. | |||
| Wknight8111 | you wish something was written in XS? | ||
| that's...terrible | 14:35 | ||
| jimmy | XS? | ||
| jimmy don't know what it is. | |||
| Infinoid | see, I killed purl with that | ||
| Wknight8111 | XS is the dirty, disgusting C overlay that's used to write Perl 5 modules | ||
| Infinoid | indeed. the one good thing about XS is that it can insert this kind of thing into functions without changing the input source | ||
| but it's not a serious suggestion. | |||
| anyway, we should be able to do *exactly* this kind of thing in pmc2c and ops2c, which I'm looking forward to | 14:36 | ||
| jimmy | Is there any schedule to move #define ASSERT_ARGS_Parrot_set_global from .h files to .c files? | 14:37 | |
| Coke_zzz | (early for alcohol) it's 5 o'clock somewhere. (esp. if you're on IRC) | ||
| Infinoid | jimmy: "schedule"? nah, it's a cage cleaner task, I don't think it should effect the release schedule | ||
| far better is to just do it. :) | |||
| jimmy | I think there is a solution to avoid ' warning C4189: '_ASSERT_ARGS_CHECK' : local variable is ini | 14:38 | |
| tialized but not referenced' | |||
| but we can't reach it. | 14:39 | ||
| Infinoid | well, I am certainly interested in finding a better solution | ||
| so if you find one, please let me know | |||
| disabling the entire platform isn't exactly the cleanest solution I could imagine | 14:40 | ||
| jimmy | I am trying,just like the C90 waring. | ||
| Infinoid | jimmy++ | ||
| jimmy | as before, a known solution is to remove the warning from MSVC source codes. | 14:41 | |
| Wknight8111 | Coke, you need to get off IRC and get some sleep | 14:42 | |
| Infinoid | jimmy: of course, the MSVC source code isn't quite as available as the gcc source code is... | ||
| there's also a #pragma to disable the warning entirely, which is a cleaner way to achieve that goal | |||
| but the warning is still useful, we want to catch the non-_ASSERT_ARGS_CHECK cases | 14:43 | ||
| jimmy | yes. | ||
| Infinoid | so the trouble seems to be finding a non-global way to disable the warning | 14:44 | |
| jimmy | ah, I remember it. | ||
| #paragma | |||
| Wknight8111 | /join #pragma | 14:45 | |
| jimmy | The patch I uploaded is ugly too. because of confusion. | 14:46 | |
| Wknight8111 | ugly patches are beautiful on the inside | 14:47 | |
| jimmy | Wknight8111: the issue is that there is no perfect ways. | 14:49 | |
| Wknight8111 | oh, I know there is no good solution! That's why I'm not dealing with it | ||
| :) | |||
| jimmy | :) | 14:50 | |
| jimmy goes to sleep now. good night. | 14:51 | ||
| Wknight8111 wants to go to sleep now too | |||
| but /me is at work, and sleeping at work is frowned upon | |||
| jimmy | Wknight8111++ | 14:52 | |
| Coke | jonathan: ping | ||
| jonathan | Coke: pong | ||
| Coke | do we really need annotations_p_s ? | 14:53 | |
| is annotations followed by a hash lookup too much? | |||
| jonathan | Coke: I pondered that... | ||
| It was a kinda "completeness" thing. | |||
| But we don't strictly _need_ it. | |||
| We don't strictly need the string variant at all. | |||
| I was more matching precedent. | 14:54 | ||
| Coke | I will expect pmichaud to argue for its removal (too many opcodes) | ||
| jonathan | e.g. ops like insepect | ||
| Which I believe will take an s or sc | |||
| PerlJam | Coke: at some point, I think it might be interesting to generate a list of the ops that rakudo (and other languages) actually use and compare that with the ops we have to see which ops don't get used at all or are used infrequently. | 14:56 | |
| Wknight8111 | like x86, it will probably turn out that most of our opcodes aren't actually used by any of our HLL compilers | 14:57 | |
| PerlJam | Wknight8111: perhaps. | ||
| I don't know. Which is why real data helps :) | 14:58 | ||
| pmichaud | PerlJam: that's one of my tasks for this month's milestone -- to come up with a list of opcodes that we really don't use. | 15:01 | |
| jonathan | pmichaud: Agree with getting rid of annotations_p_s and just have the sc variant? | 15:02 | |
| It'll be one less to review. ;-) | |||
| pmichaud | (annotations_p_s) It somewhat depends on where the whole "clone for readonly behavior" notion ends up | ||
| (more) | |||
| let's take inspect_str on Class as an example | 15:03 | ||
| right now $P0 = inspect class, 'attributes' is scheduled to return a shallow-clone of the attributes hash | |||
| however, that shallow clone is only one deep, so it's possible for me to modify the metadata keys for any particular attribute | |||
| PerlJam | on the parrot roadmap, what happens to those items with a status of "missed" exactly? According to the legend they need rescheduling. When does that happen? | 15:04 | |
| Wknight8111 | I thought allison was talking about handling metadata differently? | ||
| pmichaud | so, perhaps inspect class, 'attributes' should do cloning two levels deep | ||
| Wknight8111: I'm getting to that, unless there's a message I didn't see yet. | |||
| Wknight8111 | ok | 15:05 | |
| pmichaud | (note that what I'm describing for inspect_str here applies to the 'attributes' method on the Class PMC as well) | ||
| in other words, when I ask a Class for a list of its attributes, I get back a hash that contains cloned hashes of each attribute's metadata | 15:06 | ||
| this prevents me from using inspect to modify the metadata | |||
| now then, the "one-at-a-time" interface is going to be set_attribute | 15:07 | ||
| i.e., if I want to inspect a single attribute's metadata, I use getattribute on the class to do it | |||
| $P0 = getattribute class, "$!xyz" # retrieve metadata for $!xyz attribute | |||
| the idea being that we can intercept getattribute to do various special-purpose things and/or filters if needed | 15:09 | ||
| jonathan | *nod* | ||
| Which all makes sense, but my original question was about annotations_p_s, not inspect_p_s. ;-) | |||
| pmichaud | however, we probably don't want the caller to be able to manipulate *that* returned hash to change an attribute's metadata, so it should probably be a shallow clone of the attribute's metadata hash | ||
| (I'm getting to annotations_p_s) | |||
| jonathan | Ah, OK. | ||
| pmichaud | so, let's look at what using the getattribute interface involves | 15:10 | |
| if we don't know the list of attributes already, we have to call 'attributes'() to get it | |||
| that involves creating n+1 new hashes, where <n> is the number of attributes | |||
| jonathan | I'd sooner $P0 = inspect 'attributes' but allison somehow seems to think that's wrong. | ||
| But anyway... | 15:11 | ||
| pmichaud | they end up being the same. | ||
| jonathan | *nod* | ||
| pmichaud | then, supposedly, we iterate through the list of attributes we got back, and use getattributes on each one so we can make use of the typed interface | ||
| but of course that involves making <n> more new hashes, which are re-creations of what we got back from inspect | |||
| so there's little point in using the getattribute interface once we've done inspect. | 15:12 | ||
| jonathan | Yes. | 15:13 | |
| pmichaud | the time when the getattribute interface would be useful is when we want to fetch attribute metadata for a specific attribute (that we already know) | ||
| jonathan | Yes. | ||
| pmichaud | this would allow us to create only one shallow-copy hash | ||
| but I don't know how common that will be. | |||
| so, coming around to annotations | 15:14 | ||
| if you're returning hashes of information, my question would be "are we protecting them by making clones"? | |||
| also "are we more likely to ask for the entire set of annotations, or for just a known set of annotations"? | 15:15 | ||
| jonathan | pmichaud: We don't _have_ anything to clone. | ||
| annotations are stored very compactly until we ask for them. | |||
| We produce a hash on demand that is not linked in any way to the underlying data. | 15:16 | ||
| pmichaud | okay, so that eliminates my first question. | ||
| jonathan | In the second case, if we don't know what the annotations are, then we have to get the hash to know what is available, in which case we have the annotation anyway. | 15:17 | |
| So you'd not use the variant that takes a non-constant string to look it up. Youd' already have it. | |||
| If you know you just want, say, 'line', on the other hand, then you already know it's there. | |||
| erm, that sentence was badly worded... | 15:18 | ||
| pmichaud | what if the annotation I want to look up is coming from another function? | ||
| (also badly worded) | |||
| what if I'm actually building the name of the annotation to be looked up dynamically? | |||
| I could probably put it more generally this way: I'm not too concerned about eliminating e.g. _s versus _sc variants | 15:19 | ||
| jonathan | If there's a use case where we'd do that, the annotation_p_s would be useful. | ||
| Otherwise you'd have to get the hash and look up in that. | |||
| It's a question of, is that something we'll do often enough it's worth an op. | |||
| I don't think it hurts much to have one. | |||
| But then, for every 100 times we say "yeah, one more op is OK", we end up with 100 more ops. :-) | 15:20 | ||
| pmichaud | in general if we have _s, _i, or _n arguments to an op, then I prefer to see the _sc, _ic, and _nc variants available also where it makes any sort of sense. | ||
| (and vice versa) | |||
| jonathan | Same. | ||
| So you're saying leave both in? | |||
| pmichaud | I think so, yes. | ||
| jonathan | OK. | 15:21 | |
| That's a noop for me then. :-) | |||
| pmichaud | the only question for me would've been "do we need the ability to look up a single annotation by string or string constant?", which I think is "yes" | 15:22 | |
| PerlJam | when would the _sc variant not make sense if we have an _s already (for instance) ? | ||
| jonathan | If the op modified the input. | 15:23 | |
| pmichaud | PerlJam: I can't think of any off the top of my head. But the opcode set's irregularities can cause fits for PCT (which is why we have an opcode table at the beginning of PAST::Compiler, and funny signature syntaxes to indicate what types of arguments each opcode could potentially accept) | ||
| jonathan | Not sure if we have any cases of that for string. | ||
| PerlJam | jonathan: good point though. Aside from that, maybe it's just me, but I tend to get annoyed when I have to say $S0 = "str"; foo $S0 instead of just foo "str" | 15:25 | |
| tewk | pmichaud: I did you see my conversation with jonathan about getting all the children of a match as an ordered array? | 15:27 | |
| dalek | r35126 | coke++ | trunk (7 files): | 15:29 | |
| : remove [DEPRECATED] opcode store_global_p_s_p | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35126 | |||
|
15:29
mj41_ joined
|
|||
| jonathan | Woo, custom backtraces. | 15:34 | |
| in baz line 1 (baz.pm) | |||
| in bar line 5 (foo.p6) | |||
| in foo line 2 (foo.p6) | |||
| (Sadly, not from Rakudo, just my test script.) | 15:35 | ||
| tewk | jonathan: so how much work will it be to add annotations to PCT? | ||
| jonathan | tewk: pmichaud needs to do a refactor in PGE to give us line numbers easily available first. | 15:37 | |
| tewk: After that, hopefully not much work. | 15:38 | ||
| masak | jonathan: I really, really like that backtrace. | 15:39 | |
| jonathan | Coming to a Rakudo near you hopefully soon. :-) | ||
| Coke | jonathan: can we see your test script? | 15:40 | |
| jonathan++ | |||
| jonathan | Coke: No 'cus I just realized the output is wrong. :-P | 15:44 | |
| But easy fix... Anyway, here it is... | |||
| nopaste | "jonathan" at 85.216.157.73 pasted "test file that gave the output I pasted" (64 lines) at nopaste.snit.ch/15237 | 15:45 | |
| jonathan | Things you discover when writing tests...bugs. ;-) | ||
| Top line of output shoulda been "in baz line 2 (baz.pm)" - fixed now | 15:48 | ||
|
15:52
jhorwitz joined
|
|||
| masak | "LOL HALP I HAZ A FAIL" :P | 15:53 | |
| dalek | r35127 | coke++ | trunk (3 files): | 15:54 | |
| : remove Parrot_store_global_k, only used by a long-[DEPRECATED] and now removed opcode | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35127 | |||
|
15:58
davidfetter joined
|
|||
| dalek | r35128 | jonathan++ | trunk/docs/pdds: | 16:01 | |
| : [pdd] Remove unimplemented notes for annotations method on Exception, and add documentation for backtrace method. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35128 | |||
| r35129 | jonathan++ | trunk (2 files): | 16:02 | ||
| : [core] Implement backtrace method on Exception class, and add some tests for it. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35129 | |||
| jonathan | masak: OH YOU DOZ? | 16:04 | |
| OK, is that enough to mark annotations as "landed", I wonder? | 16:05 | ||
| masak | jonathan: no, I just found that string literal in your paste. | ||
| jonathan: if all tests pass, and the backtraces look beautiful, what's there to hesitate about? | 16:06 | ||
| jonathan | masak: I knows. ;-) | ||
| Well, the stuff is there to make the backtrces look beautiful. | |||
| (A language can make them look however it wishes - that's the point.) | 16:07 | ||
| Oh, what is the "bytecode testing framework" thingy I'm meant to be doing? | |||
| pmichaud | jonathan: I think you can likely mark bytecode annotations as landed. | 16:14 | |
| you can also resolve a couple of RT tickets. | |||
| jhorwitz | jonathan++ | ||
| tewk | jonathan++ | 16:15 | |
| so how much of a pain is the PGE refactor that is needed for annotations? | 16:16 | ||
| jonathan | pmichaud: OK. I don't know what the thing that has been written next to it is about. | ||
| pmichaud | jonathan: I don't know either. I didn't write that. :-) | ||
| jonathan wonders who did | 16:17 | ||
| pmichaud | I suspect it might be something kjs needs for pirc. | ||
| tewk | the interface between parrot and imcc needs to be pluggable. | ||
| pmichaud | i.e., a set of bytecode tests to verify that bytecode generators (imcc, pirc) are producing the correct output. | ||
| or, a pluggable bytecode generator interface, as tewk suggests. | 16:18 | ||
| my guess is: | |||
| Infinoid | jonathan: oh, should I remove branches/bcanno/ now? (I got so caught up with testing the patch in trunk, I forgot all about it.) | ||
| pmichaud | (1) particle combined "bytecode annotations" and "bytecode testing framework" into a single item | ||
| jonathan | Infinoid: I was going to, but you may. | ||
| pmichaud | (2) your name was placed on that item because you're doing bytecode annotations | ||
| dalek | r35130 | infinoid++ | branches: | 16:19 | |
| : Remove old bcanno branch; it's been merged into trunk. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35130 | |||
| jonathan | I've separated them back out and marked bytecode annotations as landed. | 16:20 | |
| pmichaud | excellent. | 16:21 | |
| jonathan++ | |||
| Infinoid | is "bytecode testing" just the fact that t/native_pbc has been skipping tests since forever? | ||
| (I really don't know, its just a guess.) | 16:22 | ||
| jonathan | Infinoid: That's another viable guess. | ||
| OK, I see no Trac tickets about bytecdoe anno stuff. Let me peek at RT. | 16:25 | ||
| pmichaud | it's more about line numbers | ||
| in pir source | |||
| jonathan | Ah, metadata in bytecode can be closed :-) | 16:27 | |
| dalek | r35131 | infinoid++ | trunk (6 files): | 16:28 | |
| : [cage] A batch of file_metadata.t fixes. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35131 | |||
| Infinoid | one drawback of using git all the time is the lack of metadata testing. | 16:29 | |
| jonathan | And other one found/closed. | 16:36 | |
| Was rt.perl.org/rt3/Ticket/Display.html?id=47930 not already done? | 16:41 | ||
| Meh, I has no delete privs on RT. Somebody delete rt.perl.org/rt3/Ticket/Display.html?id=62042 | 16:50 | ||
| pmichaud: You planning more work on rvar today? | 16:54 | ||
| Coke | jonathan: spam goes in the spam queue. moved. | 16:55 | |
| jonathan | Coke: Thanks. | ||
| pmichaud | jonathan: yes -- I just wanted to get my responses to allison about class identification, since she was good enough to put effort into it quickly. | 16:56 | |
| those are now sent, so I'm back to rvar. | |||
| (and I just had lunch :-) | |||
| dalek | r35132 | rurban++ | branches/pdd30install_stage4 (4 files): | 16:59 | |
| : RT#39742 installed parrot conflicts with dev parrot: | |||
| : - move -L/usr/lib in ldflags behind -lparrot | |||
| : - link directly to dll in build_dir, get rid of cygchkdll | |||
| : - fix wrong implib in ext/SQLite3/Makefile.in | |||
| : M ext/SQLite3/Makefile.in | |||
| : M MANIFEST | |||
| : M config/init/defaults.pm | |||
| : M config/gen/makefiles/root.in | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35132 | |||
| pmichaud | any particular rvar piece you want me to address first? I was going to restore grammar/regex/token/rule | ||
| jonathan | Those are fine with me. | 17:00 | |
| pmichaud: Any chance of a sync-up with trunk before you dig in? | 17:01 | ||
| pmichaud: Or is that too hard? | |||
| pmichaud | you mean sync trunk into the branch? | ||
| jonathan | You hate doing that. :-) | 17:02 | |
| pmichaud | well, I can do it the way I normally do it. | ||
| I don't mind doing it. | |||
| it's probably a good place/time for us to do it, yes. | |||
| jonathan | OK, my real issue: do we know what tests we are failing because of the branch, and because of lagging behind fixes in drunk? | ||
| er, trunk | |||
| <- totally sober | |||
| pmichaud | there aren't many lagging issues. | ||
| jonathan | OK, if there aren't then I'm not so concerned. | ||
| pmichaud | there hasn't been much change to rakudo outside of the rvar branch. | 17:03 | |
| jonathan | OK. | ||
| I just didn't want to be chasing down test failures, that aren't because of the branch. | |||
| particle | there's just the one failing parrot test on win32 that i fixed in trunk | 17:04 | |
| pmichaud | agreed, I don't think there are any many. | ||
| jonathan | Our spectest.data is out of date. | ||
| pmichaud | that's okay if spectest.data is out of date. | ||
| jonathan | Due to moving stuff around in the Pugs repo. | ||
| pmichaud | oh. | ||
| did a lot of stuff move? | |||
| particle | you can sync that one file | ||
| pmichaud | if so, then maybe we do need to sync with trunk. | ||
| jonathan | Note sure | ||
| Missing test file: t\\spec\\S29-list\\map_empty_list.t | |||
| Missing test file: t\\spec\\S29-list\\map_flattening.t | |||
| Missing test file: t\\spec\\S29-list\\map_topic.t | |||
| I get those at least. | |||
| pmichaud | yes, we should resync spectest.data then. In that case we'll get some unpack failures. | 17:05 | |
| (because unpack did go in) | |||
| I'll go ahead and manage a sync | |||
| only takes about 10-15 minutes, normally. | |||
| and it is a good point to do that. | |||
| particle | it's seriously easy with svn 1.5, i could do it for you | ||
| pmichaud | it's seriously easy the way I do it, too. :-) | ||
| particle | or, you can recreate the branch, your style | ||
| could you keep the branch name the same? | 17:06 | ||
| jonathan | pmichaud: OK, go for it. :-) | ||
| pmichaud | do I need to keep the branch name the same? | ||
| jonathan | Doesn't matter to me. | ||
| particle | it's easier for us, we just wait and do svn up | ||
| pmichaud | oooh, I woudln't trust that. | ||
| particle | it works. | ||
| pmichaud | even if I move the existing branch somewhere? | ||
| that would seem.... odd. | 17:07 | ||
| jonathan | Please let's not try and be too clever. :-) | ||
| pmichaud | right, I'm trying to not be too clever here. | ||
| particle | you'll delete and recreate the branch | ||
| ok, whatever. | |||
| jonathan | pmichaud: Go ahead and do it the way that makes sense. :-) | ||
| (to you ;-)) | |||
| dalek | r35133 | pmichaud++ | branches: | 17:08 | |
| : New branch for sync rvar with trunk. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35133 | |||
| particle | pmichaud: i want to create a 'testable' make target for rakudo, that compiles perl6, updates t/spec, and compiles Test.pir | 17:13 | |
| good/bad/ugly? | |||
| then i can say make testable && tools/test_summary.pl | |||
| dalek | r35134 | pmichaud++ | branches/rvar2 (20 files): | ||
| : Second step of new branch from rvar+trunk. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35134 | |||
| pmichaud | (rvar2 branch should now be ready -- I haven't tested it yet for problems but we can do that in parallel) | 17:14 | |
| particle | or make testable localtest | ||
| pmichaud | well, localtest shouldn't imply updating t/spec | ||
| oh, you mean to do both. | |||
| okay. | |||
| particle | ok, great | 17:15 | |
| pmichaud | wait a sec-- checking. | ||
| particle | localtest does update t/spec, but doesn't make Test.pir | ||
| odd. | |||
| pmichaud | it should -- that's probably left over. | ||
| i.e., I didn't update it then. | |||
| particle | should localtest update t/spec? | 17:16 | |
| pmichaud | I'd prefer that it didn't. | ||
| particle | consider it done | ||
| pmichaud | it doesn't now. | ||
| particle | localtest: all t/spec t/localtest.data | ||
| pmichaud | the t/spec target just does a checkout, it doesn't update | ||
| particle | it *does* | ||
| ah | 17:17 | ||
| pmichaud | if t/spec already exists it's a no-op. | ||
| particle | ok, nm | ||
|
17:17
Andy joined
|
|||
| pmichaud | maybe we should have spectest_checkout and spectest_update targets | 17:17 | |
| particle | yep, i'll do that first | 17:18 | |
| pmichaud | keep in mind that I only want a checkout to be performed if t/spec doesn't already exist. | 17:19 | |
| jonathan builds rvar2 | |||
| dalek | r35135 | particle++ | trunk/languages/perl6/config/makefiles: | ||
| : [rakudo] fix typos in makefile template | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35135 | |||
| pmichaud | argggh, "make test" broken in rakudo trunk | 17:20 | |
| we might need a re-re sync. | 17:21 | ||
| need to fix trunk first. | |||
| jonathan | pmichaud: Do you get | 17:23 | |
| t\\pmc\\perl6multisub-arity.......error:imcc:The opcode 'find_global_p_sc' (find_g | |||
| lobal<2>) was not found. Check the type and number of the arguments | |||
| pmichaud | jonathan: yes. find_global is deprecated and got removed in trunk. | 17:24 | |
| fixed in trunk, now fixing in branch. | |||
| dalek | r35136 | pmichaud++ | trunk/languages/perl6/t/pmc (3 files): | ||
| : [rakudo]: Change find_global -> get_global. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35136 | |||
| r35137 | jquelin++ | trunk/languages/befunge: | 17:25 | ||
| : off-by-one error: each line is 80 columns long | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35137 | |||
| pmichaud | jonathan: fixed in r35138. | 17:26 | |
| dalek | r35138 | pmichaud++ | branches/rvar2/languages/perl6/t/pmc (3 files): | ||
| : [rakudo]: find_global -> get_global (in rvar2 branch) | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35138 | |||
| jonathan | pmichaud: Great. | 17:27 | |
| dalek | r35139 | jquelin++ | trunk/languages/befunge: | ||
| : and the playfield is 25 lines long, not 23 | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35139 | |||
| pmichaud runs spectest on rvar2. | 17:29 | ||
| dalek | r35140 | particle++ | trunk/languages/perl6/config/makefiles: | 17:30 | |
| : [rakudo] refactor makefile template to create spectest_checkout and spectest_update targets; fix logic errors | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35140 | |||
| r35141 | jquelin++ | trunk/languages/befunge: | |||
| : simplify padding | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35141 | 17:31 | ||
| jonathan also | 17:32 | ||
| Coke | some languages may experience a momentary discomfort. | 17:33 | |
| dalek | r35142 | jquelin++ | trunk/languages/befunge: | 17:34 | |
| : removing trailing \\n while reading program | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35142 | |||
| r35143 | jquelin++ | trunk/languages/befunge: | 17:36 | ||
| : dumping the playfield now working | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35143 | |||
| Coke | anyone familiar with imcc guts about? | 17:37 | |
|
17:37
rurban joined
|
|||
| tewk | Coke: what would you like to know? | 17:38 | |
| Coke | safe to remove the references to find_/store_ global in optimize.c ? | ||
| should we replace them with references to every other global variant? | |||
| (the first part is pretty much "yes", since those are nearly gone right now.) | |||
| dalek | r35144 | particle++ | trunk/languages/perl6/config/makefiles: | 17:39 | |
| : [rakudo] add 'testable' make target to create perl6 executable, compile the test library, and update the official test suite | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35144 | |||
| r35145 | jquelin++ | trunk/languages/befunge: | |||
| : "next" implemented | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35145 | |||
| allison | Coke: yes | ||
| Coke: if access to the global is important to the code, then replace it with the the modern version of the call | 17:40 | ||
| Coke | that's my question. I have no idea if it's important to replace | 17:41 | |
| tewk | The code is #ifdef'ed, I would be suprised if it is used or works. | 17:42 | |
| Coke | I'll remove the existing references, though. | ||
| (ifdef'd) ah. missed that. | |||
| tewk | its trying to do loop optimizations, we have added a lot of instructions that probably aren't safe and aren | ||
| t detected in that code, | |||
| The #ifdef maybe turned on, but I doubt it. | |||
| Coke | tewk: ah, no the define is actually set to 0 above that. | 17:43 | |
| so even if someone defined it, it's always off. | |||
| allison: I'm just going to rip that define and any commented out code out, ok? | |||
| tewk | +1 | 17:44 | |
| allison | Coke: yes, please do :) | ||
| jonathan has a finished make spectest run in the branch, time to start hacking | |||
| dalek | r35146 | jquelin++ | trunk/languages/befunge: | 17:50 | |
| : _debug__check_breakpoints() completed | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35146 | |||
|
17:51
kj joined
|
|||
| dalek | r35147 | jonathan++ | branches/rvar2/languages/perl6/src/parser: | 17:51 | |
| : [rakudo] Delete now-unused subroutine from actions.pm (we've got all of the functionality that it contained re-implemented). | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35147 | |||
| r35148 | Whiteknight++ | trunk/docs/book: | 17:54 | ||
| : [Book] Add some basics about exceptions, handlers, and annotations. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35148 | |||
| r35149 | rurban++ | trunk/t/pmc: | 17:55 | ||
| : Fix TT#121. Extend coke's r35098 to cygwin also. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35149 | |||
| r35150 | jquelin++ | trunk/languages/befunge: | 17:59 | ||
| : starting tick() implemention | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35150 | |||
| pmichaud | jonathan++ # eliminating no-longer-needed-subs | ||
|
18:01
chromatic joined
18:02
mberends joined
|
|||
| dalek | r35151 | jquelin++ | trunk/languages/befunge: | 18:04 | |
| : migrated tabs to 4 spaces | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35151 | |||
| r35152 | jquelin++ | trunk/languages/befunge (2 files): | 18:05 | ||
| : go west implemented | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35152 | |||
| rurban | allison: I need you to update all my tickets they were rejected as I have to consider how to go on. I posted a summary of your review work at trac.parrot.org/parrot/wiki/Pdd30I...llTasklist | ||
| ...all my tickets why they were rejected... | 18:06 | ||
| dalek | r35153 | particle++ | trunk/languages/perl6/config/makefiles: | ||
| : [rakudo] rearrange makefile for maintainability | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35153 | |||
| r35154 | jonathan++ | branches/rvar2/languages/perl6/src/parser: | 18:11 | ||
| : [rakudo] Make 'has $x' style declarations work correctly again. This gets us compiling and passing some of S12-class/attributes.t. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35154 | |||
| pmichaud | I thought I had "has $x" working already. | ||
| dalek | r35155 | jquelin++ | trunk/languages/befunge: | ||
| : pc moving implemented at end of tick | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35155 | |||
| pmichaud | in particular, I thought I was already passing S12-class/attributes.t . | ||
| or was this due to the mmd changes? | 18:12 | ||
| jonathan: ping | |||
| jonathan | pmichaud: hi | ||
| We didn't even compile it. | 18:13 | ||
| pmichaud | I thought 'has' was working already. Was this due to the mmd changes? | ||
| jonathan | Don't think so. | ||
| dalek | r35156 | jquelin++ | trunk/languages/befunge (2 files): | ||
| : instruction > implemented | |||
| jonathan | Attributes did generally work. | ||
| dalek | review: www.parrotvm.org/svn/parrot/revision?rev=35156 | ||
| jonathan | But the 'has $x' form not so. | ||
| Half of what it needed was there. | |||
| pmichaud | yes, I'm certain I did that. | ||
| jonathan | Half was missing. | ||
| pmichaud | what half was missing? | ||
| jonathan | See the patch but basically, it wasn't registering both symbols or using $!x as the underlying name at declaration time. | 18:14 | |
| allison | rurban: okay, reviewing patch list now. Will integrate the comments I sent you in email into the tickets. | ||
| pmichaud | yes, it was. | ||
| at least, I'm pretty sure it was. | |||
| let me check my copy. | |||
| jonathan | I read all of scoped and couldn't see anywhere it did it. | ||
| Plus it wsa failing the test. | |||
| pmichaud | it shouldn't be hacking the name. | ||
| dalek | r35157 | jquelin++ | trunk/languages/befunge (2 files): | ||
| : instruction v implemented | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35157 | |||
| pmichaud | yes, it was being stored as $!x | 18:15 | |
| jonathan | Hmm. | ||
| dalek | r35158 | jquelin++ | trunk/languages/befunge (2 files): | 18:16 | |
| : instruction ^ implemented | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35158 | |||
| jonathan | S12-class/attributes.t wouldn't compile before the patch I just put in. Afterwards it would. So something is amiss... | ||
| pmichaud | okay, let me see what's going on. | ||
| the code that is generated is | 18:17 | ||
| jonathan | Oh | ||
| !meta_keyword does the name fixup, it seems... | |||
| pmichaud | that's right. | ||
| jonathan | Ah. | ||
| *but* | |||
| You need to register both names with $block.symbol(...) | |||
| pmichaud | okay. | 18:18 | |
| that part makes sense. | |||
| let me look at it again. | |||
|
18:18
gmansi joined
|
|||
| jonathan | But if we're going to do that, Iwe need to handle the name stuff in the action. So we may as well not do it in guts.pir. | 18:18 | |
| OK, will leave it for you to review. | |||
| pmichaud | using substr is bad, because some attributes might not have a sigil | 18:19 | |
| e.g., my &!x; | |||
| er has &!x; | |||
| jonathan | Ah. | ||
| Yes. | |||
| I was trying to avoid looking down the parse tree. | |||
| pmichaud | correct, I don't want to look down the parse tree | ||
| because it might be a signature | |||
| or a variable_declarator | |||
| and I don't want to be testing those cases... etc etc | 18:20 | ||
| jonathan | pmichaud: On the &!x - I think what's in guts.pir is vulnerable too. | ||
| Agree. | |||
| dalek | r35159 | jquelin++ | trunk/languages/befunge (2 files): | ||
| : instuction " implemented (toggle string mode) | |||
| pmichaud | yes, but I know I can easily fix it there. :-) | ||
| dalek | review: www.parrotvm.org/svn/parrot/revision?rev=35159 | ||
| pmichaud | I decided not to worry too much about the & sigil overall, but I wanted to make sure I only had to worry about it in one place. | ||
| jonathan | I'm sure I can fix it as easily in NQP as I can in PIR. ;-) | ||
| pmichaud | it's the "one place" issue I was thinking of. | 18:21 | |
| jonathan | OK | ||
| Thing is we still need to register both names in the block, so we still need to be able to work out what they are. | |||
| dalek | r35160 | jquelin++ | trunk/languages/befunge: | ||
| : replaced tabs by 4 spaces | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35160 | |||
| pmichaud | agreed, I'm just thinking where/how exactly I want to do that. | ||
| jonathan | A "fixup_attribute_name" kinda sub that both the action and elsewhere can call would maybe work? | 18:22 | |
| pmichaud | there's not really an "elsewhere" | ||
| there's two places, but they really do different things. | |||
| jonathan | So why are we worrying about doing it in one place? :-) | ||
| Ah, OK. | |||
| pmichaud | I'm inclined to agree with doing it in actions.pm -- just trying to decide how/if I want to avoid the substr | 18:23 | |
| jonathan | Could we always set $var<sigil> and $var<namewithoutsigil>? | ||
| pmichaud | I thought about $var<ident>, yes. | ||
| jonathan | Back when we manufacture the PAST::Var in the first place? | ||
| Yes, ident is the word I couldn't think of. :-) | |||
| pmichaud | let's go with what you have now. Take the name-adjusting code out of guts.pir. | 18:25 | |
| thanks. | |||
| we'll fix the sigil up later, but in actions.pm. | 18:26 | ||
| there's a possibility I'll start keeping sigils on the var names. | |||
| dalek | r35161 | jquelin++ | trunk/languages/befunge (2 files): | ||
| : string mode implemented (push char) | |||
| pmichaud | (not likely yet, but a possibility.) | ||
| dalek | review: www.parrotvm.org/svn/parrot/revision?rev=35161 | ||
| pmichaud | ....why did the block need both names, again? | 18:27 | |
| oh, never mind. I know why. | |||
| jonathan | Because you can refer to $...right. | ||
| :-) | |||
| pmichaud | well, you can, but we'd have to be sure to put a :scope attribute on every variable with a ! twigil | 18:28 | |
| i.e., every PAST::Var with a ! twigil gets a :scope('attribute'), leaving the non-! version to be looked up in the symbol table. | |||
| but we still might want to do some compile-time checking for the !-twigil form, so entering it in the symbol table is good. | |||
| so we still go with what you have now. :-) | 18:29 | ||
| jonathan | The thing is that we need two entires to keep PAST::Compiler happy - otherwise it says "huh, what's $!x" etc. | ||
| pmichaud | you don't need to keep PAST::Compiler happy if every $!x node has :scope('attribute') | ||
| chromatic | It's one less than $3ven | ||
| pmichaud | PAST::Compiler only looks in the symbol table for PAST::Var nodes lacking :scope attributes. | ||
| jonathan | Ah, yes. | ||
| pmichaud | (which is all of them at the moment) | 18:30 | |
| jonathan | *nod* | ||
| dalek | r35162 | jonathan++ | branches/rvar2/languages/perl6/src/builtins: | ||
| : [rakudo] Remove now-unused twigil handling code - it's done in actions.pm now. | |||
| pmichaud | anyway, we'll make two entries for now. | ||
| dalek | review: www.parrotvm.org/svn/parrot/revision?rev=35162 | ||
| jonathan | OK, and cleaned up that other bit. | ||
| pmichaud | but there's always the option of going back to one if we decide we need it. | ||
| jonathan | OK | ||
| Gah. You stop a test failing to compile, but have it failing some of its subtests, and the failing subtests count goes up! | 18:31 | ||
| dalek | r35163 | jquelin++ | trunk/languages/befunge (2 files): | ||
| : handling trampoline mode | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35163 | |||
| pmichaud | I was almost certain I had that test passing already. | ||
| jonathan | (Because of course, it didn't know how many tests there were before.) | ||
| pmichaud tries locally. | 18:32 | ||
| yes, I'm positive it was running at one point. | 18:33 | ||
| (now that I look at it) | |||
| ah yes, your fix messes up the $.x forms. | 18:35 | ||
| er, $x forms | |||
| dalek | r35164 | jquelin++ | trunk/languages/befunge: | 18:36 | |
| : converting tabs to spaces | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35164 | |||
| pmichaud | the code in guts.pir was doing more than just adding '!', it was also converting '.' to '!' | ||
| and the reason for doing it in guts.pir was that at one point I was playing with adding the accessor methods from guts.pir instead of actions.pm | 18:37 | ||
| (which I might still want to do) | |||
| oh! I know what I want. | |||
| jonathan leaves it to pmichaud and takes on something else. | |||
| Wknight8111 | jquelin++ has been doing a lot of work on befunge today! | 18:38 | |
| dalek | r35165 | allison++ | branches/cc_restart/src: | ||
| : [calling_conventions] Make an exception for method calls, not to use runops. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35165 | |||
| r35166 | jquelin++ | trunk/languages/befunge (2 files): | 18:39 | ||
| : instructions 0-9 implemented (push number) | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35166 | |||
| jq | Wknight8111: eh, i heard that befunge language was in the worst shape of implementation... | 18:40 | |
| so it hurted my pride, i had to do sthg :-) | |||
| Wknight8111 | excellent! I'm glad to see it | ||
| it's a very cool language | 18:41 | ||
| moritz | we should hurt jq's pride more often ;-) | ||
| jonathan | moritz: I was thinking the same, but didn't want to say it. ;-) | ||
| moritz | "I bet nobody can implement $feature right now" | 18:42 | |
| jq | i did not touch it since 2002... | 18:43 | |
| jonathan wasn't even involved with Parrot in 2002! | |||
| jq | that's a long time, no wonder it was such in a bad shape wrt current parrot | ||
| moritz | I didn't even do perl in 2002 ;-) | 18:44 | |
| jq | jonathan: uh, i *think* befunge was the first language implemented on top of parrot | ||
| (or at least one of the first) | |||
| moritz: hmm, i will stick to current feature set wrt befunge on parrot | |||
| jonathan | jq: How hard has it been to update it? | ||
| Wknight8111 | so does the befunge compiler actually work now? Can I write stuff in it? | ||
| jq | hmm, quite a bit. but mostly due to 2 reasons: | 18:45 | |
| - i had to get up to speed once again | |||
| - i'm moving from pasm to pir | |||
| and using subs and higher-level stuff than what i've been using till now | |||
| moritz | make: *** No rule to make target `befunge.pasm', needed by `befunge.pbc'. Stop. | 18:46 | |
|
18:46
purl joined
|
|||
| jq | (i used only I, S, P and N regs, and made sure that I5 had this semantics throughout the program) | 18:46 | |
| Wknight8111: not yet | |||
| at least, it doesn't crash anymore | |||
| Wknight8111 | oh, that's too bad | 18:47 | |
| allison: That last commit wasn't something I had in the original cc branch. I was using runops for methods to | |||
| jq | the direction changing, string mode, and number pushing is working | ||
| Wknight8111 | too* | ||
| jq | the debug mode too | ||
| Wknight8111 | jq: that's quite an impressive start! | ||
| Infinoid | jq++ | 18:49 | |
| jq: there are some interesting possibilities with parrot's language interoperability and the befunge "library" semantics | |||
| jq | Infinoid: such as? | 18:50 | |
| Infinoid | jq: befunge code calling functions in perl6, tcl, ruby etc | ||
| jq | oh, yes. | ||
| Infinoid: note that i implemented the official "PERL" semantics in L::B :-) | 18:51 | ||
| Infinoid | ooo | ||
| jq & | 18:53 | ||
| Coke | hey, outlook, can you stop reformatting my svn commit emails? thanks. :p | 18:54 | |
| dalek | r35167 | pmichaud++ | branches/rvar2/languages/perl6/src (2 files): | ||
| : [rakudo]: More "has $x" cleanups (jonathan++) | |||
| : * I may want to refactor this yet again a bit, but this is relatively | |||
| : clean and works for now. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35167 | |||
| Coke | (I also wish gmail's app-sharing email dealt with fixed width messages better.) | 18:55 | |
| just to share the grump. | |||
| pmichaud | jonathan: the theory behind handling the sigils in guts.pir is that eventually we may want to automatically create the accessor methods there (instead of actions.pm) | 18:58 | |
| Ideally I think that we should create the accessor methods as part of !meta_compose | 18:59 | ||
| (so that we don't create them if they're defined elsewhere.) | |||
| s/sigils/twigils # three lines up | 19:00 | ||
| jonathan | That's a good point. We don't handle people coming up with their own ones yet. | ||
| pmichaud | I had it working that way for a bit, but it was a little too dynamic for me | ||
| so I went ahead and stuck the accessors back into actions.pm for now. But they might move back into guts if we can figure out a good way to do that. | |||
| okay, back to grammars. | 19:03 | ||
| jonathan | Woo. My patch for constraints almost removes as many lines as it adds. | ||
| pmichaud | :-) | ||
| that's been my experience with the refactor overall :-) | |||
| jonathan | May be able to clean it up more still. | ||
| pmichaud | actions.pm is still under 2700 lines. | ||
| and there's still a fair bit we can probably cut out. | 19:04 | ||
| jonathan | Where were we at before? 4000ish? | ||
| pmichaud | 4500ish | ||
| oh wait, no, 4000ish | |||
| I am planning to redo enums, too, but that might be post-merge. | |||
| jonathan | Guess it hinges on how much they have to change to be able to merge. | 19:05 | |
| pmichaud | yes. | ||
| chromatic | I like how the time it takes to compile actions.pm has remained mostly constant, despite its growth over the past eight months. | 19:06 | |
| jonathan | It'll come down after the merge, by a decent bit, I expect. | ||
| Though of course with still plenty of room for improvement. :-) | |||
| But yes, shows the performance gains Parrot has made. | 19:07 | ||
| pmichaud: Interesting. We fail S04-declarator/my.t but I think the test is dubious. | 19:09 | ||
| my $test = "value should still be set for arg, even if there's a later my"; | 19:10 | ||
| sub foo2 (*%p) { | |||
| is(%p<a>, 'b', $test); | |||
| my %p; | |||
| } | |||
| foo2(a => 'b'); | |||
| pmichaud | jonathan: yes, I ended up skipping my.t and multi.t for now. | ||
| I wanted to get clarification from p6l on that. | |||
| jonathan | multi.t where? | ||
| pmichaud | The failure is due to the "redeclaration" detection I put in for variables; we can turn that off again in order to merge to trunk. | 19:11 | |
| er, multiple.t | |||
| S04-declarations/multiple.t | |||
| jonathan | But I suspect the redifinition test is right, and the test is wrong here. | ||
| You'd have to write maybe proto %p or something. | 19:12 | ||
| pmichaud | I'm guessing that in order to be able to do "my %p" in that case we need a 'proto' somewhere. | ||
| right. | |||
| anyway, I'm okay with skipping the test for now. | |||
| (i.e,. #?rakudo skip) | |||
| then we can leave the redefinition code in place. | |||
| multiple.t has similar issues, iirc -- there need to be some protos. | |||
| Also, I don't know if our $x; our $x; should produce a redefinition error. | |||
| errand, be back in a while. | 19:14 | ||
| jonathan | ok | 19:16 | |
| Coke | AHHHHHAAAH. | ||
| dalek | r35168 | jonathan++ | branches/rvar2/languages/perl6/src/parser (2 files): | ||
| : [rakudo] First cut at getting constraint types working in signatures again. Still much to do, but and probably some cleanups of the sub that I have brought back into use again too. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35168 | |||
| Coke | (this code has been commented out since r5334 | ||
| and it's all nicely annotated with seatbelts, even though it was never invoked. ah, the wasted cycles. | 19:17 | ||
| Wknight8111 | what code? | ||
| purl | i guess code is message mapping => usually pulled straight from the RFC | ||
| Coke | imcc/optimizer.c | 19:18 | |
| (515 lines of code removed. running 'make test' now.) | 19:21 | ||
| chromatic | Run Rakudo's tests too. | 19:23 | |
| Wknight8111 | purl Parrot? | 19:35 | |
| purl | Parrot is, like, our teacher, our mother, our secret lover or the reason Dan started or the reason Dan left or pretty onionish:) or www.youtube.com/watch?v=4vuW6tQ0218...re=related | ||
| Wknight8111 | purl C? | 19:36 | |
| purl | C is probably for cookie, and it's good enough for you. | ||
| dalek | r35169 | jonathan++ | branches/rvar2/languages/perl6/src (2 files): | 19:38 | |
| : [rakudo] Restore a bunch of type stuff, which in turn corrects a bunch of multi things. This is, mostly, just copy/pasted back into the branch from trunk; it was hard enough to get right once. :-) | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35169 | |||
| r35170 | coke++ | trunk (3 files): | 19:39 | ||
| : remove some optimizer code which has been #ifdef'd out since r5334 (2004-02-21) | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35170 | |||
|
19:42
Ademan_ joined
|
|||
| pmichaud | back | 19:45 | |
| dalek | r35171 | jonathan++ | branches/rvar2/languages/perl6 (2 files): | 19:49 | |
| : [rakudo] Pop in a Regex class, so we don't epic fail on S06-multi/type-based.t. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35171 | |||
| r35172 | coke++ | trunk (2 files): | 19:51 | ||
| : [pheme] allow pheme to easily regen its makefile | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35172 | |||
| pmichaud | jonathan: to make sure I understand the code correctly -- we pass in all constraints (type or otherwise) in to add_param, and then it segregates them out into type + constraint properties? | ||
| jonathan | pmichaud: Got multi and single dispatch on types mostly straightened out. | ||
| pmichaud: Yes. | |||
| pmichaud | what happens for normal variable declarations -- i.e., non-params? | ||
| jonathan | pmichaud: Because it's not quite so easy as it first looks, and one thing might end up being both a constraint and a type. | ||
| We'll still want a junction there. That's my next thing to review. | |||
| pmichaud | oh, but a simple junction is sufficient, yes? | 19:52 | |
| jonathan | pmichaud: I should clarify. The one thing might lead us to a type and stay as a constraint. | ||
| pmichaud | because we're not doing matching. | ||
| jonathan | A simple junction is fine for straightforward type checking in the "can we assign to this" sense. | ||
| It doesn't cut it for multiple dispatch though. | |||
| pmichaud | ah, excellent. It should be pretty close to "just works" then. | ||
| fwiw, that's why I had 'type' original as an 'all' junction instead of 'list' | 19:53 | ||
| jonathan | Ah, I need to check what the signature binder does in the single dispatch case. | ||
| pmichaud: Is what that produces actually used outside of signatures? | |||
| pmichaud | in some sense I'm not comfortable with them being segregated. | ||
| jonathan checks | |||
| pmichaud: They need to be. | |||
| pmichaud | no, I mean in the sense of partitioned. | 19:54 | |
| jonathan | Wait, what are we talking about now? | ||
| pmichaud | I'd almost prefer to have one property for "all constraints" and a separate property for "things needed for multidispatch" | ||
| and it's okay if there's some duplication. | |||
| Coke | hurm. pheme is borked with recent removals of some opcodes. I tried udpating, but am now getting test failures. hurm. | 19:55 | |
| pmichaud | yes, the type checks were intended to be used for all variable constraints, not just params. | ||
| that's why they were 'and' junctions. | |||
| cotto | irclog? | ||
| purl | irclog is irclog.perlgeek.de/parrot/today or see also: infrared clogs | ||
| jonathan | pmichaud: Ah. | ||
| Damm. | |||
| OK, I'll switch it back to being one. | |||
| pmichaud | but let's talk params first | ||
| jonathan | And .values them | ||
| pmichaud | .eigenstates | ||
| jonathan | ? | 19:56 | |
| Is that the new .values? | |||
| pmichaud | .values gets autothreaded over the junction (or should, or will) | ||
| e.g., if we have a junction of lists | |||
| or a junction of hashes | |||
| jonathan | Have we switched to .eigenstates in Rakudo? | ||
| pmichaud | yes, for quite a while now. | ||
| jonathan | perl6: say (1 | 2).eigenstates | ||
| polyglotbot | OUTPUT[Method 'eigenstates' not found for invocant of class 'Junction'ā¤current instr.: '_block14' pc 76 (EVAL_13:41)ā¤called from Sub '!UNIT_START' pc 16311 (src/builtins/guts.pir:327)ā¤called from Sub 'parrot;PCT;HLLCompiler;eval' pc 950 (src/PCT/HLLCompiler.pir:527)ā¤called from Sub | ||
| ..'parrot;PCT;HLLCompiler;evalfiles' pc 1275 (src/PCT/HLLCompiler.... | |||
| pmichaud | hmmm. | 19:57 | |
| jonathan | perl6: say (1 | 2).values | ||
| polyglotbot | OUTPUT[Method 'values' not found for invocant of class 'Junction'ā¤current instr.: '_block14' pc 76 (EVAL_13:41)ā¤called from Sub '!UNIT_START' pc 16311 (src/builtins/guts.pir:327)ā¤called from Sub 'parrot;PCT;HLLCompiler;eval' pc 950 (src/PCT/HLLCompiler.pir:527)ā¤called from Sub | ||
| ..'parrot;PCT;HLLCompiler;evalfiles' pc 1275 (src/PCT/HLLCompiler.pir:6... | |||
| jonathan | :-| | ||
| pmichaud | oh, it's a private method at the moment. | ||
| !eigenstates | |||
| jonathan | OK | ||
| I didn't realize that rule was used for as much - I shoulda checked. | 19:58 | ||
| pmichaud | anyway -- for params do you see an issue if the types used for mmd were simply references to things in the constraints | ||
| ? | |||
| I'd like to keep it so assignment only has to check one thing. | |||
| jonathan | Ah, I see what you're getting at now. | 19:59 | |
| We need to set thigns on the container. | |||
| pmichaud | correct. | ||
| jonathan | Which we did separately before. | ||
| Aha. | |||
| pmichaud | for both params and variables. | ||
| jonathan | Right. | ||
| Now I see your point. | |||
| pmichaud | I'd like that to be "common", and "mmd" be the special case. | ||
| jonathan | Yup, with you. | ||
| Now we just gotta know, what to call them. :-) | |||
| pmichaud | I don't mind if we move the assignment trait to something other than 'type' | 20:00 | |
| to be consistent with synopses, it should almost be "vtype" (for value type) | |||
| phone | |||
| (and yes, itype/type/vtype may all refactor at some point, but having them separate for now is convenient) | |||
| cotto | pmichaud, would it be a good cage task to go through tests and change $P0 = new 'Foo' to $P0 = new ['Foo'] ? | 20:01 | |
| pmichaud | cotto: yes, I think so. | 20:02 | |
| cotto | In the last #ps you said the old syntax was highly discouraged. Is there any place where it's needed, or should it be put on the road to deprecation? | 20:03 | |
| (#ps on Dec 30, not yesterday) | 20:04 | ||
|
20:05
register joined
|
|||
| pmichaud | I'd prefer that it be on the road to deprecation. | 20:07 | |
| dalek | r35173 | jonathan++ | branches/rvar2/languages/perl6/src (3 files): | 20:11 | |
| : [rakudo] Leave type being the full set of type constraints we must obey, and store the separated out ones under different lists for MMD. | |||
| jonathan | pmichaud: Done what you suggested - for ease, left type having the meaning you gave it before. | ||
| dalek | review: www.parrotvm.org/svn/parrot/revision?rev=35173 | ||
| diakopter | aren't we all, though [on the road to deprecation]? ;) the more the merrier. | ||
| Coke | what was <entrytype> ? | ||
| pmichaud | jonathan: that's fine. | ||
| Coke | hurm. doesn't matter what it was, as that value was never used. | 20:14 | |
| jonathan | pmichaud: OK, I need nom. | 20:15 | |
| pmichaud: But that gets subtypes muchly restored. | |||
|
20:26
mberends joined
|
|||
| particle | seems BASIC stands for parrot's red-headed stepchild | 20:33 | |
|
20:42
reezer joined
|
|||
| reezer | hi | 20:42 | |
| purl | niihau, reezer. | ||
| reezer | Configure doesn't find my libraries. I tried it with both prefix and LD_LIBRARY_PATH | 20:43 | |
| perl is also installed in the same prefix | 20:45 | ||
| purl | okay, reezer. | ||
| Coke | particle: I thought that was tcl! | 20:47 | |
| pmichaud | back from phone | ||
| reezer | and icu in the same prefix is found | 20:48 | |
| but gmp, readline, gdbm, pcre aren't | |||
| cotto | perl? | 20:50 | |
| purl | perl is the glue that binds the Galaxy together or like an onion. It stinks and makes you cry. or teacher, mother, secret lover or not a four letter word or free as in necklace. or written in C :P or installed in the same prefix | ||
| Wknight8111 | purl? | 20:51 | |
| purl | Wknight8111? | ||
| Wknight8111 | what purl? | ||
| purl | well, i am a she. or captain obvious or so corny sometimes | ||
| Wknight8111 | purl purl is creepy | ||
| purl | ...but purl is a she. or captain obvious or so corny sometimes... | ||
| Wknight8111 | damnit | ||
| Wknight8111 shakes his fist and curses purl | |||
|
20:51
petdance joined
|
|||
| cotto | purl is also creepy | 20:51 | |
| purl | okay, cotto. | ||
| Wknight8111 | purl purl? | 20:52 | |
| purl | i am a she. or captain obvious or so corny sometimes or creepy | ||
| Wknight8111 | thanks cotto | ||
| purl is also a he | |||
| purl | okay, Wknight8111. | ||
| Wknight8111 | :) | ||
| purl purl? | 20:53 | ||
| purl | i am probably a she. or captain obvious or so corny sometimes or creepy or a he | ||
| reezer | any ideas? ;) | 20:54 | |
|
20:54
mberends joined
|
|||
| diakopter | purl is also is also is also is also | 20:55 | |
| purl | okay, diakopter. | ||
| diakopter | purl purl? | 20:56 | |
| purl | i guess i am a she. or captain obvious or so corny sometimes or creepy or a he or is also is also is also | ||
|
20:58
donaldh joined
|
|||
| GeJ | Good morning everyone | 20:59 | |
| Wknight8111 | good morning GeJ | ||
| ...and goodnight! | |||
| GeJ | Good nitght Wknight8111 | 21:00 | |
| jonathan | reezer: What platform are you on? | 21:04 | |
| pmichaud: Back from nom. | |||
| pmichaud | working on regexes and grammars now (with lots of interruptions) | 21:09 | |
| particle | should we remove pcre? | ||
| nevermind, i don't want to know. | 21:10 | ||
| pmichaud | some languages (e.g., pipp) are likely to want pcre. | ||
| jonathan | pmichaud: OK, great - that should get us back a some more tests. | ||
| pmichaud | I'm hoping it gets us back nearly all of S05. | ||
| I'm running a spectest now. | 21:11 | ||
| oops, forgot to restore the $0 syntax... testing again. | 21:25 | ||
| reezer | jonathan: DragonFly BSD (using pkgsrc) | 21:31 | |
| jonathan | reezer: Ah. 'fraid I know little about BSD. | 21:39 | |
| pmichaud: integration\\man-or-boy.t may be an easy fix - looks related to the & sigil stuff. | 21:40 | ||
| dalek | r35174 | pmichaud++ | branches/rvar2/languages/perl6/src/parser (2 files): | ||
| : [rakudo]: Update regex/token/rule implementation a bit, restore $<> $n | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35174 | |||
| pmichaud | I'm getting interruptions here again :-( so I'll pick it up again this evening. | ||
| reezer | jonathan: parrot works well, but I can't get Configure.pl to look in /usr/pkg/(lib) | ||
| pmichaud | (wife & kids do that, alas) | ||
| but yes, it's probably related to sigil stuff. | 21:41 | ||
| sjn | pmichaud: I suggested to jonathan that the talks at NPW could be used as a "lead-in" or introduction to the hackathon right after the conference; what do you think of that idea? | 21:44 | |
| reezer | bye | 21:46 | |
| jonathan | pmichaud: Won back at least another 13 by fixing infix:does. | 21:50 | |
| dalek | r35175 | jonathan++ | branches/rvar2/languages/perl6/src/builtins: | 21:51 | |
| : [rakudo] Fix up infix:does for the way we're now doing roles, plus harden it a little bit. May well have to change again in the face of parametric roles, but fine for now. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35175 | |||
| r35176 | jonathan++ | branches/rvar2/languages/perl6/src/builtins (2 files): | 21:59 | ||
| : [rakudo] Little re-work of roles, rip out much of the last patch and do it differently. This way fixes up another test too. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35176 | |||
| r35177 | jonathan++ | branches/rvar2/languages/perl6/src/parser: | 22:15 | ||
| : [rakudo] Earlier speculation that we may always want to make things with a ! twigil have attribute scope turned out to be right: we need to do this so we can handle attributes declared in roles (at least, until we get to the point where we can have the roles available at compile time for introspection). | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35177 | |||
| r35178 | jonathan++ | branches/rvar2/languages/perl6/src/builtins: | 22:21 | ||
| : [rakudo] Mostly fix composition of attributes from roles (case where slot can be shared because of compatible types still broken). | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35178 | |||
|
22:26
Whiteknight joined
|
|||
| dalek | r35179 | jonathan++ | branches/rvar2/src/pmc: | 22:41 | |
| : [core] Roles need shallow copying fix for inspect_str that pmichaud++ did for classes. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35179 | |||
| r35180 | jonathan++ | branches/rvar2/languages/perl6/src/builtins: | 22:42 | ||
| : [rakudo] s/values/!eigenstates/ | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35180 | |||
|
22:47
Limbic_Region joined
22:48
TiMBuS joined
|
|||
| dalek | r35181 | jonathan++ | branches/rvar2/languages/perl6/src/builtins: | 22:55 | |
| : [rakudo] Since we lie about naming of classes, we need to look up the class we're extending via its proto-object in !meta_create when we have is also. This gets us through initialization and we now pass most of S12-class/open.t - until the last test, where our lies catch up with us and we go and stick methods in the wrong namespace. Would need to look at trunk to see how on earth this was resolved there... | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=35181 | |||
| jonathan | pmichaud: That's all from me today. All roles tests pass again. Most subtype ones do. S12 ones are generally in better shape - we get to run them all now, just test fails rather than epic fails. | 23:02 | |
| S06 and S12 tests are the main areas still needing attention. | 23:03 | ||
|
23:11
pdcawley joined
23:36
LimbicRegion joined
23:57
ruoso joined
|
|||