Camelia, the Perl 6 bug

IRC log for #parrot, 2008-08-08

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 cognominal too bad, I did not follow parrot lately
00:01 cognominal I arrive one day early and quit one day after. So I will have one day for tourism and one day for hackathon
00:02 jonathan Cool!
00:02 cognominal do you jnow when is the hackathon?
00:02 jonathan I already visited Copenhagen for tourism before, so will just hack!
00:02 jonathan Well, there is hacking on the Tuesday and the Saturday.
00:02 cognominal ho, I am bringing Chartreuse too.
00:02 jonathan Tres bien.
00:03 jonathan J'adore la Chatreuse!
00:03 jonathan ...though preferably not consumed during the hackaton....
00:03 cognominal boy I did not realize YAPC was next week
00:03 jonathan I know, it's come *fast*
00:04 jonathan I don't know the exact times or location of the hackathon
00:10 AndyA joined #parrot
00:53 dalek r30112 | jonathan++ | trunk:
00:53 dalek : [rakudo] Fix trailing whitespace.
00:53 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30112
00:56 dalek r30113 | Whiteknight++ | gsoc_pdd09:
00:56 dalek : [gsoc_pdd09] add a new macro to help with indexing into the sized_header_pools array. may or may not actually fix anything.
00:56 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30113
01:06 cotto-work is there any definition for the format of the string that VTABLE_get_repr outputs
01:06 cotto-work ?
01:11 dalek r30114 | jkeenan++ | scriptconfigure:
01:11 dalek : Add test for malformatted configuration file.
01:11 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30114
01:11 Whiteknight I would assume not, unless you can find it in a PDD somewhere
01:11 Whiteknight the best place to look is probably at the code itself
01:11 particle joined #parrot
01:11 tetragon joined #parrot
01:12 dalek r30115 | jkeenan++ | scriptconfigure:
01:12 dalek : Add one dummy file used in testing to MANIFEST.
01:12 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30115
01:14 dalek r30116 | jkeenan++ | scriptconfigure:
01:14 dalek : Correct duplicate 'my' variables warning.
01:14 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30116
01:15 dalek r30117 | Whiteknight++ | gsoc_pdd09:
01:15 dalek : [gsoc_pdd09] fix arena allocator to better account for the number of objects it contains. Needs some optimization, however.
01:15 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30117
01:15 cotto-work Whiteknight, that's what I've done, and it looks like it should be some kind of string that encodes the PMC's contents, if it's an aggregate.
01:16 dalek r30118 | chromatic++ | trunk:
01:16 dalek : [config] Fixed a typo from r30110 (reported by Christoph Otto).
01:16 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30118
01:41 dalek r30119 | Whiteknight++ | gsoc_pdd09:
01:41 dalek : [gsoc_pdd09] use some const's to optimize the arena allocator a little bit
01:41 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30119
01:56 Andy joined #parrot
04:00 tetragon joined #parrot
04:33 dalek r30120 | coke++ | trunk:
04:33 dalek : [docs] fix pod formatting.
04:33 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30120
04:36 Tene So, having heard no feedback at all, I'll go ahead and commit that resumable exceptions patch.
04:43 cotto_home warnock--
05:08 masak joined #parrot
05:38 Psyche^ joined #parrot
05:40 mc joined #parrot
05:40 mc hello
05:40 purl hi, mc.
05:43 masak jonathan: oh, oh! the segfaults only occur when running ./perl6, not when running ../../parrot perl6.pbc. I hope this is a clue of some kind.
05:46 Tene Can I get anyone to comment on the attribute name 'retcont' re: parrot naming conventions?
06:11 bacek ho!
06:12 bacek jonathan++ # r30104 !
06:18 masak indeed. :)
06:20 bacek perl6: my %ret = map { $^foo => uc $^foo; }, split "", "foo bar"; say %ret;
06:20 bacek oops
06:20 bacek sorry...
06:20 purl It's okay, bacek.
06:23 dalek r30121 | fperrad++ | trunk:
06:23 dalek : [Lua]
06:23 dalek : - svn:ignore *.luac
06:23 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30121
06:24 dalek r30122 | fperrad++ | trunk:
06:24 dalek : [Lua] libraries
06:24 dalek : - improve layout
06:24 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30122
06:32 Tene You broke polyglotbot!
06:34 polyglotbot joined #parrot
06:34 * bacek hides
06:35 bacek Tene: can I try previous command again?
06:36 uniejo joined #parrot
06:47 bacek So, having heard no feedback at all...
06:47 bacek perl6: my %ret = map { $^foo => uc $^foo; }, split "", "foo bar"; say %ret;
06:48 bacek hmm...It works on my rakudo...
06:48 bacek strange...
06:48 purl strange is but true
06:48 bacek purl: You'll never find a boyfriend!
06:48 purl bacek: excuse me?
06:48 Tene segfault
06:48 purl well don't DO that, then.
06:49 Tene lemme put it in a loop
06:49 polyglotbot joined #parrot
06:49 bacek Tene: ok.
06:49 Tene perl6: my %ret = map { $^foo => uc $^foo; }, split "", "foo bar"; say %ret
06:49 polyglotbot joined #parrot
06:49 Tene There we go.
06:50 masak much better.
06:50 masak Tene++ # bot nurse
06:52 dalek r30123 | tene++ | trunk:
06:52 dalek : Add a return continuation attribute to the Exception pmc and fill it in the throw opcode.
06:52 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30123
06:56 masak purl: nopaste
06:56 purl 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
06:59 nopaste "masak" at 130.238.45.242 pasted "here's Str.subst -- code review appreciated" (37 lines) at http://nopaste.snit.ch/13764
06:59 masak ...because I'm basically doing a combination of cargo-culting and fumbling in the dark right now with PIR
07:05 bacek masak: there is substr implementation already. In src/builtins/any-str.pir
07:07 masak bacek: note the lack of 'r' in 'subst'
07:07 masak bacek: and I bet you're the last person to be confused by this near-collision :)
07:08 dalek r30124 | tene++ | trunk:
07:08 dalek : Condingstd fix for my last commit.
07:08 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30124
07:10 masak s/you're the last/you're not the last/
07:11 bacek masak: oops.
07:13 bacek masak: there is no 'subst' in S29...
07:13 masak bacek: see t/builtins/strings/subst.t in the Pugs repo
07:13 masak also, see yesterday's #parrot log
07:15 Tene I'm curious about the consequences of adding extra features to cardinal that aren't in ruby.
07:21 cotto_home embrace and extend
07:21 purl it has been said that embrace and extend is Subsume and Subvert or Embrace and Envelop or Weaken and Wreck or Fold, Spindle and Mutilate or Pillage and Burn or Cripple and Kill
07:21 cotto_home you know you want to
07:21 Tene Isn't that evil, though?
07:21 dalek r30125 | tene++ | trunk:
07:21 dalek : More fixes for my exceptions commit.  chromatic++
07:21 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30125
07:22 cotto_home um... we have cookies
07:22 mc bye all
07:22 mc left #parrot
07:23 Tene I guess if they're cool Perl 6 features... maybe...
07:28 cotto_home it'd depend on your goals for Cardinal and whether the shiny new things break backwards-compatibility
07:29 Tene They'd make any code that used them incompatible with ruby.
07:29 cotto_home that could make testing tricky
07:31 cotto_home nm.  I read that backwards.
07:34 masak is there a method in rakudo already that takes a regular expression as an argument? I'd need some example code to look at.
07:38 Ademan joined #parrot
07:50 mj41 joined #parrot
08:12 dalek r30126 | fperrad++ | trunk:
08:12 dalek : [Lua] Perl/yapp compiler
08:12 dalek :  - fix fornum (see r30004-30005)
08:12 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30126
08:38 barney joined #parrot
09:12 dalek r30127 | kjs++ | trunk:
09:12 dalek : [pirc/new] fix key handling
09:12 dalek : + copyright year fix
09:13 dalek : + several other things.
09:13 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30127
09:20 MeGaMiC joined #parrot
09:34 kj joined #parrot
09:35 ejs joined #parrot
09:38 iblechbot joined #parrot
09:45 tetragon joined #parrot
09:46 particle1 joined #parrot
09:48 masak if a PIR .sub is declared as :method :multi('Complex'), the 'Complex' refers to the invocant, yes?
09:49 kj I thought to the parameter
09:49 kj the invocant is the object on which you invoke the method, no?
09:50 masak yes
09:50 gaz joined #parrot
09:50 kj s/parameter/argument/
09:50 kj so no need to refer to the invocant
09:50 masak .sub 'exp' :method :multi('Complex')
09:50 kj because you know what the invocant is
09:50 kj so that's the 'exp' method taking a Complex parameter
09:50 kj as far as I have understood that
09:51 kj maybe I'm wrong
09:51 masak $cmplx.exp($cmplx2) ?
09:51 masak what the heck does the parameter do?
09:51 kj sorry, what do yo mean?
09:51 masak I mean, what does that call mean, semantically?
09:52 masak I'm in src/classes/Complex.pir, btw
09:52 kj again, you might want to check with someone else, but as far as I understood, a :multi method is distinguished by its parameters
09:52 masak the body of that .sub only talks about $P0 = exp self
09:52 masak and then .returns ($P0)
09:52 kj so exp(int i) {}, exp(float f) {}, and apparently exp(complex c) {}
09:53 masak how is that a method, then?
09:53 kj ehm, self isa Complex object
09:53 kj mmm
09:53 masak so, invocant...
09:53 kj to be honest, it's not clear to me either
09:53 kj it doesn't refer to the parameter?
09:54 masak maybe the call can be either $c.exp() or exp($c)
09:54 masak kj: seems there is no parameter, or no invocant, depending on how you see it
09:54 kj yeah, you're right.
09:54 masak probably the former, since 'self' is mentioned
09:54 kj well, self is an implicit parameter
09:55 masak yes
09:55 kj because it's a :method
09:55 kj so self must be a Complex
09:55 kj because it's defined as :multi(Complex)
09:55 masak then :multi('Complex') _must_ refer to the invocant
09:55 masak yes.
09:55 kj yes, seems so
09:55 masak I'm trying to figure this out
09:55 kj but it's not a rule that :multi types refer to the invocant, it just happens to be that way here
09:56 kj because self is the 1st parameter
09:56 masak aye
09:56 kj maybe a short test program would clarify
09:56 masak exploring++
09:57 kj i mean, write a simple script that has some :multi subs
09:57 kj to be honest, the :multi stuff is one of the things I'm not entirely clear on
09:58 masak kj: good idea. I'll do that.
09:58 kj sorry can't be of much help
09:59 masak kj: you've already helped
09:59 masak kj++
10:03 masak my problem now is that when I declare my method as :multi('Perl6Str', 'Block', _), it doesn't get called on "abcdef".subst(/d/, "D"); but when I declare it as :multi('Perl6Str', _, _) I get a Null PMC access.
10:03 masak I guess I'll have to wait till jonathan shows up.
10:03 kj you're writing in perl6 or pir?
10:03 kj pir, right?
10:04 masak yes, pir
10:04 masak and calling via ./perl6 -e
10:04 kj what happens when running the script on parrot immediately?
10:04 kj (don't know ./perl6 -e)
10:04 masak trying...
10:05 kj also, you could try out simple, just 1 parameter, then add another
10:05 kj thing is, you never know whether you're doing something wrong, or it's a bug
10:05 masak right.
10:06 masak same error with parrot perl6.pbc
10:07 kj but it's a pir script right? you can't run ./parrot multitest.pir ?
10:07 jonathan Due to various things, I didn't think referring to Block in the :multi(...) will work.
10:07 jonathan Try Sub instead.
10:07 masak jonathan: ok
10:07 kj morning jonathan
10:07 jonathan hi
10:07 purl hello, jonathan.
10:08 masak I think I have $str.subst more or less ready
10:08 * jonathan needs to pack!
10:08 jonathan Oh, great! :-)
10:08 masak but it's in pieces, and I can't get the Block thing to work
10:08 jonathan Gotta go to the airport in like, 2 hours..
10:08 jonathan Yeah, Sub should do it.
10:08 masak jonathan: well take it after your flight, then
10:08 masak I'll research Sub in the meantime
10:08 jonathan masak: Are there actually multiple variants of subst?
10:08 jonathan Does it need to be multi?
10:09 masak jonathan: there's one that takes a string and one that takes a rx
10:09 masak jonathan: problem regexes aren't Subs
10:09 masak I think we are talking at cross purposes
10:10 masak or rather, we didn't understand each other's motives :)
10:11 jonathan masak: Regexes *are* Subs as far as Parrot is concerned.
10:11 jonathan I'm referring to the Parrot Sub type, not the Perl 6 one here. Though yes, it's confusing. :-)
10:11 masak rakudo: say /d/.isa(Sub)
10:11 polyglotbot OUTPUT[0␤]
10:12 masak jonathan: ah.
10:12 masak lunch &
10:14 jonathan Yeah, but that's because that's getting the Sub proto we've installed in the namespace. Which refers to the Perl 6 Sub class.
10:14 jonathan This whole thing is kinda messed, but I think using it in the Multi should work.
10:20 pjcj joined #parrot
10:36 skv_ joined #parrot
10:39 ambs joined #parrot
10:40 skv__ joined #parrot
10:40 Ademan joined #parrot
11:10 unenana joined #parrot
11:16 nopaste "masak" at 130.238.45.242 pasted "why does this code give a Null PMC access? shouldn't regexp contain my regular expression?" (18 lines) at http://nopaste.snit.ch/13766
11:16 * masak is learning PIR quickly, but not quickly enough, it seems
11:27 Ademan joined #parrot
12:00 dalek r30128 | julianalbo++ | trunk:
12:00 dalek : fixed op throw PMC
12:00 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30128
12:08 Whiteknight joined #parrot
12:29 dalek r30129 | julianalbo++ | trunk:
12:29 dalek : fix op throw PMC for strict C compatibility
12:29 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30129
12:44 Andy joined #parrot
13:14 masak ok, so if I do a getinterp and the immediate caller doesn't have a LexPad, I get a Null PMC access error, yes?
13:15 dalek r30130 | fperrad++ | opengl4lua:
13:15 dalek : [Lua] pre-compile gl.lua
13:15 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30130
13:30 dalek r30131 | fperrad++ | opengl4lua:
13:30 dalek : [Lua] OpenGL more methods
13:30 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30131
13:35 DietCoke joined #parrot
13:35 DietCoke left #parrot
13:50 dalek r30132 | fperrad++ | opengl4lua:
13:50 dalek : [Lua] OpenGL fix depends
13:50 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30132
13:52 gryphon__ joined #parrot
14:35 dalek r30133 | fperrad++ | opengl4lua:
14:35 dalek : [Lua] OpenGL, refactor GetError
14:35 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30133
14:40 diakopter joined #parrot
15:01 kj joined #parrot
15:17 Theory joined #parrot
15:41 jan joined #parrot
15:53 rdice joined #parrot
16:16 iblechbot joined #parrot
16:19 cognominal joined #parrot
16:29 Tene Okay, there's a problem with resuming from an exception.
16:30 Tene Parrot_cx_find_handler_local adds the handler iterator to the exception, so it can be used for rethrow.
16:30 Tene That's okay.
16:30 Tene It also marks the exception as "already used", and then ignores all handlers that are already used.
16:31 Tene Shouldn't it just be going off of the iterator?  What does this buy us that the iterator doesn't?
16:32 Tene With this model, the second time we throw an exception, it skips over the handler marked "already used", but this can' tbe right, can it?
16:33 Tene Maybe I should look to see what non-fatal exceptions do to clean up after themselves, if they do.
16:33 Tene Removing the check and the set_integer_native from that function leads to one additional test failure, a GC problem in the last test in t/pmc/exception.t
16:40 clochette joined #parrot
16:43 particle joined #parrot
16:57 paco joined #parrot
16:59 Whiteknight no GC problems! GC has enough problems already!
17:02 paco left #parrot
17:02 pac1 joined #parrot
17:03 clunker3 joined #parrot
17:03 pac1 left #parrot
17:17 ambs joined #parrot
17:41 Tene Whiteknight: actually, not a gc problem, it doesn't go away with -G or with the debug core.
17:42 Tene It's a problem in allocating new memory, not GC, I think?
17:43 Tene Also, I just got exceptions with severity less than specified to automatically resume once you've run out of error handlers.
17:43 Tene I don't know if that should be a parrot thing or an HLL thing, though.
17:44 Tene "If no handler is found, and the exception is non-fatal (such as a warning), and there is a continuation in the exception record (because the throwing opcode was "throw"), invoke the continuation (resume execution). Whether to resume or die when an exception isn’t handled is determined by the severity of the exception."
17:45 Tene It doesn't say what severity that should happen at, though.
17:47 Infinoid "severity" is just fatal or non-fatal, right?
17:47 * Infinoid <-- clueless
17:48 particle tene: that's ambiguous, and must be fixed in the spec
17:48 particle you say you have a patch for code, why don't you patch the spec to match your code and submit to parrotbug@ and copy allison
17:50 Tene Infinoid: ./runtime/parrot/include/except_severity.pasm
17:50 Tene address for allison?
17:50 purl hmmm... allison is Allison Randal <mailto:allison@perl.org>
17:50 Tene purl: thanks
17:51 Infinoid Tene: thanks
17:52 particle Infinoid: thanks
18:06 Whiteknight GC handles new memory allocations, yes
18:06 Tene Oh, comments suggest that other tasks also use the find_handler stuff, and those tasks don't store the handlers iterator in themselves.
18:07 Tene But they could.
18:07 Tene I should do that one next.
18:07 Tene After work, though!
18:07 Tene 'cos I need to keep the bosses happy.
18:11 Tene purl: parrotbug?
18:11 purl it has been said that parrotbug is mailto:parrotbug@parrotcode.org or http://svn.perl.org/parrot/​trunk/docs/submissions.pod or see also "rakudobug"
18:12 Tene Hmm.  This code is in the wrong place.
18:15 Tene It should go in find_exception_handler, but that returns an entire handler object to throw_from_op, which returns an address to Parrot_throw_p, which returns the address to the rest of Parrot.
18:21 ruoso joined #parrot
18:22 Tene I also need to figure out how to deal with throw_from_c.
18:27 Whiteknight Good luck with that, I dont yet know much about the exceptions system
18:27 Whiteknight I would like to learn more about it though
18:35 Ron joined #parrot
18:53 dalek r30134 | Whiteknight++ | gsoc_pdd09:
18:53 dalek : [gsoc_pdd09] update to trunk r30133
18:53 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30134
18:57 Whiteknight Kjs here?
19:00 dalek r30135 | Whiteknight++ | gsoc_pdd09:
19:00 dalek : [gsoc_pdd09] remove a few non-printing ASCII characters from pirparser.c
19:00 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30135
19:01 cognominal joined #parrot
19:03 masak joined #parrot
19:04 davidfetter joined #parrot
19:12 masak jonathan: alright, I'm stuck.
19:13 masak jonathan: are you available, or are you still traveling?
19:17 particle what are you stuck on? maybe i can mock^Whelp you
19:17 particle i'm on a phone call with support folks, so a bit distracted
19:18 masak particle: ok, so I'm writing this PIR method for Str
19:18 masak it's called .subst
19:18 masak it takes a regex and a string
19:19 masak I will nopaste a piece of code
19:19 masak it's not the whole method, only the part that fails
19:20 nopaste "masak" at 130.238.45.242 pasted "the piece of the method that fails" (19 lines) at http://nopaste.snit.ch/13769
19:21 masak so, two questions vex me now:
19:21 masak (1) whence the Null PMC access?
19:22 masak (2) how do I go about making this method take either (regex,str) or (str,str)? I've written both variants, but I don't know the mechanism in PIR for putting them together
19:27 Andy joined #parrot
19:34 japhb seen fperrrad
19:34 purl I haven't seen 'fperrrad', japhb
19:34 japhb seen fperrad
19:34 purl I haven't seen 'fperrad', japhb
19:35 japhb damn
19:45 cybergirl joined #parrot
19:58 cotto-work japhb, he doesn't come to #parrot afaict
19:58 japhb cotto-work: oh?  Where does he show up?
19:58 cotto-work email
19:58 japhb blurg
19:58 japhb damn non-real-time interaction
19:59 cotto-work (I don't know of any irc channels where he shows up)
20:01 masak that's impressive for someone with an IRC nick.
20:05 particle sorry, masak, i just got off a 100min phone call
20:05 masak particle: s'ok.
20:06 masak I bet your clients have more of a claim to your time than I do. :)
20:07 particle that's true :)
20:07 particle ok, so, you haven't tested to see whether regexp is null
20:07 masak no.
20:07 particle so it could actually be null
20:07 masak yes.
20:07 masak that would explain a lot -- except why it's null.
20:07 particle right
20:09 * masak checks if regexp is null
20:10 masak nope -- doesn't seem like it
20:10 masak at least not if "unless regexp goto is_null" suffices to catch a null regexp.
20:11 masak actually, the Null PMC access occurs within the actual ACCEPTS method
20:12 masak when trying to use the value returned from a 'getinterp'
20:13 masak see src/gen_builtins.pir, link 3739
20:13 masak s/link/line/
20:13 particle which getinterp? file...thx
20:13 particle er, that's not gonna work for me
20:13 particle i don't have rakudo built on this box
20:13 particle i'll switch
20:13 masak ah
20:13 masak I'll get the original file for you.
20:14 masak src/classes/Code.pir l35
20:14 masak so I'm pretty sure getinterp returns null
20:18 StephenPollei joined #parrot
20:19 particle sorry, phone, but this should be short
20:19 masak no worries
20:19 Tene Hi Stephen.
20:20 StephenPollei hello Tene I decided to try #parrot out, lloking around for information about writting tests like you suggested
20:20 Tene You'll want to read /t/README in the pugs svn.
20:21 Tene Sorry, /t/spec/README
20:21 Tene http://svn.pugscode.org/pugs/t/spec/README
20:21 StephenPollei ok I'll do so
20:21 particle masak: if you put 'trace 1' in Code.pir below .param pmc topic  and rebuild rakudo , you'll see the tracing code as parrot runs
20:21 Tene I'll get you a pugs commit bit.
20:21 * particle wonders where in washington StephenPollei is
20:22 * masak tries that
20:22 particle tene: can you hand out commit bits?
20:22 StephenPollei Spokane Valley
20:22 Tene particle: Yes.
20:22 particle okie
20:22 particle i'm in seattle
20:22 Tene StephenPollei: /msg me your preferred email address and username.
20:24 nopaste "masak" at 130.238.45.242 pasted "this is what 'trace 1' gave me" (118 lines) at http://nopaste.snit.ch/13770
20:26 masak it's trying to index $P1['$/'] when $P1 is Null that fails
20:26 masak but if I read this correctly, it's not the fault of the getinterp call
20:27 masak it's the fault of the P0["lexpad";1] access
20:27 masak why? under which circumstances does this occur?
20:29 masak according to pdd20, getinterp and $P0["lexpad";1] are used "to get the immediate caller's LexPad"
20:29 masak are we sure the immediate caller (that would be my method, I guess) has a lexpad?
20:31 particle no
20:31 particle it's possible that it does not have a lexpad iirc
20:32 masak that would also explain a lot.
20:33 particle i'd look in the lexicals tests for examples
20:33 masak I don't immediately see why a lexpad of the immediate caller is needed in a match.
20:33 masak is it just to set $/? I don't really need that in my method.
20:33 particle accepts always sets $/
20:34 masak particle: lexicals tests? as in, somewhere in parrot's t/?
20:34 particle what line of perl 6 code triggers it?
20:34 particle yes, in parrot's t/
20:34 Whiteknight joined #parrot
20:34 Tene HI WHITEKNIGHT
20:34 masak particle: well, my $s = "abcd"; $s.subst( /d/, "D" );
20:34 masak but it's subst I'm implementing right now.
20:34 ambs purl, paste?
20:34 purl i think paste is (see: nopaste) or like glue but a little safer to sniff. or http://nopaste.snit.ch:8001/ or http://scsys.co.uk:8001/ anywhere shadowpaste is or mmm, sticky paste or You there! Eating the paste. or <see> 2 girls, 1 paste
20:35 particle masak: so, you're passing a regex, and it's seeing it as Code
20:35 particle or Perl6Sub or whatever
20:35 nopaste "ambs" at 77.54.92.255 pasted "Malformed unicode string" (6 lines) at http://nopaste.snit.ch/13771
20:35 particle i'm not sure regexes have a lexpad
20:35 masak particle: I guess
20:35 ambs damn, nopaste do not show unicode correctly
20:36 masak particle: jonathan++ told me I should :multi the regex as 'Sub', and that the Sub was a Parrot thing, not a rakudo thing
20:36 masak I'm not sure what relation Sub has to Code.
20:36 particle codeproto = p6meta.'new_class'('Code', 'parent'=>'Any')
20:36 particle p6meta.'register'('Sub', 'parent'=>codeproto, 'protoobject'=>codeproto)
20:36 particle p6meta.'register'('Closure', 'parent'=>codeproto, 'protoobject'=>codeproto)
20:36 Whiteknight HI TENE
20:37 particle Sub is a registered name in rakudo for a 'Code' class
20:37 masak ok
20:37 particle as is Closure
20:37 particle but Regex isn't
20:37 britneypire joined #parrot
20:38 masak particle: no. I know that.
20:38 masak that's why I'm passing the regex as Sub.
20:38 Tene britneypire: welcome
20:40 cognominal joined #parrot
20:53 mj41_ joined #parrot
20:59 peepsalot joined #parrot
21:02 cognominal joined #parrot
21:05 dalek r30136 | coke++ | trunk:
21:05 dalek : [docs] Fix pod issue causing smolder failures.
21:05 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30136
21:12 * masak realizes that he doesn't have to use regexp.'ACCEPT'(self) at all, since regexp(self) apparently is legal PIR syntax all on its own
21:12 masak now I don't have to worry about $/ in my LexPad
21:12 masak ...although I get a nasty bus error instead, now :/
21:18 lauanana joined #parrot
21:44 StephenPollei http://svn.pugscode.org/pu​gs/t/packages/reflection.t skip_rest "test needs to be rewritten because of recent design changes";
21:45 StephenPollei might that be a good place to start written test? or would another area be better?
21:48 masak StephenPollei: because that is in t/ but outside t/spec/, it probably concerns recent pugs design changes
21:48 masak not parrot
21:50 StephenPollei ok so only look in t/spec for parrot
21:51 masak StephenPollei: the t/spec tests comprise the budding "Official Test Suite" of Perl 6, as described in t/spec/README
21:53 StephenPollei [[we are currently in the process of copying files from the pugs test suite into this directory and making them platform independent.]] so I can migrate tests or write new ones from scratch
21:54 masak StephenPollei: correct.
21:55 StephenPollei not sure what area you'd like tests to be done next, and where I'd be most useful yet
21:55 masak StephenPollei: might be a good idea to ask Auzon over at #perl6 on freenode.
21:56 masak he's not there right now, but he hangs there often
21:56 StephenPollei ok will do so, thanks
21:56 masak his Google Summer of Code project was freshening up t/spec, so he probably has a good overview
21:58 masak but basically, read the Specs, find a feature you like, see if it has any tests in t/spec or t/, and add/move/adapt tests as necessary
22:00 StephenPollei yes it's been a few months since I've read the specs, so I will reread them
22:00 masak StephenPollei: I should, too :)
22:02 masak StephenPollei: also, check out http://svn.pugscode.org/pugs/t/TASKS for great justice
22:02 StephenPollei ok will do
22:02 particle StephenPollei: i suggest you look at spec.pugscode.org
22:03 particle pick a synopsis, say S06
22:03 particle then search for "Show t/"
22:04 StephenPollei http://svn.pugscode.org/pugs/t/TASKS was also very helpful
22:04 particle note any places where the files are outside t/spec/
22:05 particle those tests should be moved to t/spec/, in an appropriate dir and file
22:05 particle good, TASKS is a great place to look
22:05 StephenPollei and if so move them?
22:05 particle yes
22:07 particle something like t/blocks/sub_return_values.t lines 8-229 could be moved to t/spec/S06-subroutines/basic.t or something
22:07 particle ETOOMANYSOMETHINGS
22:07 masak particle++ # at least some somethings
22:08 * particle runs off to test ride some bikes &
22:08 StephenPollei yes that's what I get for mentioning that I wanted perl6 rsn in front of group that had Tene in it ;-) I get put to work
22:09 particle we reward enthusiasm with responsibility
22:10 Khisanth joined #parrot
22:12 StephenPollei yes I see many things in t/block that might be suitable for moving [[ Please also read t/deprecated-syntax.pod for common mistakes in the test suite, and clear them when you update tests. ]] also trying to make sure I understand your conventions before I just do a cut-n-paste mindless monkey thing
22:18 Andy joined #parrot
22:46 Limbic_Region joined #parrot
22:56 apeiron joined #parrot
23:11 Theory joined #parrot
23:24 tetragon joined #parrot
23:29 slightlyoff joined #parrot
23:30 gmansi joined #parrot
23:31 MeGaMiC joined #parrot

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

Parrot | source cross referenced