Camelia, the Perl 6 bug

IRC log for #parrot, 2010-02-21

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:01 NotFound Looks like the problem is that loading a library inside an :immediate sub doesn't work well.
00:04 mikehh sys_mem_reduce branch:
00:04 mikehh t/examples/shootout.t - Failed test 'examples/shootout/nsieve-bits.pir' - results wrong (less than required)
00:04 mikehh all other tests PASS (pre/post-config, make corevm/make coretest, smoke (#32303), fulltest) at r44262 - Ubuntu 9.10 amd64 (g++ with --optimize)
00:05 mikehh #   Failed test 'examples/shootout/nsieve-bits.pir'
00:05 mikehh #   at t/examples/shootout.t line 99.
00:05 mikehh #          got: 'Primes up to    40000     4329
00:05 mikehh # Primes up to    20000     2277
00:05 mikehh # Primes up to    10000     1194
00:05 mikehh # '
00:05 mikehh #     expected: 'Primes up to    40000     4203
00:05 mikehh # Primes up to    20000     2262
00:05 mikehh # Primes up to    10000     1229
00:05 mikehh sorry should say more not less
00:10 NotFound Worse, that way is not 'reduce'
00:12 bacek mikehh, fixed
00:12 bacek NotFound, bad joke, no cookie...
00:12 bacek :)
00:13 NotFound Was a bad cookie, anyway.
00:19 snarkyboojum joined #parrot
00:21 davidfetter joined #parrot
00:22 NotFound In my amd64 system the problem doesn't appear. Trying a fresh checkout on the 386
00:22 mikehh bacek: ok that works
00:22 bacek NotFound, I can't reliably reproduce it on i386...
00:23 NotFound bacek: doesn't break the build for me, but fails.
00:23 chromatic joined #parrot
00:24 bacek chromatic, aloha
00:25 dalek parrot: r44263 | bacek++ | branches/sys_mem_reduce/src​/pmc/fixedbooleanarray.pmc:
00:25 dalek parrot: Explicitely clean allocated memory in FBA.
00:25 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44263/
00:25 dalek parrot: r44264 | bacek++ | branches/sys_mem_reduce/t/pmc/fixedbooleanarray.t:
00:25 dalek parrot: Add test for initial FBA filling with 0.
00:25 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44264/
00:26 NotFound BTW, there is some reason to build a fakecutable for that tool?
00:26 bacek no idea
00:30 * chromatic has the very beginnings of an idea to unify PIR/C PMCs.
00:31 Whiteknight chromatic: do tell
00:32 patspam joined #parrot
00:32 chromatic Make every PMC into a Class.
00:33 Whiteknight you mean every built-in PMC type?
00:33 chromatic Yes.
00:33 NotFound And every instance an object?
00:34 chromatic Not necessarily; they don't have to be.
00:35 theory joined #parrot
00:37 mikehh sys_mem_reduce branch:
00:37 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#32304), fulltest) at r44263 - Ubuntu 9.10 amd64 (g++ with --optimize)
00:39 Whiteknight chromatic: I would like to see that idea fleshed out a little
00:42 chromatic I need to think about it some.
00:43 chromatic Mostly I want to move to a model where we define as much in PIR (or "not in C") as possible.
00:44 NotFound I reverted to r44251 and fails same way. Not my fault :)
00:46 Whiteknight with only a few small tweaks I think we could have the option to write VTABLES and METHODS in PIR for built-in types
00:47 snarkyboojum joined #parrot
00:53 NotFound The funny thing is that the program runs even if PackFile_unpack gives a lot of error messages,
00:54 NotFound So it looks like the :immediate usage is a premature pessimization
00:55 chromatic Boy, those GETATTR macros could easily become assignments.  Ternary operator.
00:56 Whiteknight Parrot really should use the packfile PMCs natively foreverything internally
00:57 snarkyboojum joined #parrot
01:40 lucian joined #parrot
01:55 plobsing_ joined #parrot
02:08 theory joined #parrot
02:15 dalek pynie: r108 | allisonrandal++ | trunk/ (3 files):
02:15 dalek pynie: Fix a bug and add a missing method in dictionaries, reported in
02:15 dalek pynie: LP #525015. Thanks to R. David Murray for submitting the failing
02:15 dalek pynie: tests.
02:15 dalek pynie: review: http://code.google.com/p/pynie/source/detail?r=108
02:18 dalek winxed: r422 | julian.notfound++ | trunk/examples/wpack.winxed:
02:18 dalek winxed: get opcodes by name instead of harcoding in the example wpack
02:18 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=422
02:37 snarkyboojum joined #parrot
02:46 JimmyZ joined #parrot
02:54 bacek joined #parrot
03:25 dalek parrot: r44265 | plobsing++ | trunk/tools/dev/nci_thunk_gen.pir:
03:25 dalek parrot: add --dynext option to parrot_nci_thunk_gen to choose options suitable for use as parrot dynext libraries
03:25 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44265/
03:26 nbrown joined #parrot
03:36 confound joined #parrot
03:36 confound joined #parrot
03:46 myhrlin_ joined #parrot
03:58 dalek parrot: r44266 | plobsing++ | trunk (3 files):
03:58 dalek parrot: rename HashPointer to more descriptive nci_funcs and use PARROT_ASSERT in files generated by nci_thunk_gen
03:58 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44266/
04:01 janus joined #parrot
04:15 dalek parrot: r44267 | chromatic++ | trunk/tools/dev/nci_thunk_gen.pir:
04:15 dalek parrot: [NCI] Added header for NCI loader function in NCI thunk generator.
04:15 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44267/
04:15 dalek parrot: r44268 | chromatic++ | trunk/src/pmc/opcode.pmc:
04:15 dalek parrot: [PMC] Added a cast to get_integer_keyed_int() in Opcode PMC to avoid signedness
04:15 dalek parrot: comparison compiler warning.
04:15 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44268/
04:15 dalek parrot: r44269 | chromatic++ | trunk/src/call/args.c:
04:15 dalek parrot: [PCC] Avoided "use of uninitialized pointer" compiler warning in fill_results().
04:15 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44269/
04:15 dalek parrot: r44270 | chromatic++ | trunk/src/main.c:
04:15 dalek parrot: [src] Removed unnecessary cast when parsing tracing flags in parseflags().  Not
04:15 dalek parrot: only does it generate compiler warnings about the enumeration, but it gives a
04:15 dalek parrot: false sense of security that we've done any argument checking there.
04:15 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44270/
04:15 dalek parrot: r44271 | chromatic++ | trunk/src/debug.c:
04:15 dalek parrot: [debugger] Removed dead code from PDB_get_command(), identified by Coverity in
04:15 dalek parrot: CID #354.
04:15 dalek parrot: Tidied surrounding code; no functional changes.
04:15 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44271/
04:27 jsut joined #parrot
04:31 dalek parrot: r44272 | plobsing++ | trunk (3 files):
04:31 dalek parrot: add extra_nci_thunks dynext
04:31 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44272/
04:35 Andy joined #parrot
04:35 ttbot Parrot trunk/ r44272 MSWin32-x86-multi-thread make error http://tt.ro.vutbr.cz/file/cmdout/206583.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
04:57 Coke plobsing_: I think you broke the build again.
04:57 Coke (missing a dep on data_json, perhaps?
05:23 bacek joined #parrot
05:24 bacek o hai...
05:26 bacek Anyone willing to cleanup PackFiles? With something like flamethrowing machete...
05:27 bacek They are crashing under Boehm GC with memory corruption errors...
05:38 Andy joined #parrot
05:59 chromatic Valgrind time?
06:04 bacek Valgrind doesn't work in current GC...
06:04 bacek because we allocate big-chunk-of-memory and reallocate small chunks from it
06:04 dalek rakudo/master: e904536 | duff++ | src/Perl6/ (2 files):
06:04 dalek rakudo/master: Simple statement modifier for loop
06:04 dalek rakudo/master: Just iterates; doesn't return values
06:04 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/e​90453678f18304d9846847af857e5f33c780858
06:04 dalek rakudo/master: ed656df | duff++ | src/core/Any-list.pm:
06:04 dalek rakudo/master: Add non-method form of map
06:04 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/e​d656df06cf0fa627f9590edef8dcaa5200ab597
06:04 bacek so, from valgrind point of view everything is Ok
06:10 chromatic --gc-debug runcore?
06:10 bacek doesn't work either...
06:10 bacek --gc inf may help
06:11 bacek + valgrind
06:14 bacek right after sys_mem_reduce landing and resurrecting GC INF.
06:58 dalek parrot: r44273 | bacek++ | branches/boehm_gc_2/lib/Parrot (2 files):
06:58 dalek parrot: Store ATTRibutes bitmap layout in VTABLE and calculate it in pmc2c
06:58 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44273/
06:58 dalek parrot: r44274 | bacek++ | branches/boehm_gc_2/lib/Pa​rrot/Pmc2c/PMCEmitter.pm:
06:58 dalek parrot: Fix generating attr_layout for arrays
06:58 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44274/
06:58 dalek parrot: r44275 | bacek++ | branches/boehm_gc_2/src/gc/gc_boehm.c:
06:58 dalek parrot: Use attr_layout in gc_boehm
06:58 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44275/
07:21 iblechbot joined #parrot
07:29 cotto joined #parrot
07:30 dalek rakudo/master: 68bb56b | duff++ | src/Perl6/ (2 files):
07:30 dalek rakudo/master: simplify statement_mod_loop logic a little
07:30 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/6​8bb56ba66915fa81c3ea0918203565b350ae4c3
07:38 Austin joined #parrot
08:14 chromatic joined #parrot
08:16 Austin Well, that was harder than it should have been...
09:41 dalek parrot: r44276 | mikehh++ | trunk/src/main.c:
09:41 dalek parrot: add cast to get g++ to build
09:41 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44276/
09:44 ttbot Parrot trunk/ r44276 MSWin32-x86-multi-thread make error http://tt.ro.vutbr.cz/file/cmdout/206808.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
09:51 Austin I love it! Less code!
09:52 JimmyZ this cast was removed and re-added again and again
09:56 mikehh jimmyZ: it is required by a g++ build (not gcc)
09:56 JimmyZ mikehh: I see
09:58 mikehh jimmyZ: I am sure there is another way to get around it - but I need to thionk about that
09:58 mikehh s/thionk/think/
10:00 Austin w00t. Testing --version.
10:00 JimmyZ r44276 still make failed on mswin32
10:12 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#32308), fulltest) at r44276 - Ubuntu 9.10 amd64 (g++ with --optimize)
10:15 payload joined #parrot
10:28 snarkyboojum_ joined #parrot
10:40 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#32309), fulltest) at r44276 - Ubuntu 9.10 amd64 (gcc with --optimize)
10:41 mikehh heading over to i386 to do some tests there - bbiab
11:36 mikehh joined #parrot
12:02 mikehh joined #parrot
12:07 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#32312), fulltest) at r44276 - Ubuntu 9.10 i386 (g++ with --optimize)
12:19 lucian joined #parrot
12:20 mikehh joined #parrot
12:24 Austin joined #parrot
12:54 Guest90088 joined #parrot
13:00 mikehh joined #parrot
13:14 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#32314), fulltest) at r44276 - Ubuntu 9.10 i386 (gcc with --optimize)
13:30 mikehh rakudo - make test PASS, make spectest_smolder #32316 - two tests FAIL - Ubuntu 9.10 i386 (gcc with --optimize)
13:31 mikehh heading back to amd64 - bbiab
13:38 payload joined #parrot
13:42 plobsing joined #parrot
13:45 kid51 joined #parrot
13:47 mikehh joined #parrot
13:57 Whiteknight joined #parrot
14:02 Whiteknight good morning #parrot
14:03 mikehh hi Whiteknight
14:03 Whiteknight hello mikehh\
14:03 iblechbot joined #parrot
14:03 mikehh need any branches testing?
14:05 Whiteknight nope, not at the moment
14:13 joeri joined #parrot
14:22 plobsing Is anyone here on a windows box?
14:22 kid51 mikehh:  bacek, on list, requested testing of sys_mem_reduce branch
14:26 bacek joined #parrot
14:31 Whiteknight plobsing: not today
14:38 kid51 sys_mem_reduce branch:  Last Changed Rev: 44264:  PASS buildtools_tests and codetest
14:46 kid51 sys_mem_reduce branch:  Last Changed Rev: 44264:  PASS make test:  http://smolder.plusthree.com/ap​p/projects/report_details/32318
15:03 kjeldahl joined #parrot
15:24 Austin plobsing: Using a windows box, or building parrot on a windows box? (I'm running andlinux on top of windows)
15:38 kthakore hi
15:39 kthakore the latest parrot broke something in testing  toolchain
15:39 kthakore my working test for ParrotSDL
15:39 kthakore are no longer working
15:39 kthakore t/sdl_lib.t .. Unknown PMC type to thaw 29807
15:39 kthakore current instr.: 'main' pc 0 (t/sdl_lib.t:18)
15:39 kthakore ???
15:39 kthakore what does that mean?
15:39 purl That boy needs therapy.
15:42 Whiteknight kthakore, nopaste your code?
15:43 kthakore ok
15:44 kthakore nopaste?
15:44 purl well, nopaste is at http://nopaste.snit.ch/ (ask TonyC for new channels)  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) or http://gist.github.com/ or paste or gtfo or tools/dev/nopaste.pl or https://trac.parrot.org/parrot/br​owser/trunk/tools/dev/nopaste.pl
15:44 Austin Can the <ws> rule use :sym extensions?
15:45 nopaste "kthakore" at 99.234.159.149 pasted "broken t/sdl_lib.t" (54 lines) at http://nopaste.snit.ch/19726
15:46 kthakore Austin: the rest of the code is on http://github.com/kthakore/parrotSDL
15:46 kthakore Austin: the funny thing is it dies at line 18
15:46 kthakore .sub 'main' :main
15:46 kthakore what?
15:49 Whiteknight kthakore: update your parrot and rebuild the PBCs
15:50 kthakore ok
15:50 Whiteknight could be a PBC_COMPAT
15:50 Psyche^ joined #parrot
15:50 Austin kthakore: Clearly it's making some progress, since it knows how many tests you were running. I expect that one or more of the .pbc files is bad, or is an old pbc format. (Remember, they pbc format changes in an incompatible way every time they do a release, or after 20 minutes.)
15:51 kthakore oh ok
15:51 kthakore it works now!
15:57 pmichaud purl messages
15:57 pmichaud 15:56 <purl> Coke [Sat Feb 20 16:34:13 2010] said: you might want to make --gen-parrot rm the local parrot directory and do a fresh checkout.
15:58 pmichaud svn checkouts are so slow already, I really would prefer not to do that :)
15:58 pmichaud --gen-parrot does do a "make realclean", however.  (Yes, I recognize there are places where "make realclean" isn't sufficient.)
16:08 Whiteknight that said, there *shouldn't* be cases where realclean isn't sufficient
16:11 pmichaud correct :-)
16:11 Whiteknight Austin, PBC format doesn't change every release
16:11 Austin Sure man
16:11 pmichaud 15:43 <Austin> Can the <ws> rule use :sym extensions?
16:11 pmichaud Austin: yes.  It's just another regex.
16:11 Austin W00t.
16:11 Austin pmichaud++
16:12 Austin I notice you got rid of the whitespace cache in favor of a generalized cache
16:12 Austin Can nqprx handle nqprx closures yet, or still just pir?
16:13 pmichaud afaik, it handles closures.
16:13 pmichaud checking.
16:14 pmichaud hmmm, looks like possibly not.
16:14 Austin Hmm
16:14 Austin Does the parrot-nqp that I have with 2.1.0 run nqp-rx, or some dumbed down edition?
16:14 pmichaud nqp-rx, should be.
16:15 pmichaud afaik there aren't any dumbed-down editions.  nqp-rx is dumb enough already, I hear :)
16:18 nopaste "Austin" at 68.37.46.53 pasted "Bad parsing, or bad error handling?" (38 lines) at http://nopaste.snit.ch/19727
16:20 pmichaud need the ...
16:20 pmichaud proto token ws { ... }
16:20 Austin joined #parrot
16:20 pmichaud bad error message from nqp
16:20 Austin Grrr... stupid firefox
16:20 Austin firefox--
16:20 pmichaud need the ...
16:20 pmichaud proto token ws { ... }
16:20 Whiteknight a better error message would be something like "yo fool, where the elipses at?"
16:20 pmichaud exactly
16:20 Whiteknight "...at line 18"
16:20 pmichaud fixing
16:21 Austin S5 shows it with no content:   proto token sigil {   }
16:21 pmichaud that might be a fossil
16:21 kthakore Austin: what is wrong with firefox?
16:21 Austin kthakore: In this 5 minutes: it's search function is apparently O(N**2)
16:22 pmichaud I'll have to get a spec clarification about S05
16:22 kthakore oh ouch
16:22 kthakore which version are you on?
16:22 kthakore 3.6 is supposed to be faster searching
16:23 Austin So when you are viewing, say, one of the perl synopsis docs, which tend to be elephantine, and you try to search, and you search for the wrong thing, it goes <dead>......several seconds pass <beep!>... several more seconds <beep!>
16:23 pmichaud STD.pm says...
16:23 pmichaud 16:22 <pmichaud> std:  proto token foo { }
16:23 pmichaud 16:22 <p6eval> std 29794: OUTPUT«===SORRY!===␤Null pattern not allowed at /tmp/ZhexAtix5z line 1:␤------> proto token foo { ⏏}␤FAILED 00:01 107m␤»
16:23 Austin Yeah, the version I'm not on is always gonna be faster.
16:23 pmichaud so looks like S05 is incorrect
16:23 pmichaud fixing
16:24 Austin It needs the <> too?
16:24 Austin That's just wrong.
16:24 purl Fire and brimstone coming down from the skies. Rivers and seas boiling! Forty years of darkness, earthquakes, volcanos. The dead rising from the grave! Human sacrifice, dogs and cats living together... mass hysteria!
16:24 Austin pmichaud:  { ... } or { <...> } ?
16:24 pmichaud ...
16:24 pmichaud no angles
16:25 Austin Nope, doesn't work.
16:26 pmichaud oh, needs angles
16:26 pmichaud checking...
16:26 Austin This works:   7  proto token ws { <...> }   0  but this dies 7   proto token ws { ... }
16:26 Austin This works:   7  proto token ws { <...> }   O  but this dies 7   proto token ws { ... }
16:26 Austin sorry about that.
16:26 pmichaud yes, I misremembered -- should be   proto token ws { <...> }
16:27 Austin Hmm. What's the meaning of the innards?
16:27 Austin Is there any parsing or generation going on there?
16:27 pmichaud <...>  normally means "yada yada yada" -- it's the "method/sub stub" marker.
16:28 Austin I figured that for {...}
16:28 pmichaud in regexes we put it in angles, because ... already has another meaning :-)
16:28 Austin It does?
16:28 purl if you say so...
16:28 pmichaud (match exactly 3 characters)
16:29 pmichaud ... is the same as . . .
16:30 Austin okay
16:30 dalek parrot: r44277 | fperrad++ | trunk/runtime/parrot/library/distutils.pir:
16:30 dalek parrot: [distutils] add a cc_run utility
16:30 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44277/
16:31 Austin So I would say 7   sub foo() {...}   O to stub a subroutine, but I have to say 7   token foo { <...> }   O?
16:32 pmichaud yes.
16:32 pmichaud (not sure about the O's in your query)
16:32 Austin That's me mis-remembering how to do colors.
16:32 pmichaud ah
16:32 pmichaud np
16:32 Austin I was using CO instead of O
16:32 Austin 7 colored  original
16:33 ttbot Parrot trunk/ r44277 MSWin32-x86-multi-thread make error http://tt.ro.vutbr.cz/file/cmdout/207048.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
16:33 pmichaud anyway, I'm fixing nqp-rx to give a better message.
16:33 Austin Hell, it's too late now. I've already learnt this lesson.
16:34 pmichaud too late for you, maybe, but think of all of the people who now benefit from your lesson!
16:34 Austin Is there any way to control the order of evaluation of the sub-parts of a proto ?
16:34 pmichaud it's normally controlled by ltm
16:34 pmichaud which is imperfect at the moment in nqp
16:34 Austin Hmm. Is it smart enough to know that { <?MARKED('ws')> } is 0 width?
16:35 pmichaud yes
16:35 Austin Bummer
16:35 pmichaud and to break ties, nqp has a cheating heuristic where it uses the length of the :sym<...>  name.
16:35 Austin Heh
16:35 pmichaud so,   foo:sym<abc>   will be tried before foo:sym<a>.
16:36 Austin Hmm
16:36 Austin Given that ws rules always have to match zero width ...
16:36 Austin I probably want to create a proto-fied subrule
16:36 pmichaud ws is always treated as zero-width for longest-token calculations
16:36 Austin Is that magic?
16:36 Austin (if rulename eq 'ws' ...)
16:37 kthakore where can I read about how NCI works?
16:37 Austin kthakore: No idea, sorry.
16:37 pmichaud it's not magic based on the name, no.
16:37 pmichaud checking
16:37 PerlJam kthakore: docs/pdds/draft/pdd16_native_call.pod
16:38 PerlJam (I don't know why that's still "draft")
16:38 pmichaud okay, it's magic within Perl 6
16:38 pmichaud pasting
16:38 pmichaud As a consequence of the previous point, and because the standard
16:38 pmichaud grammar's C<< <ws> >> rule defines whitespace using C<||>, the
16:38 pmichaud longest token is also terminated by any part of the regex or rule
16:38 pmichaud that I<might> match whitespace using that rule
16:38 pmichaud ...
16:38 Austin Is the || op permissive about a null first item, the way | is?
16:39 pmichaud yes.
16:40 pmichaud > proto token foo { }
16:40 pmichaud Proto regex body must be <...> at line 1, near "{ }\n"
16:41 Austin Available two days after Steak & BJ day, I guess.
16:42 Austin (Parrot 2.2 - 16 March)
16:42 kthakore PerlJam: thanks
16:42 pmichaud well, we'll likely put a new version of nqp-rx into the parrot repo before then, for people who happen to be developing from parrot trunk
16:42 Austin Sure. But that's madness.
16:43 Austin I did it for a few months...
16:44 Austin What's the LTM do with + and * patterns? Just assign them +Inf, or does it do more (or less)?
16:46 dalek nqp-rx: 09ded51 | pmichaud++ | src/NQP/Grammar.pm:
16:46 dalek nqp-rx: Throw a useful error message if a protoregex is given a body other than <...>.
16:46 dalek nqp-rx: Based on comments from Austin Hastings (Austin++).
16:46 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/0​9ded5128fb83ce35e2d0953794b552cc8c4813e
16:47 pmichaud according to spec, + and * are supposed to be included in the ltm
16:47 pmichaud (but they don't count as inf -- it's not a static calculation)
16:47 pmichaud so:
16:47 Austin Howzat?
16:48 Austin If you've got to decide which subpattern to try first, you're kind of stuck with a precomputation, no?
16:48 pmichaud token xyz:sym<abc> { abc }
16:48 pmichaud you don't decide a-priori
16:48 pmichaud ltm actually looks into the subpatterns to decide
16:48 pmichaud so
16:48 pmichaud token xyz:sym<abc> { abc }
16:48 pmichaud token xyz:sym<other> { \w* }
16:48 pmichaud token xyz:sym<abcdef> { abcdef }
16:49 pmichaud knows to call the first for "abc", the second for "abcd" and "abcde", the third for "abcdef", and the second for "abcdefghijkl"
16:50 pmichaud (yes, this is hard to implement, which is why nqp-rx doesn't have a full implementation yet.  neither does the standard grammar :)
16:50 Austin Is that "knows," as in 'in nqprx right now', or is that "will know" as in 'soon, but not today'?
16:50 Austin Ahh.
16:50 pmichaud 'knows' as in "that's what the Perl 6 spec requires"
16:51 pmichaud more to the point,  even patterns like
16:51 pmichaud token xyz:sym<another> { \w*ghi }
16:51 Austin use 6;  if $@P < $@NP {...}
16:51 pmichaud properly participate in the longest token match
16:52 pmichaud i.e., the length isn't assumed to be infinite because of the * -- we actually evaluate the first part of each subregex to decide what its longest sequence is before selecting the rule to fire
16:52 Austin okay
16:53 pmichaud (again, this is Perl 6 spec, not what NQP does at the moment)
16:53 NotFound There is some reason to have a 'lower' method in String PMC but not having 'upper' ?
16:53 pmichaud NotFound: as far as I'm concerned, I wish we didn't even have 'lower'
16:53 pmichaud NotFound: I'm not sure why it's there.
16:55 Austin So we have no excuse to not use the lowercase form of the language name in the root namespace.
16:59 dalek winxed: r423 | julian.notfound++ | trunk/winxedst1.winxed:
16:59 dalek winxed: port to stage 1 the autoboxing on method call feature of stage 0
16:59 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=423
17:00 Austin pmichaud: The proto elements generate horrible sub names (!PREFIX__WS:sym<foo>). So they can't be inline code?
17:01 pmichaud ?
17:01 pmichaud "inline code"?
17:01 Austin (A la "method WS:sym<foo>() {...}" )
17:01 Austin Procedural code?
17:01 Austin What's the description I'm looking for?
17:01 pmichaud you're saying that normal methods can't participate in a protoregex group ?
17:02 Austin I'm asking how
17:02 Austin Because the obvious way doesn't seem to work.
17:02 pmichaud at present, there's not a way for a normal method to participate in a protoregex group.
17:02 pmichaud but a protoregex is a method :-)
17:02 Austin Yeah, I saw that.
17:03 Austin So it's 7   token WS:sym<foo> { <?foo()> }     sub foo() {...}     for now?
17:03 pmichaud yes, or you can just use inner curlies
17:03 pmichaud token WS:sym<foo> { { ... nqp code goes here ... } }
17:04 Austin Cool.
17:09 iblechbot joined #parrot
17:10 theory joined #parrot
17:14 jan joined #parrot
17:44 tetragon joined #parrot
17:52 dalek parrot: r44278 | fperrad++ | trunk/runtime/parrot/library/distutils.pir:
17:52 dalek parrot: [distutils] add an option setup (for setup.nqp)
17:52 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44278/
17:53 fperrad msg Austin with r44278, add :setup('setup.nqp') in %kakapo
17:53 purl Message for austin stored.
17:54 Austin joined #parrot
17:54 ttbot Parrot trunk/ r44278 MSWin32-x86-multi-thread make error http://tt.ro.vutbr.cz/file/cmdout/207112.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
19:20 Whiteknight SDL?
19:20 purl SDL is, like, Simple Directmedia Layer aka DirectX for Unix except with 59% less evil.  There's Perl bindings.  Frozen Bubble is written using it. or or allows that nifty doom game to run on ayrnieu's *Zaurus*
19:20 kthakore Whiteknight: yay SDL
19:21 Whiteknight kthakore: I'm writing a short blogpost about your project, have any information to share?
19:21 Whiteknight what your status is, etc?
19:22 kthakore Whiteknight: status is experimental and brand new
19:22 purl Since Tue Feb 16 10:19:41 2010, there have been 1346 modifications and 776 questions.  I have been awake for 5 days, 9 hours, 2 minutes, 0 seconds this session, and currently reference 826619 factoids. Addressing is in optional mode.
19:22 kthakore Whiteknight: I do have a road map
19:22 kthakore Whiteknight: get all examples working with current NCI
19:22 Whiteknight ok
19:23 kthakore Whiteknight: add tests, because testing is good
19:23 kthakore Whiteknight: then once NCI callback stuff changes
19:23 kthakore Whiteknight: we are going to move over to modular SDL bindings
19:23 kthakore Whiteknight: one layer is pure bindings and 2nd layer is sugar
19:24 kthakore Whiteknight: simpler to SDL_perl redesign on http://github.com/kthakore/SDL_perl
19:24 Whiteknight okay, nice
19:25 kthakore Whiteknight: I am split between parrotSDL and SDL_perl but I am commited to it
19:25 Whiteknight very awesome
19:25 kthakore Whiteknight: if there are pir hackers who want to help I can provide SDL insight
19:26 kthakore that is pretty much it
19:26 kthakore Whiteknight: is that enough?
19:26 kthakore Whiteknight: oh also it is plumageable
19:27 kthakore http://github.com/kthakore/parrotSDL
19:31 kthakore Whiteknight: also can you post that we are located over on #sdl irc.perl.org
19:32 Whiteknight kthakore, that's plenty, thanks!
19:32 kthakore Whiteknight: no thank you! I no this will be a looooong project but the marketing will get helpers and then I can enjoy perl6 SDL ;)
19:33 kthakore s/no/know for the 22nd one
19:33 kthakore oops
19:33 kthakore 2nd
19:35 wknight8111 joined #parrot
19:36 Whiteknight Okay, blog post comes out tomorrow morning
19:40 kthakore Whiteknight: thanks!
19:47 ttbot Parrot trunk/ r44279 MSWin32-x86-multi-thread make error http://tt.ro.vutbr.cz/file/cmdout/207215.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
19:47 dalek parrot: r44279 | whiteknight++ | trunk/src/pmc/namespace.pmc:
19:47 dalek parrot: add note about TT #1472
19:47 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44279/
19:47 dalek parrot: r44280 | whiteknight++ | trunk/src/pmc/pmcproxy.pmc:
19:47 dalek parrot: [cage] add some whitespace in PMCProxy to be more like other PMC sources
19:47 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44280/
19:51 ttbot Parrot trunk/ r44280 MSWin32-x86-multi-thread make error http://tt.ro.vutbr.cz/file/cmdout/207233.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
19:51 kthakore Whiteknight: oh I forgot to ask where is your blog?
19:52 Whiteknight wknight8111.blogspot.com
19:54 kthakore Whiteknight: I am on yapgh.blogspot.com
19:54 Whiteknight okay, nice
19:55 Whiteknight if you write about Parrot stuff, you could be on the Planet Parrot aggregate
19:55 Whiteknight aggregator
19:55 purl aggregator is some function to perform on a bunch of elements
19:55 dalek TT #1472 created by whiteknight++: Namespace.get_pointer_keyed is TOTAL KLUDGE
20:18 theory joined #parrot
20:19 bacek joined #parrot
20:25 dhg joined #parrot
20:26 ttbot joined #parrot
20:28 snarkyboojum joined #parrot
20:30 ttbot Parrot trunk/ r44281 MSWin32-x86-multi-thread make error http://tt.ro.vutbr.cz/file/cmdout/207312.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
20:31 contingencyplan joined #parrot
20:36 dalek parrot: r44281 | whiteknight++ | trunk/src/pmc/oplib.pmc:
20:36 dalek parrot: add caching to OpLib PMC. One Opcode PMC for each opcode. Since these are read-only, no reason to have more than one for the same op
20:36 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44281/
20:38 bacek Whiteknight, there is "singleton" pragma exists. You don't have to do it manually for OpLib
20:39 Whiteknight bacek: what do you mean?
20:39 bacek pmclass OpLib singleton { ... }
20:39 Austin pmclass attribute keyword
20:39 Whiteknight bacek: what do you mean do it manually?
20:40 bacek class_init?
20:41 Whiteknight bacek: that's what all the singletons do
20:41 bacek ah, ok...
20:41 Whiteknight Parrot doesn't manage it automatically
20:41 bacek why???
20:41 Whiteknight it should, but doesn't
20:41 Whiteknight because pmc2c is stupid
20:42 bacek sigh...
20:42 Whiteknight there was a ticket about it somewhere. I think darbelo was griping about it
20:42 bacek Someone have to rewrite it in NQP. O, wait...
20:43 Whiteknight it's not just pmc2c, Parrot doesn't have any support for singletons
20:44 bacek pmc2c first, Parrot_pmc_new second
20:44 bacek flawless victory
20:44 purl FINISH HIM
20:44 bacek botsnack!
20:44 purl :)
20:46 Austin The problem with having three monitors, is 3x the sun glare...
20:57 nopaste "bacek" at 122.110.82.47 pasted ""Proper" singletons support in Parrot_pmc_new" (57 lines) at http://nopaste.snit.ch/19728
20:57 bacek Whiteknight, something like this http://nopaste.snit.ch/19728 ?
20:59 snarkyboojum joined #parrot
21:01 Austin Is it considered a bug that when I ask for bytecode to be loaded twice, it gets loaded twice?
21:04 rblackwe joined #parrot
21:04 Austin Here's a more relevant question: What's the difference between throw and rethrow?
21:10 ttbot joined #parrot
21:25 dalek parrot: r44282 | bacek++ | trunk (2 files):
21:25 dalek parrot: Made OpLib singleton
21:25 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44282/
21:26 ttbot Parrot trunk/ r44282 MSWin32-x86-multi-thread make error http://tt.ro.vutbr.cz/file/cmdout/207371.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
21:31 joeri left #parrot
21:36 payload joined #parrot
21:50 Whiteknight Austin: one has 5 letters, one has 7
21:51 Austin Correct!
21:51 Austin Whiteknight++
21:51 Austin Also, rethrow marks the exception unhandled.
21:51 Austin I was going to embark on a rant about this, but then I read the PDD, and i realized the entire exception subsystem is a farce.
21:52 Austin That which is documented is inadequate and poorly thought out. And that which is implemented doesn't do even remotely what is documented.
21:55 Whiteknight Austin: you're preaching to the quoir
21:58 dalek parrot: r44283 | bacek++ | branches/sys_mem_reduce/src/gc/api.c:
21:58 dalek parrot: Add assertions to check that GC susbsystem has complete API
21:58 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44283/
22:00 * Austin sings, "But on eliminating every other reason for our sad demise, they logged the only explanation left: this species has amused itself to death!"
22:02 Austin What's does spew() do?
22:03 Austin Ahh, truncates the file
22:18 Whiteknight I don't think I've ever heard anybody express satisfaction with the Exceptions system
22:20 Whiteknight I know a lot of work has been done, I think Tene was taking charge of it
22:20 Whiteknight but there is a long way to go to even get where the spec requires
22:20 Austin yeah
22:31 cognominal joined #parrot
22:33 Whiteknight What problems do you have with the PDD?
22:39 snarkyboojum_ joined #parrot
22:50 Austin whiteknight: The pdd makes the assumption that exception filtering will be done based on 'type', but provides no mechanism for extending the 'types'. The logical (and widely popular) alternative is to filter based on subclass. The pdd's answer to that is that you can throw anything, if you just stuff it in the payload. So naturally, the parameters to the exception handler objects are the...
22:50 Austin ...exception and it's *message*.
22:51 Austin The throw/rethrow ops differ in that rethrow marks the exception unhandled. IMO, rethrow should be transparent - particularly, the exception backtrace should still point at the original location where the exception occured. The pdd makes nothing of this, and naturally parrot gets it wrong.
22:52 davidfetter hello
22:52 Austin There are too many categories of severity, too many attributes (backtrace versus resume versus thrower; severity versus exit code versus type versus class).
22:53 Austin Hello, david
22:53 davidfetter so i'm trying to hack a makefile for PL/Parrot
22:53 Austin and you realized that there are 825 flavors of make...
22:53 davidfetter it needs to do stuff based on pg server version, which i have a script for
22:54 davidfetter i'm thinking it's good for all the makes pg is good for, so this needs to be pretty cross-platform
22:54 Austin By which I assume you mean "installed pg library" version, and not "version of software on some remote box"
22:54 davidfetter from R'ing TFM, i see there's ifeq directives
22:54 Austin Heh
22:55 davidfetter however, i need something more like iflt
22:55 davidfetter or ifge
22:55 Austin What is it you want to do?
22:55 Austin Because I'm not sure how narrowly-focused the #IF directives that parrot config supports, are.
22:56 davidfetter basically something like iflt ($PG_VERSION, 90000) REGRESS_OPTS = --dbname=$(PL_TESTDB) --load-language=plpgsql else REGRESS_OPTS = --dbname=$(PL_TESTDB) endif
22:56 davidfetter however, there's no iflt
22:56 Austin Right.
22:56 Austin I think this is a config thing, not a makefile thing.
22:57 Austin (Which means it gets written in a procedural language - woot)
22:57 davidfetter REGRESS_OPTS is a PGXS thing
22:57 Austin Sure.
22:57 Austin But this setting is about what's loaded on the computer, right?
22:58 Austin "Which version of gcc are you running?"
22:58 Austin "Which version of PGXS are you running?"
22:58 Austin See what I mean?
22:58 davidfetter hrm
22:59 Austin You need configuration foo, which I think is someone like kid51 or Coke.
22:59 Austin Is the PG_VERSION always stored in an environment variable?
23:00 davidfetter i've stored it there, yes
23:00 davidfetter PG_VERSION = $(shell psql -Atc 'show server_version_num')
23:00 Austin Ahh.
23:00 Austin Is PG only *nix ?
23:00 davidfetter no :(
23:01 Austin Does the same command work on windows?
23:01 Austin psql -Atc 'show server_version_num' ?
23:10 Whiteknight Austin: Mind if I quote you (extensively) on a blog post?
23:12 Austin I don't mind at all, Whiteknight. It's a logged, public forum.
23:12 Austin But there needs to be revenue sharing... :)
23:13 Whiteknight Austin: Sure, I'll give you 80% of all the money I make
23:15 AndyA_ joined #parrot
23:15 Whiteknight according to google, my all-time ad earnings are...
23:16 Whiteknight ...0.04$
23:16 Whiteknight I'll write you a check.
23:16 AndyA_ joined #parrot
23:17 lucian joined #parrot
23:24 lucian_ joined #parrot
23:27 lucian__ joined #parrot
23:30 preflex joined #parrot
23:33 dalek plparrot: cda3a3a | (David Fetter)++ | Makefile:
23:33 dalek plparrot: Atrocious hack to make "make installcheck" succeed for both pre-9.0
23:33 dalek plparrot: PostgreSQL versions and modern ones.
23:33 dalek plparrot: review: http://github.com/leto/plparrot/commit/c​da3a3a525d11938e19bef0aff41d21176c80396
23:47 snarkyboojum joined #parrot
23:51 Austin msg pmichaud I think PCT/HLLCompiler.pir contains a bug at line 737: unless encoding == 'utf8' ... - it seems to me this only sets the ifh.encoding if the desired encoding is utf8, when I suspect you meant either if== or unless !=
23:51 purl Message for pmichaud stored.
23:53 dalek parrot: r44284 | fperrad++ | trunk (3 files):
23:53 dalek parrot: [build] fix the build of runtime/parrot/library/data_json.pbc on Windows
23:53 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44284/
23:57 ttbot Parrot trunk/ r44284 MSWin32-x86-multi-thread make error http://tt.ro.vutbr.cz/file/cmdout/207460.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )

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

Parrot | source cross referenced