Camelia, the Perl 6 bug

IRC log for #parrot, 2008-05-10

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:03 davidfetter joined #parrot
00:11 particl2 joined #parrot
00:13 rdice joined #parrot
00:31 particle joined #parrot
00:37 kid51 joined #parrot
00:44 mire_ joined #parrot
01:05 particl1 joined #parrot
01:05 mire__ joined #parrot
01:36 mire__ joined #parrot
01:55 mire_ joined #parrot
01:58 Andy joined #parrot
02:13 mire__ joined #parrot
02:28 mire_ joined #parrot
02:35 janus joined #parrot
02:35 Ademan joined #parrot
02:51 mire_ joined #parrot
03:18 mire_ joined #parrot
03:19 andy753421 joined #parrot
03:20 andy753421 Hello, does anyone know if/where there's some up-to-date documentation on PASM?
03:20 andy753421 specifically on working with subroutines
03:20 pmichaud not really.  Most people are using PIR these days anyway.
03:22 pmichaud you might look at pdd03, in the section "PIR SYNTAX EXAMPLES" at the end of the file
03:40 dalek r27401 | petdance++ | trunk:
03:40 dalek : add another warning for old-style prototypes
03:40 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27401
03:40 Andy DID YOU MISS ME?
03:45 tetragon joined #parrot
04:01 spinclad just dreadfully!
04:06 andy753421 left #parrot
04:14 grim_fandango joined #parrot
04:19 cout joined #parrot
04:26 dalek r27402 | petdance++ | trunk:
04:26 dalek : use STRNEQ instead of strcmp() as a boolean
04:26 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27402
04:31 Psyche^ joined #parrot
04:37 Andy So do cage tests normally fail?
04:38 pmichaud some do, depending on how they're invoked
04:38 pmichaud 'make test' doesn't run all tests, iirc
04:38 pmichaud so there are some tests (e.g., codingstd) that we have but that we don't yet include as part of 'make test'
04:45 Theory joined #parrot
04:53 rhr joined #parrot
05:20 iblechbot joined #parrot
05:33 Tene Okay, I mostly know what I need to do to get placeholder vars to replace the signature instead of augmenting it.
05:33 Tene It's the sorting that might be a problem.
05:34 Tene I also need to check if I should be inserting the vars into the symtable as $^a or as just $a.
05:34 Tene Looks like probably the former.
05:35 Tene I'm mainly unsure how to do the sorting.  IIRC, rakudo doesn't have a 'sort' defined yet...
05:35 * Tene looks around.
05:36 Tene Okay, parrot has a Data::Sort.
05:46 dalek r27403 | petdance++ | trunk:
05:46 dalek : helpful use of the PARROT_DOES_NOT_RETURN. Also, removed impossible condition of a function returning NULL
05:46 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27403
05:51 Tene Hm.  I should include a test.
05:52 Tene I need to figure out if there's a way to set svn metadata from git-svn.
05:53 dalek r27404 | tene++ | trunk:
05:53 dalek : Variable assignment works in cardinal.
05:53 dalek : Swipe scope handling from rakudo for cardinal.
05:53 dalek : Minor syntax updates for cardinal.
05:53 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27404
06:05 Zaba_ joined #parrot
06:44 barney joined #parrot
07:23 Zaba moin
07:29 dalek r27405 | fperrad++ | trunk:
07:29 dalek : [docs]
07:29 dalek : - docs/strings.pod removed since r27305
07:29 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27405
07:34 dalek r27406 | fperrad++ | trunk:
07:34 dalek : [docs]
07:34 dalek : - rename HQ9plus to hq9plus (new implementation since r26620)
07:34 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27406
08:22 Ivatar joined #parrot
09:07 jonathan joined #parrot
09:57 desertmax joined #parrot
10:16 dalek r27407 | allison++ | pdd25cx:
10:16 dalek : [pdd25cx] Throw an exception when attempting to remove an exception or event handler that doesn't exist.
10:16 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27407
10:17 tetragon joined #parrot
10:42 dalek r27408 | allison++ | pdd25cx:
10:42 dalek : [pdd25cx] Update the expected error message when attempting to delete an
10:42 dalek : exception handler when there is none. TODO rethrow test and a dynamic scope
10:42 dalek : test.
10:42 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27408
10:51 iblechbot joined #parrot
11:00 masak joined #parrot
11:21 desertmax joined #parrot
11:23 mire_ joined #parrot
12:03 kid51 joined #parrot
13:02 dalek r27409 | allison++ | pdd25cx:
13:02 dalek : [pdd25cx] Clean up stray tab added by unhelpful Vim config.
13:02 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27409
13:03 dalek r27410 | allison++ | pdd25cx:
13:03 dalek : [pdd25cx] TODO rethrow test.
13:03 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27410
13:05 dalek r27411 | allison++ | pdd25cx:
13:05 dalek : [pdd25cx] Change several more instances of 'throwcc' to 'throw'.
13:05 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27411
13:13 ambs joined #parrot
13:17 rdice joined #parrot
13:19 mire__ joined #parrot
13:34 Ivatar joined #parrot
13:43 mire_ joined #parrot
14:07 dalek r27412 | fperrad++ | trunk:
14:07 dalek : [Lua]
14:07 dalek : - translates first opcodes
14:07 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27412
14:13 dalek r27413 | allison++ | pdd25cx:
14:13 dalek : [pdd25cx] Bringing the pdd25cx branch up-to-date with trunk r27411.
14:13 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27413
14:15 mire__ joined #parrot
14:18 kid51 joined #parrot
14:24 grim_fandango joined #parrot
14:39 pmichaud Tene: (sorting) -- I had been thinking that for sorting we would use an insertion sort as placeholder variables are encountered
14:39 pmichaud as opposed to trying to call a sort algorithm
14:40 NotFound joined #parrot
14:40 NotFound Hello.
14:41 * ambs waves
14:44 pmichaud NotFound: were you looking at the case of having NULL keys in hashes?
14:45 NotFound pmichaud: I left the issue expecting chromatic decision.
14:45 pmichaud okay.  Last night while scanning RT tickets I also found RT#43485: Null Key Strings Make Hashes Cry
14:46 pmichaud apparently chromatic encountered something similar :-)
14:46 pmichaud (about a year ago)
14:46 mire_ joined #parrot
14:49 NotFound I can't understand scheme
14:50 NotFound But the issue is clearly than null keys are not valid, the code in hash.c assume they never are.
14:51 pmichaud okay.  I was just pointing out the ticket in case it was useful to you or chromatic.  :-)
14:51 pmichaud (especially since chromatic is wanting to reduce the number of outstanding tickets for the may 20 release)
14:52 NotFound I think the check for nullness is usefule, maybe a PARROT_ASSERT about that help catch bugs.
14:56 pmichaud oh, that might be good, yes.
14:57 NotFound Talking about solving tickets, someone looked at 46629?
14:59 pmichaud seems reasonable to me.
15:00 pmichaud at least within the limits of the Complex implementation, which has some oddities
15:01 NotFound At least is testable.
15:01 dalek r27414 | allison++ | pdd25cx:
15:01 dalek : [pdd25cx] Reverting two headerizer changes, suggested by chromatic.
15:01 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27414
15:08 mire__ joined #parrot
15:10 NotFound With the assertion in place, the test case in 53890 is catched.
15:10 NotFound src/hash.c:342: failed assertion 'bucket->key'
15:15 NotFound Patch sended to RT#53890
15:16 jonathan pmichaud++ # nice Rakudo work
15:17 jonathan Especially happy to see the fatarrow parsing bug fixed.
15:17 pmichaud yes, that was going to be an ongoing pain :-)
15:17 pmichaud fortunately it wasn't too difficult to correct
15:18 jonathan :-)
15:18 jonathan If one understands PGE, at least. ;-)
15:18 pmichaud I think I also have a way to fix the -> bug
15:19 jonathan Other than a fail hack in the operator parser?
15:19 pmichaud yes
15:19 jonathan Cool.
15:19 jonathan I'm very happy to have you take care of the parser issues. Though I do want to try and understand PGE internals better at some point.
15:20 pmichaud unfortunately it means refactoring the OPP a bit...back to the form I had originally.  :-(
15:21 pmichaud but it'll be more std.pm-like (since std.pm ended up using the form I had originally :-)
15:22 jonathan Closing in on STD.pm is generally a good thing.
15:23 jonathan I try to edge us further towards it now and then.
15:23 pmichaud I'm fairly sure I'll try to spend some dedicated time over the summer to getting ltm working
15:23 jonathan That would be a big step forward.
15:23 jonathan Larry mentioned he was parsing something like 2000 chars a second with his prototype in the last call.
15:24 pmichaud it may also be a substantial rewrite of pge.  But fortunately the abstractions are such that I don't think it'll impact anything
15:24 jonathan I'm hoping the Parrot implementation might manage more than that. ;-)
15:24 pmichaud oh, I'm sure it will.  :-)
15:24 jonathan OK, good.
15:24 pmichaud I'm even thinking of rewriting PGE in C
15:24 pmichaud it depends on how the ltm code is structured.
15:25 jonathan It may be the only way to get the performance we need, and working in something higher level than PIR may well make development easier.
15:25 pmichaud heh
15:25 pmichaud I went with PIR because *it* made development easier.  :-)
15:25 jonathan "higher level" ;-)
15:26 jonathan Yeah
15:26 pmichaud I can almost guarantee that a C implementation will be less accessible
15:26 jonathan True.
15:26 jonathan There's pros and cons either way.
15:29 jonathan I'm pondering how best to spend my Rakudo time. While objects are very high in the list, I think there's plenty of other stuff that wants attention too.
15:29 pmichaud I don't have a good answer at the moment :-|
15:30 jonathan I'm pondering dividing it half and half - half to incrementally get S12 in, but spend the rest on other bits: builtins, applying patches people send it (or giving feedback when they're not right), fixing other bugs, etc.
15:30 pmichaud that seems extremely reasonable.  It's at least a good start.
15:30 jonathan s/but/and/
15:30 pmichaud I'd say go with that and feel free to change the mix as you go
15:30 jonathan I stubbed in parsing a bunch of S12 stuff on Tuesday that I plan to fill out.
15:31 jonathan got it parsing, but panicing with an "unimplemented" message...prefer to make it clear when stuff parses but shouldn't be expected to work.
15:32 dalek r27415 | allison++ | pdd25cx:
15:32 dalek : [pdd25cx] Updating exception names in merged code.
15:32 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27415
15:32 jonathan So filling those out will likely by my next OO task, and then after that I plan to take on attributes in roles.
15:32 pmichaud I think I'll work on spectest a bit this morning
15:33 dalek r27416 | allison++ | pdd25cx:
15:33 dalek : [pdd25cx] Renabling generation of src/stacks.str.
15:33 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27416
15:33 jonathan (spectest work)++
15:33 jonathan I'm mostly offline for the next 3-4 days with moving.
15:34 moritz (whoever fixed multiple pairs in sub calls)++
15:34 jonathan Will do my Rakudo day towards the end of next week, once I've got into the new appartment etc.
15:34 pmichaud that should work well with me
15:34 jonathan OK, great.
15:35 pmichaud afaict I don't have anything coming up for the end of the week
15:35 jonathan I've got a lot of talks to prepare for the end of the month.
15:35 pmichaud I'm envious.  Wish I could get to do as many talks as you're getting to do :-)
15:35 jonathan Are you planning to get return and other control exception-ish stuff in soon?
15:35 pmichaud for various values of "soon" (more)
15:36 pmichaud it would be better to get list assignment done first, as return will somewhat want that
15:36 jonathan Talks - yes, I really enjoy sharing with people what's getting done on Perl 6.
15:36 pmichaud but return comes shortly thereafter.
15:36 jonathan OK, makes sense.
15:36 pmichaud heh
15:37 pmichaud those are #1 and #2 :-)
15:37 jonathan #3 and #4 are keeping me entertained. ;-)
15:37 pmichaud #5 is somewhat high as well -- just need to update the Digest::MD5 library a bit first
15:38 jonathan is that "selected libraries written in Perl 6"?
15:38 pmichaud yes
15:38 jonathan Digest::MD5?
15:38 purl rumour has it Digest::MD5 is on CPAN
15:39 pmichaud the blocker is that PCT doesn't generate unique sub names
15:39 pmichaud (across multiple invocations)
15:39 ambs purl, sure it is
15:39 purl OK, ambs.
15:39 pmichaud so, we'll md5 the source in order to produce a unique component of the name
15:39 moritz jonathan: if there's something I can do to help you (for example preparing very simple test cases) please let me know
15:39 pmichaud (test cases)++
15:39 jonathan moritz: I would *love* more OO tests.
15:40 moritz jonathan: what kind of OO tests?
15:40 jonathan You don't even have to write some of them - there's plenty of starting points in the Pugs test and also the Moose ones.
15:41 jonathan moritz: The most helpful thing to me at the moment is tests for the OO features that are already implemented in Rakudo.
15:41 jonathan So as to be sure they don't accidentally get broken.
15:41 moritz jonathan: so mostly inheritance and role composition?
15:41 jonathan So inheritance, attributes, role composition, the cases of handles that are done so far...
15:41 jonathan methods
15:41 moritz ok
15:41 jonathan WHENCE stuff, particularly in calls to new.
15:42 jonathan (e.g. for initializing superclasses)
15:42 jonathan I plan to work on private methods shortly.
15:42 jonathan pmichaud: md5 - understand now, makes sense.
15:42 mire_ joined #parrot
15:43 moritz jonathan: ok, that can get me started
15:43 jonathan pmichaud: I think we also need to be able to have a way to emit a sub and choose what class is used.
15:43 jonathan So we can differentiate method from regex etc
15:44 jonathan I don't think Parrot supports that; I was pondering proposing a :class('Name') adverb for .sub
15:44 pmichaud ....differentiate method from regex?
15:45 pmichaud in what sense?
15:45 jonathan They are different types in Perl 6.
15:45 pmichaud ohhhh
15:45 pmichaud yes, I agree
15:45 pmichaud we need a way to tell PIR what sort of Sub object to create.
15:45 jonathan I think we might need that to get Submethod's right.
15:46 jonathan Or at least, it's one way.
15:46 pmichaud well, we definitely want a compile-time mechanism to distinguish the various types of code objects
15:46 jonathan Right, agree.
15:46 jonathan We don't want to have to fix that up at runtime.
15:46 pmichaud I've mentioned it a couple of times before but haven't gotten any traction.
15:47 pmichaud (but also haven't pushed it hard because there are other fish to fry)
15:47 jonathan I'll send my proposal in complete with an offer to impelement it. :-)
15:47 pmichaud that's more than I can do at this point (the "offer to implement it" part)
15:47 pmichaud although I'm rapidly getting to the point of understanding more about Parrot internals
15:47 jonathan Hopefully it's not so hard.
15:48 dalek r27417 | allison++ | trunk:
15:48 dalek : [cage] Add svn:ignore property to generated file src/call_list.txt.
15:48 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27417
15:59 desertmax joined #parrot
16:03 wknight8111 joined #parrot
16:04 wknight8111 left #parrot
16:06 wknight joined #parrot
16:14 radhios joined #parrot
16:43 dalek r27418 | pmichaud++ | pgeupdates:
16:43 dalek : Branch for PGE/S05 method updates
16:43 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27418
16:43 davidfetter joined #parrot
16:49 nopaste joined #parrot
16:55 Senaka joined #parrot
16:56 Senaka seen infinoid
16:56 purl infinoid was last seen on #parrot 19 hours and 58 minutes ago, saying: Cardinal Fang, fetch ... the comfy chair!
16:56 Senaka :(
16:56 Senaka left #parrot
17:09 Theory joined #parrot
17:13 tetragon joined #parrot
17:19 dalek r27419 | allison++ | pdd25cx:
17:19 dalek : [pdd25cx] Replace 'internal_exception' with 'exit_fatal'.
17:19 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27419
17:29 dalek allison@perl.org | Concurrency Tasks:
17:29 dalek link: http://www.perlfoundation.org/pa​rrot/index.cgi?concurrency_tasks
17:29 shorten dalek's url is at http://xrl.us/bjqpy
18:04 Zaba_ joined #parrot
18:10 rdice joined #parrot
18:14 wknight8111 joined #parrot
18:15 cognominal joined #parrot
18:18 ambs joined #parrot
19:17 peepsalot joined #parrot
19:31 peepsalot joined #parrot
19:37 guru joined #parrot
19:57 Theory joined #parrot
20:02 desertmax_ joined #parrot
20:04 Tene pmichaud: the last thing I'm still considering is how to detect that a signature was given.  Just scan the symtable every time we encounter a new placeholder var looking for vars that don't contain ^ as a twigil and throw an exception if we find one?
20:07 ruoso joined #parrot
20:11 pmichaud well, scanning the symtable might not be enough
20:11 ambs joined #parrot
20:11 pmichaud since other symbols are there
20:11 pmichaud easier might be to set a flag on the block to indicate that it has a signature
20:12 pmichaud since we put a signature on the block before we scan it
20:12 Tene Any suggestion on how I can do that?  Are there arebitrary name/value keys I can throw at a past node?
20:13 pmichaud well, you can stick anything you want in the node's symtable :-)
20:13 Tene So adding a "ZOMGLWEHAVEASIGNATURELOL" entry to the symtable would be acceptable?
20:14 pmichaud it's within the spec.  :-)
20:14 pmichaud whether it's "acceptable" is another question :-)
20:15 Tene The two other things I'm going to have to track down, then, are what sort of error to create and how to create it, and whether I store placeholder vars as '$a' or '$^a'
20:24 pmichaud creating an error is just $/.panic("message")
20:24 pmichaud placeholder vars need to be '$^a', since $^a and $a are distinct variables
20:25 pmichaud (iirc)
20:25 * Tene nods.
20:25 Tene pmichaud++
20:26 mire_ joined #parrot
20:31 pfig joined #parrot
20:31 dalek r27420 | pmichaud++ | pgeupdates:
20:31 dalek : [pge]:
20:31 dalek : Initial conversions to correspond to S05 updates:
20:31 dalek :     'get_scalar' => 'item'
20:31 dalek :     'get_array'  => 'list'
20:31 dalek :     'get_hash'   => 'hash'
20:31 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27420
20:53 Tene Hm.
20:54 Tene sub foo { say "make and return a sub to say: $^a"; my $x = sub { say $^a }; return $x }
20:54 pmichaud pct still needs a little work on closures, I think.
20:54 Tene placeholders are always local to the sub they're used in, I guess.
20:54 pmichaud correct.
20:54 purl no, it's not!
20:55 pmichaud I would write that as
20:55 pmichaud sub foo { my $a := $^a; say "...."; ... }
20:55 pmichaud and then the inner sub would use $a
20:56 Tene Right.  Just making sure I don't have to scan around in outer blocks checking.
21:05 Theory joined #parrot
21:12 dalek r27421 | pmichaud++ | pgeupdates:
21:12 dalek : [pge]:
21:12 dalek : * More updates.
21:12 dalek : * Have PGE::Match use Capture_PIR as a base class (DRY).
21:12 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27421
21:18 IllvilJa joined #parrot
21:19 pmichaud afk # library
21:19 Tene gcc -Llibrary
21:24 Tene Ack.  I'm duplicating a lot of code.
21:32 Tene Hm.  String comparisons in NQP.
21:42 Tene NQP doesn't have 'lt' and 'gt'.  Trying to call rakudo's infix:lt and infix:gt is awkward.
21:43 pmichaud We can add lt and gt
21:43 pmichaud since we now have a need for them :-)
21:47 dalek r27422 | pmichaud++ | trunk:
21:47 dalek : [core]:  Deprecate Super PMC (RT#53968)
21:47 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27422
21:48 pmichaud I guess we need 'le' and 'ge' also, then.
21:49 pmichaud although we could just implement <=> and leg and be done with it :-)
21:52 pmichaud Added, r27423
21:53 dalek r27423 | pmichaud++ | trunk:
21:53 dalek : [nqp]:
21:53 dalek : * Add lt, le, gt, ge infix operators.
21:53 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27423
21:53 Tene pmichaud++
22:06 wknight8111 joined #parrot
22:09 teknomunk joined #parrot
22:35 wknight8111_ joined #parrot
22:54 rdice joined #parrot
23:11 wknight8111 left #parrot
23:17 dalek r27424 | pmichaud++ | trunk:
23:17 dalek : [nqp]:
23:17 dalek : * Oops!  Forgot a piece of the lt, le, gt, ge operators!  (pmichaud--)
23:17 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27424
23:18 TonyC joined #parrot
23:37 radhios joined #parrot
23:44 * rafl wonders if http://files.perldition.org/​rakudo_list_undef_perl.diff looks sane
23:47 askie joined #parrot
23:52 pmichaud should probably use an interator to loop over elements of the List
23:52 pmichaud also, should it be (a, b, c)   or [a, b, c] ?
23:52 pmichaud *iterator
23:55 rafl not sure about the iterator. all of the other methods in List.pir are implemented like that.
23:56 rafl no idea about () vs []. let me see..
23:58 rafl (a, b, c) and <a b c> is tested
23:58 rafl however [a, b, c] also works, as it seems. what's the difference?
23:59 pmichaud no, my question is what should    .perl return
23:59 purl okay, pmichaud.
23:59 pmichaud should it use (...) or [...] ?
23:59 pmichaud purl, forget my question
23:59 purl pmichaud, I didn't have anything matching my question

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

Parrot | source cross referenced