Camelia, the Perl 6 bug

IRC log for #parrot, 2009-01-07

Parrot | source cross referenced

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

All times shown according to UTC.

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

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

Parrot | source cross referenced