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