Camelia, the Perl 6 bug

IRC log for #parrot, 2008-09-29

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:02 tetragon joined #parrot
00:10 AndyA joined #parrot
00:17 tetragon joined #parrot
00:43 davidfetter joined #parrot
00:55 kid51 joined #parrot
01:01 dmknopp joined #parrot
01:17 tetragon joined #parrot
01:43 tetragon Argh, the first jit stack frame on my box is an unaligned length
02:20 tetragon joined #parrot
02:35 dmknopp does any one know where the HOW method is defined for perl 6 prototypes?
02:35 Andy joined #parrot
02:39 Ontolog joined #parrot
03:05 tetragon joined #parrot
03:20 tetragon joined #parrot
03:45 pmichaud dmknopp: technically, HOW isn't a method.
03:46 dmknopp ok
03:47 dmknopp im trying to wrap my brain around why I would want to use perl 6 prototype obejcts over the class op codes. It seems the class op codes give me every thing i need, but Cardinal uses the p6proto style
03:48 pmichaud well, that's the way the compiler toolkit models things
03:48 pmichaud I think Cardinal is simply following that.
03:48 dmknopp i was hoping to dig thru the code of the P6object.pbc which seems to define things. I need to create a singleton class / singleton methods
03:48 TiMBuS joined #parrot
03:48 dmknopp do you know where i could find an example
03:49 dmknopp :-)
03:49 pmichaud for creating a singleton class?  or for using p6object ?
03:49 dmknopp singleton class
03:49 dmknopp and for the definition of this prototype majic... so I can dig thru things if I have questions in the future
03:50 pmichaud "protoobject"
03:50 pmichaud protoobjects are defined in Synopsis 12
03:50 pmichaud there's also a short article about them on parrotblog.org
03:50 dmknopp is that a .pir file, i didnt see the code listed
03:50 pmichaud no, you keep saying "prototype" but the term we tend to use is "protoobject"
03:50 dmknopp I think I read that blog, it seemed to focus mainly on Perl6 at the HLL level
03:51 dmknopp err, right, sorry
03:51 pmichaud a protoobject is just an instance of the class that has some special behaviors mixed in
03:51 dmknopp Im trying to think about my javascript experience to wrap my brain around the concept
03:51 pmichaud I don't know that there's an analogue in javascript
03:52 dmknopp well in javascript they follow the some object system ( I believe)
03:52 pmichaud they might -- haven't looked at it closely from an internals perspective (only enough to solve whatever web problem I happened to be working on at the time)
03:53 pmichaud anyway, I would think that for a singleton class you'd probably want to overload "new" so that it always returns the same object.
03:53 pmichaud and disable or overload the clone vtable method in the same way
03:54 pmichaud (for those who read in scrollback... sorry, I meant "vtable function"  :-)
03:54 dmknopp ahh ok override the 'new', simple enough
03:54 dmknopp thx
03:55 pmichaud could also perhaps do it by overloading the init_pmc vtable function
03:55 dmknopp hmm... whats the best way to disable the clone :vtable
03:55 dmknopp just define an empty method? .sub 'clone' :vtable   .end
03:55 dmknopp like so
03:56 dmknopp ok init_pmc :vtable I will look into that
03:56 pmichaud anyway, I have to go for a while
03:56 pmichaud bbl
03:57 dmknopp k thx for the help
04:01 tetragon joined #parrot
04:05 bacek_ joined #parrot
04:20 dmknopp hey overriding the init :vtable did the trick, init_pmc :vtable was not called for some reeason.
04:20 Andy joined #parrot
04:21 Theory joined #parrot
05:04 workbench joined #parrot
05:05 tetragon joined #parrot
05:22 apeiron joined #parrot
05:44 Bzek joined #parrot
05:58 Bzek_ joined #parrot
05:59 Ademan joined #parrot
06:10 cotto joined #parrot
06:19 uniejo joined #parrot
06:38 Bzek__ joined #parrot
06:39 Bzek___ joined #parrot
06:49 Zaba joined #parrot
06:54 dalek r31486 | cotto++ | trunk:
06:54 dalek : [pipp] add macros, fix function definitions, implement more hash code, add POD
06:54 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31486
06:54 cosimo joined #parrot
07:19 iblechbot joined #parrot
07:49 tetragon joined #parrot
07:57 isop joined #parrot
08:12 isop pmichaud: ping
08:36 johbar joined #parrot
09:18 dalek r31487 | kjs++ | trunk:
09:18 dalek : [pirc/new] fix several bugs
09:18 dalek : + several instruction generation problems fixed
09:18 dalek : + identified a new issue: lt i, j, L cannot be properly parsed; it expects "L" to be a valid identifier; but labels should be skipped.
09:18 dalek : + several other minor updates.
09:18 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31487
09:21 dalek r31488 | rurban++ | pdd30_install:
09:21 dalek : [pipp] Update to hash code: r31475, r31484, r31486
09:21 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31488
09:25 dalek r31489 | rurban++ | pdd30_install:
09:25 dalek : [cage] Update to trunk, fix svn props of new files
09:25 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31489
09:52 kj joined #parrot
09:53 kj joined #parrot
11:00 integral joined #parrot
11:02 dalek r31490 | jkeenan++ | trunk:
11:02 dalek : Eliminate triling white space so that this file doesn't cause coding standards test to fail.
11:02 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31490
11:26 dalek r31491 | rurban++ | pdd30_install:
11:26 dalek : [cage] Honor DYNPMC_ env vars for pipp hash
11:26 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31491
11:37 dalek joined #parrot
12:36 Lorn joined #parrot
13:09 tetragon joined #parrot
13:13 donaldh joined #parrot
13:27 gryphon joined #parrot
13:28 donaldh joined #parrot
13:31 isop joined #parrot
13:31 isop pmichaud: ping
13:34 PacoLinux joined #parrot
13:39 masak joined #parrot
13:57 cognominal joined #parrot
14:09 Andy joined #parrot
14:10 tomyan joined #parrot
14:19 tomyan joined #parrot
14:21 pyrimidine joined #parrot
14:22 TimToady joined #parrot
14:27 jhorwitz joined #parrot
14:40 iblechbot joined #parrot
14:49 coke joined #parrot
14:50 coke ... use.perl.org keeps losing my journal posts. "preview" goes nowhere, and I lose the posting.
14:50 Ontolog hey I thought say($123) is suppose to work
14:51 Ontolog i get error:imcc:The opcode 'say' (say<0>) was not found. Check the type and number of the arguments
14:52 moritz in PIR?
15:02 masak in nqp?
15:03 masak moritz: thanks for the tip about Match.pir, I found it independently a few moments ago :)
15:04 moritz ah, but I was faster ;)
15:05 masak indeed you were :)
15:12 uniejo joined #parrot
15:21 Ontolog in PIR
15:21 Ontolog sorry i remember now it was said that say works in NQP
15:21 Ontolog my bad
15:21 moritz print() works in pir
15:21 moritz and $123 isn't a valid register, as far as I can tell
15:22 particle1 what is $123?
15:22 particle1 right
15:26 particle i believe print works in nqp, too
15:26 moritz aye
15:35 dalek r31492 | kjs++ | trunk:
15:35 dalek : [pirc/new] move a function declaration.
15:35 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31492
15:37 dalek r31493 | kjs++ | trunk:
15:37 dalek : [pirc/new] fix function decl.
15:37 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31493
15:47 particle nqp: say("hi");
15:47 particle i thought nqp was missing from polyglotbot...
15:47 moritz it works in #perl6 ;)
15:47 moritz where p6eval rules
15:50 donaldh_ joined #parrot
15:50 Theory joined #parrot
16:00 pyrimidine joined #parrot
16:00 Khisanth joined #parrot
16:25 NotFound joined #parrot
16:25 NotFound Hi
16:25 moritz hi NotFound ;)
16:40 dalek r31494 | pmichaud++ | trunk:
16:40 dalek : [rakudo]:  spectest-progress.csv update: 188 files, 4121 passing tests
16:40 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31494
16:49 Zaba_ joined #parrot
16:56 particle moritz: what's the chance of getting to 4500 passing rakudo spec tests by 21 oct? 5000?
16:56 moritz particle: depends...
16:57 moritz particle: I have very important exams on oct 10 and 15, and SWMBO has 30th birthday on 21, so I don't have much time ;)
16:57 particle what's the least important way of getting there, then?
16:57 particle converting t/ to t/spec? writing new tests?
16:57 particle s/important/expensive/
16:57 moritz mostly moving (and reviewing) tests
16:58 particle ok
16:58 moritz there are plenty of OO sane oo tests in t/oo/
16:58 moritz what's special about oct 21?
16:58 particle my next parrot release
16:58 moritz ah ;)
16:58 particle :)
17:00 moritz I completely re-wrote tools/update_passing_test_data.pl which was responsible for the last peak
17:00 particle does that work only on t/spec/?
17:00 moritz yes
17:00 moritz it gives a much better overview of which tests to consider for fudging
17:00 particle i'm awaiting more memory so i can run more virtual machines
17:01 particle ok, so converting t/oo/ to t/spec/ would be a good priority
17:01 particle even moving them to t/spec/S12-misc/ would be a start, i suppose
17:01 particle or S12-unclassified?
17:02 moritz t/{oo,blocks,regex}
17:02 Khisanth joined #parrot
17:02 moritz one of the reasons for t/spec/ was to have a better structure than before
17:02 particle yep
17:02 moritz so I oppose S12-unclassified
17:02 particle well, it would be temporary
17:02 particle since rakudo only runs tests in t/spec
17:03 particle it would help me figure out which files to fudge/move first
17:03 moritz then move them there locally
17:03 moritz (or s/move/copy/)
17:03 moritz I've seen too many temporary solutions become permanent
17:03 particle sure, i don't want that to happen
17:04 particle but it'd be nice to parallelize
17:04 particle more hands...
17:04 particle can you think of a way that might work?
17:04 moritz parallelize?
17:04 particle have more people working on the conversion
17:04 particle rather than single people picking at items
17:04 moritz the hard part is that they have to review the tests for correctness
17:05 moritz that requires some non-trivial Perl 6 knowledge
17:05 moritz apart from that it's quite easy
17:05 particle yes, so i want to lower the barrier for new contributors
17:05 moritz the lower barrier stuff is listed in t/TASKS
17:05 particle specifically, i'll be giving a workshop in portland in early october, then at pittsburgh perl workshop in mid october
17:06 particle if i can give new contributors a way to be helpful, without having deep perl 6 knowledge
17:06 moritz well, t/TASKS has some stuff for that
17:06 particle like: here's how to see if a test in pugs's t/ dir parses in rakudo
17:07 moritz ../../parrot perl6.pbc $path_to_test
17:07 particle actually, i'll probably use localtest.data and make localtest
17:08 moritz localtest is limited to t/spec/ :(
17:08 particle urk. i thought you could specify absolute pathnames
17:08 moritz no, t/spec/ is automatically prepended
17:09 particle that stinks :(
17:09 moritz but you could change that, I guess
17:09 davidfetter joined #parrot
17:11 * particle finally has a win32 dev env set up again
17:11 particle msdn++ microsoft++
17:11 apeiron joined #parrot
17:14 pmichaud (4500 tests)    very likely.
17:14 moritz particle: I ran tools/update*.pl on t/, and it gives lot of passes for simple test files that test for one bug
17:14 pmichaud my task for today/tomorrow is to get value and reference semantics working properly in Rakudo.  That should also enable captures to work.
17:15 particle oh, that'll be a big one!
17:15 moritz that hopefully enables a whole bunch of tests
17:15 pmichaud oh, and list assignment.
17:15 particle sheesh.
17:15 particle pmichaud++
17:16 pmichaud whether that gets us to 5000... I dunno.
17:16 particle where were we last release, ~3300?
17:16 pmichaud yes.
17:16 pmichaud 3370.
17:18 pmichaud In the one or two instances where I walked people through tests -- after finding a test file I found they then wanted to start working on fixing the compiler so that it would pass the test.
17:19 pmichaud Of course, that then involves a _lot_ more explanation and background.
17:19 particle right
17:19 Tene Man, class today is a nightmare.
17:19 particle and writing rakudo in perl 6 is the quickest way there
17:19 pmichaud particle: not completely.
17:19 nopaste "moritz" at 89.13.222.241 pasted "passing tests in t/ (copied to t/spec/tmp)" (103 lines) at http://nopaste.snit.ch/14191
17:19 Tene pmichaud: is there anywhere else you want to start using filters on the exception handlers?
17:19 particle no, but it's easier than teaching pir
17:20 pmichaud particle: sure, but there's an assumption there that we can write lots of things in Perl 6.  So far I'm not seeing it.
17:20 particle tene: where are filters used now?
17:20 particle loops, blocks, routines?
17:20 pmichaud Tene: the return filter is the only one that I've been doing thus far
17:20 particle s/loops//
17:20 moritz pmichaud: I think it's basically impossible to get signatures from PIR right (because of the named/positional overlap in Perl 6)
17:21 pmichaud Tene: did you see my note about the weirdness with the next/redo/last patch?
17:21 Tene pmichaud: I did.
17:21 pmichaud moritz: well, *that* part will definitely be perl 6, yes.  But the inside guts of the functions will likely still need some PIR.
17:21 Tene pmichaud: the return filter is already committed.  Makes debugging generated pir much nicer when it throws exceptions.
17:22 particle has Q:PIR been written yet?
17:22 pmichaud and the named/positional overlap is waiting a redesign of parrot's calling conventions, which I *think* is being handled as part of the mmd branch
17:22 pmichaud (if it's not being handled as part of that branch, then that branch is a dependency.)
17:22 pmichaud particle:  (Q:PIR)  not yet
17:22 particle hopefully mmd branch gets merged before next parrot release
17:22 pmichaud particle:  but it requires a lot more than just Q:PIR, we also need "is export" and "is also"
17:22 particle so i don't think the merge should be blocked by pcc
17:23 particle what's "is also" ? aliasing? ok.
17:23 moritz particle: extending existing classes (is also)
17:23 pmichaud in this case "is also" is reopening a class.
17:23 particle ah
17:23 pmichaud not hard, but I'll have to dissect jonathan's class code to make it work (or wait for him to come back from vaca)
17:23 particle is that on jonathan's list?
17:24 particle that would put it post-pghpw
17:24 pmichaud right, I _am_ working to get a lot of this pre-pghpw so we can use it there.
17:24 Coke joined #parrot
17:24 pmichaud (which also means I may not spend a whole lot of time on-channel, so I can focus w/o distractions)
17:25 pmichaud Tene++ # return filter
17:25 pmichaud Tene:  I'm a little concerned about why the other patch isn't working though.  I'm wondering if we're hitting an imcc limit or something.
17:26 Tene Yeah.  It's creepy.
17:27 Tene Did you see my comments on the ticket itself?
17:27 pmichaud yes.
17:27 Tene Like I said.  Creepy.
17:27 pmichaud (prior to writing my message, at any rate)
17:32 pyrimidine Re: PGE::Match, is there a way I can have .next return the next match starting from a specific position?
17:33 Tene IMCC is haunted, just ask c.
17:33 pmichaud pyrimidine: you probably don't want .next then
17:33 pyrimidine I tried resetting .from prior to calling .next and I get an empty string instead
17:34 pmichaud pyrimidine: you can re-call the regex and pass the 'continue' option to start at a given position
17:34 * particle runs 'nmake test' for the first time in his new env and crosses his fingers
17:34 pyrimidine ok, I'll try that
17:35 particle continue++
17:35 particle pmichaud: that can be used for :g, correct?
17:35 pmichaud particle: yes, although I still need to decide if :g is part of the regex or part of the calling interface
17:35 pmichaud (and I need to ask TimToady about that one -- will probably do so in next design meeting)
17:36 Theory joined #parrot
17:36 particle great, i'll try to remind you
17:37 pmichaud tnx, that would be helpful.
17:37 pyrimidine I was thinking about implementing :g for .subst, but I probably will hold off then
17:41 pmichaud afk for a while
17:51 * Coke points to http://partcl.blogspot.com/
18:06 tewk joined #parrot
18:28 dalek r31495 | julianalbo++ | trunk:
18:28 dalek : pirric: refactor numeric functions to avoid duplicate code, add LN and EXP functions
18:28 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31495
19:12 d4l3k_ joined #parrot
19:14 jq- joined #parrot
19:14 cosimo_ joined #parrot
19:14 Coke_ joined #parrot
19:17 cotto Is there a way to use regexes from c?
19:18 cognominal_ joined #parrot
19:19 AndyA joined #parrot
19:22 Ivatar joined #parrot
19:33 Tene Aw, netsplit. :(
19:34 nopaste joined #parrot
19:35 Tene I was going to harass Coke, too.
19:36 Tene pmichaud: you said you support provisional commit while waiting on CLA from dmknopp?
19:46 davidfetter joined #parrot
19:55 Zaba joined #parrot
20:00 davidfetter joined #parrot
20:02 Tene joined #parrot
20:07 Zaba_ joined #parrot
20:21 mj41_ joined #parrot
20:29 dalek r31496 | julianalbo++ | trunk:
20:29 dalek : pirric: add CHR$ and ASC functions and unary + and MOD operators, change operators precedences
20:29 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31496
20:35 dalek r31497 | coke++ | trunk:
20:35 dalek : [tcl] remove "will do" comment; we are.
20:35 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31497
20:42 Theory joined #parrot
20:49 dalek r31498 | moritz++ | trunk:
20:49 dalek : [rakudo] add regex tests (stdrules.t) to spectest_regression
20:49 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31498
20:53 Ademan joined #parrot
20:59 dalek r31499 | moritz++ | trunk:
20:59 dalek : [t/spec] two more tests for spectest_regression
20:59 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31499
21:07 dalek r31500 | cotto++ | trunk:
21:07 dalek : [pipp] implement string->int conversion and put for Pipp hashes
21:07 dalek : other small fixes and improvements too
21:07 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31500
21:22 Tene oracle--
21:24 Lorn joined #parrot
21:28 dalek r31501 | moritz++ | trunk:
21:28 dalek : [rakudo] two more tests for spectest_regression
21:28 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31501
21:39 dalek r31502 | moritz++ | trunk:
21:39 dalek : [rakudo] one more regex test file for spectest_regression
21:39 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31502
22:04 Theory joined #parrot
22:11 idemal joined #parrot
22:25 apeiron joined #parrot
22:52 Andy left #parrot
22:56 TiMBuS joined #parrot
23:06 tetragon joined #parrot
23:09 Tene Anybody here near Denver, CO?
23:54 s1n cotto: in case you didn't get an answer, regexes in C can be used via regex.h (check the manpage for more deets)
23:54 NotFound s1n: for some values of 'C'
23:57 s1n what?
23:58 NotFound Is posix, not a standard C header
23:59 s1n the definition of "standard C header" depends on what is available in your copy of libc

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

Parrot | source cross referenced