Camelia, the Perl 6 bug

IRC log for #parrot, 2008-12-04

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:04 dalek r33469 | jonathan++ | trunk:
00:04 dalek : [rakudo] Track changes in namespace/class symbol handling in Parrot in code to convert multis to Perl6MultiSub.
00:04 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33469
00:04 particle1 jonathan: does that fix spectest failures?
00:05 jonathan particle1: Either alone or along with the patch that followed it, yes.
00:05 particle1 excellent. jonathan++
00:05 dalek r33470 | jonathan++ | trunk:
00:05 dalek : [rakudo] Implement some missing methods and add some documentation to the Perl6MultiSub PMC.
00:05 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33470
00:06 jonathan Hmm, the cache got disabled. Wonder if that was an attempt to fix things up.
00:06 * jonathan re-enables it and re-smokes.
00:08 chromatic Nothing I did.
00:08 chromatic On purpose.
00:09 AndyA joined #parrot
00:09 jonathan chromatic: Curious.
00:09 * purl gives the small curious key to Bilbo. Thorin sits down and starts singing about gold.
00:09 jonathan chromatic: Anyway, fixed the problem now.
00:19 dalek r33471 | jonathan++ | trunk:
00:19 dalek : [rakudo] Re-enable multi dispatch caching, tests continue passing.
00:19 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33471
00:19 tak joined #parrot
00:25 davidfetter joined #parrot
00:25 Tene pmichaud: why is that code commented out?
00:26 Tene in p6object.t?
00:31 contingencyplan joined #parrot
00:43 dalek r33472 | tene++ | trunk:
00:43 dalek : [t/library/p6object.t]
00:43 dalek : * Remove dead code
00:43 dalek : * Add a test for adding the protoobject to an EXPORT::ALL subnamespace
00:43 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33472
00:43 Tene purl: karma tene?
00:43 purl tene: i haven't a clue
00:43 Tene karma tene?
00:43 purl tene has karma of 314
00:44 Tene 157*2
00:44 purl 314
00:47 bacek joined #parrot
00:49 Tene I like adding passing tests
00:57 dalek r33473 | jonathan++ | trunk:
00:57 dalek : [rakudo] .perl for proto-objects.
00:57 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33473
00:57 dalek r33474 | jonathan++ | trunk:
00:57 dalek : [rakudo] First cut of .perl for Signature.
00:57 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33474
00:57 dalek r33475 | jonathan++ | trunk:
00:57 dalek : [rakudo] When we have an ambiguous dispatch, report the signatures of the candidates that were ambiguous.
00:57 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33475
01:04 davidfetter joined #parrot
01:23 petdance joined #parrot
01:29 GeJ /win 4
01:29 GeJ sorry
01:29 Coke all this time I was blaming ical/iphone/google for the parrotsketch event being in the wrong time half the year. turns out it's particle's fault.
01:34 Infinoid as it shoulddddddddddddd be.
01:34 Infinoid hmm, keyboard fail
01:36 Coke parrotsketch?
01:36 purl hmmm... parrotsketch is a status meeting for parrot core committers held every Tuesday at 18:30 UTC in #parrotsketch
01:38 jimmy joined #parrot
01:38 Coke p6?
01:38 purl p6 is prototype OO or the future, and it still supports MI via C3, so 6<->5 compat is enhanced by having c3 available in 5
01:38 Coke perl6?
01:38 purl i think perl6 is see Perl 6
01:38 Coke phone?
01:38 purl phone is probably always interrupting
01:38 Coke chromatic?
01:40 Coke msg particle I changed comp.lang.parrot calendar on google to be GMT instead of pacific time.
01:40 purl Message for particle stored.
01:40 Coke msg particle so now the meeting actually shows up at the right time when viewed through the lens of DST.
01:40 purl Message for particle stored.
01:40 Coke pmichaud?
01:40 purl i think pmichaud is http://www.pmichaud.com/ or "Patrick R. Michaud" <mailto:pmichaud@pobox.com> or in charge of toaster experiments
01:40 jonathan Coke: Erm, shouldn't it have been UCT?
01:55 Infinoid utc ftw
01:57 Coke jonathan: I'm not sure that's a choice.
01:57 * Coke picked GMT/no DST
01:59 Infinoid that should work
02:02 jonathan Aye.
02:06 jimmy coke: i improved indent_pir.vim
02:06 Coke Saw that got applied.
02:06 Coke right?
02:07 jimmy yes, what does your script do? that perl script
02:07 Coke it was deleted.
02:07 jimmy poor engliash :(
02:07 jimmy it's difficult to indent every pir codes under runtime with using vim.
02:14 * jonathan -> sleeeeeeeeeep
02:27 kid51 joined #parrot
02:27 Coke jimmy: it used to work by trying to parse an existing PIR file and reformatting it; it only handled a fraction of what a real pirtidy would do.
02:28 Coke you can dig back through svn in the tools/ directory if you want to see it.
02:28 Coke kid51: hio.
02:28 tak joined #parrot
02:28 * Coke wanders back to his other computer
02:29 kid51 Coke: yo
02:32 dalek r33476 | tewk++ | trunk:
02:32 dalek : [vim] added :nsentry
02:32 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33476
02:33 tak joined #parrot
02:37 Coke lazyirc, can you convert 3pm eastern today to gmt?
02:37 Coke time?
02:37 purl time is 02:37:11 2008 and (did you mean "clock"?) or flowing like a river
02:37 Coke clock?
02:37 purl Coke: LAX: Wed 6:37pm PST / CHI: Wed 8:37pm CST / NYC: Wed 9:37pm EST / LON: Thu 2:37am GMT / BER: Thu 3:37am CET / IND: Thu 8:07am IST / TOK: Thu 11:37am JST / SYD: Thu 1:37pm EST /
02:40 particle1 joined #parrot
02:41 Coke particle: check your messages.
02:41 Coke Also, just added a sixperl call to the comp.lang.parrot calendar.
02:51 Coke someone bored could put the upcoming release dates into the comp.lang.parrot calendar.
02:54 * Infinoid is boredly converting JIT buffer allocations to mmap, first.
03:02 Alias joined #parrot
03:06 chromatic mmap, yay.
03:11 Infinoid chromatic: this should solve the JIT issue on feather3.  Turns out POSIX says don't call mprotect() on heap-allocated stuff
03:12 Infinoid (according to mprotect(2), the result is undefined)
03:14 tewk chromatic: do we suspend GC while running imcc?
03:15 dalek r33477 | jkeenan++ | trunk:
03:15 dalek : Number of tests in plan was short by one.
03:15 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33477
03:15 kid51 t/pmc/exception.t:  Test #30, which was TODOed, just passed for me on Linux in a smolder test:  ok 30 - catch ex from C-level MULTI function # TODO broken
03:15 kid51 http://smolder.plusthree.com/app/p​ublic_projects/tap_stream/8428/223
03:17 chromatic tewk, I believe not.
03:24 MariachiElf joined #parrot
03:31 ChrisDavaz joined #parrot
03:35 Tene Hmm.  I'm in Seattle this week.  Maybe I should try to show up at Particle's house in person to ask him for an update on the PDS reimbursements.
03:52 davidfetter joined #parrot
04:13 wycats joined #parrot
04:19 Infinoid ok, I've got mmap-based JIT working on linux/x86.  I've probably broken all of the other platforms.
04:20 tewk Infinoid, ifdef it to be the old code on non linux
04:21 Infinoid I also had to add a size_t argument to mem_free_executable(), because munmap wanted that.  but that works just fine just calling free(), too.
04:21 petdance joined #parrot
04:25 galf joined #parrot
04:28 Infinoid tewk: do http://nopaste.snit.ch/14800 and http://nopaste.snit.ch/14801 look safe to you?
04:29 Infinoid I've checked that t/pmc/nci.t works on a 32 bit linux box, doing a real make test now
04:35 Infinoid urk.  would probably be more meaningful if I #ifdeffed on something that was defined on linux.
04:36 * Infinoid uses __linux__ instead
04:42 Infinoid oh, duh.  this platform doesn't have PARROT_HAS_EXEC_PROTECT defined; it's totally useless for testing this.
04:42 * Infinoid moves to feather
04:44 Infinoid though I don't see any reason why mmap-capable architectures shouldn't always use it
04:46 tewk I was going to suggest #if !defined(WIN32)
04:47 Infinoid is JIT only functional on win32 and linux x86?
04:47 Infinoid I think this mmap stuff should cover all of the POSIX platforms reasonably
04:47 tewk jitted nci yes
04:47 davidfetter joined #parrot
04:48 Infinoid well, any other kind of jit code probably wouldn't work on feather3 either.
05:27 ChrisDavaz joined #parrot
05:46 tewk pmichaud:
05:46 tewk make spectest says FAIL but doesn't say which tests failed
06:00 Theory joined #parrot
06:00 tetragon joined #parrot
06:03 tewk looks like t/spec/S12-class/declaration-order.t test 2 is failing.
06:03 Infinoid goodie.  on an x86 machine with NX bit support, miniparrot crashes when ManagedStruct.destroy() tries to free() one of my mmapped allocations.
06:04 tewk Infinoid: we use ManagedStuct to manage the lifetime of the jit code
06:05 Infinoid well, it would help if ManagedStruct.destroy knew which free function to call
06:05 tewk We might need a specialized ManagedStuct that can hold mmaped memory.
06:05 chromatic In theory, the Pointer PMC can handle this.
06:06 Infinoid on an x86 machine without NX bit support, platform_interface.h just defines these things to mem_sys_allocate/mem_sys_free, so I can't test it there.  but I'm considering breaking that for testing purposes... testing on feather takes a while.
06:06 tewk I really think we want a executable arena, otherwise we could have thousands of tiny mmaped regions.
06:07 Infinoid is mmap really the only way to do this?  it's unfortunate that mprotect() requires it
06:07 Infinoid but I'd prefer not to complicate an (already too complicated) allocation scheme for this.
06:09 Infinoid is there some flag bit we can set to make ManagedStruct call the right free()?
06:10 Infinoid that's an easy hack, if it won't come back and bite us down the road.
06:10 chromatic I'm not a big fan, but once we have vtable swap it's not too bad.
06:10 Infinoid subclassing ManagedStruct may be a cleaner way.
06:11 chromatic For a proof of concept, the flag should work.
06:12 Infinoid ok.  that would at least let me find out how much *other* stuff is broken.
06:13 particle1 left #parrot
06:26 Infinoid ok.  I've spent more than a couple hours on this... time to open a ticket
06:37 Infinoid goodnight all
06:38 samlh night
06:40 particle2 joined #parrot
07:13 particle joined #parrot
07:18 uniejo joined #parrot
08:14 jimmy coke : i am away for a long time.
08:35 tomyan left #parrot
08:38 iblechbot joined #parrot
08:39 chromatic http://use.perl.org/comments​.pl?sid=41743&amp;cid=66182
08:39 chromatic Artist volunteering to help.
08:40 moritz YaY
08:49 cotto How kind of him to volunteer.
08:50 chromatic Now we just need to figure out how to use him!
08:51 * moritz votes for re-designing www.perl.org
08:51 moritz or maybe a logo for rakudo?
08:58 bacek joined #parrot
09:05 jimmy or nicer parrot logo?
09:07 elmex joined #parrot
09:09 chromatic Rakudo could use a nice logo.
09:19 tomyan joined #parrot
09:58 alvar joined #parrot
10:16 moritz purl: p6c?
10:16 purl wish i knew, moritz
10:16 moritz purl: p6l?
10:16 purl i think p6l is often funny.
10:16 moritz oh well, it is :-)
10:17 moritz p6u?
10:17 moritz p6l is also the perl6-language mailing list
10:17 purl okay, moritz.
10:36 davidfetter joined #parrot
11:10 gaz joined #parrot
11:23 Alias joined #parrot
11:23 kj joined #parrot
11:30 Hadi joined #parrot
11:31 Hadi left #parrot
11:44 ChrisDavaz joined #parrot
11:46 bacek rakudo: say "hi"
11:46 polyglotbot No output (you need to produce output to STDOUT)
11:46 bacek still failing...
11:46 purl failing is good!
11:46 bacek purl: bad girl
11:46 purl bacek: huh?
11:47 jimmy where is the source code of purl
11:48 nopaste "bacek" at 123.243.38.218 pasted "Pmichaud, why second version differ?" (4 lines) at http://nopaste.snit.ch/14802
11:50 jimmy + means one or more ?
11:51 bacek jimmy: yes
11:52 jimmy <Token> <Token> means two token, not more , i think
11:53 bacek jimmy: indeed. And I pass two tokens.
11:53 bacek WWW is 'ws'
11:56 jimmy too profound, i can not understand :(
12:00 jimmy seems ws is not used
12:02 bacek jimmy: it's used.
12:02 bacek jimmy: look at S05. 'rule' actually uses 'ws'
12:03 jimmy ok, let me take a look.
12:07 jimmy i hate the cli between windows and  *nix like system
12:08 jimmy the differece quotations
12:08 jimmy different
12:21 particle joined #parrot
12:26 particle1 joined #parrot
12:29 jimmy bacek: seems that ws does not work
12:29 pmichaud defining 'ws' as a 'rule' is very likely a problem
12:29 pmichaud it's a recursive definition, of sorts, since 'rule' uses 'ws'
12:29 pmichaud you probably mean 'token'.
12:29 particle joined #parrot
12:32 moritz anyway, overriding <.ws> from within a Rakudo grammar doesn't work
12:33 pmichaud oh, I bet I know why.
12:33 * pmichaud didn't do that code.
12:34 jimmy pmichauddidn't do that code. ( what command should i use for display as this way? )
12:34 pmichaud jimmy:  /me
12:34 moritz jimmy: /me
12:35 pmichaud as in:  /me didn't do that code.
12:36 * jimmy show test ?
12:36 jimmy thanks, moritz and pm
12:36 * pmichaud says, "You're welcome!"
12:37 pmichaud afk # making family's breakfast
13:12 rdice joined #parrot
13:15 apeiron joined #parrot
13:16 alvar joined #parrot
13:17 dalek r33478 | pmichaud++ | trunk:
13:17 dalek : [rakudo]: spectest-progress.csv update: 227 files, 4703 passing, 0 failing
13:17 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33478
13:19 pmichaud jonathan++ # we finally broke 4700
13:20 pmichaud I'm doing list assignment and (simple) slices today, so maybe we can get close to 4800
13:26 jonathan pmichaud: Erm, I didn't commit anything new to help that! :-_
13:26 jonathan But thanks for the karma anyway. ;-)
13:26 pmichaud jonathan: you fixed the multi so that the tests passed.
13:26 jonathan Ah.
13:26 jonathan OK, karma accepted.
13:26 purl accepted. has neutral karma
13:26 dalek r33479 | pmichaud++ | assign:
13:26 dalek : [rakudo]:  start with a fresh copy of trunk for assignment changes
13:26 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33479
13:26 gmansi joined #parrot
13:26 dalek r33480 | pmichaud++ | assign:
13:26 dalek : [rakudo]: fresh branch for doing assignment op changes
13:27 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33480
13:27 * jonathan -> lunch and slovak class, back later
13:28 lathos Doesn't that inherit from Czech?
13:37 particle2 joined #parrot
13:37 particle3 joined #parrot
13:52 cognominal joined #parrot
13:56 particle joined #parrot
14:02 ChrisDavaz joined #parrot
14:06 gmansi joined #parrot
14:10 gryphon joined #parrot
14:15 pmichaud jonathan: is there a way to get VTABLE_assign for ObjectRef to be the same as (or forward to) VTABLE_assign for Perl6Object ?
14:15 cognominal does dispatching a multimethod involves only positional arguments?
14:15 cognominal s/involves/involve/
14:15 pmichaud cognominal: in Perl 6, Rakudo, or Parrot?
14:16 cognominal Perl 6
14:16 pmichaud I think multimethod dispatch in Perl 6 is more than just positionals.
14:16 cognominal platonicain Perl 6 would say Timtoady
14:29 nopaste "tewk" at 155.97.237.62 pasted "t/spec/S12-class/declaration-order.t test failure" (44 lines) at http://nopaste.snit.ch/14804
14:29 tewk could this be related to subid?
14:30 pmichaud tewk: no
14:30 pmichaud that's been around for a while.
14:30 tewk Ok I thought jonathan fix it, but that was the other failure i guess.
14:35 dtg joined #parrot
14:35 dtg (noob parrot question inc)
14:36 dtg having done pbc_to_exe on my .pbc and got a .o
14:36 dtg gcc filename.o -L$PWD/blib/lib/ -lparrot
14:36 dtg gives
14:36 dtg undefined reference to `Parrot_set_config_hash'
14:36 jimmy joined #parrot
14:36 jhorwitz joined #parrot
14:37 dtg nm blib/lib/libparrot.so | grep set_config
14:37 dtg 001c6320 T Parrot_set_config_hash_internal
14:37 dtg 001c6350 t parrot_set_config_hash_interpreter
14:37 tewk dtg: I thought pbc_to_exe produces and executable as well as a .o
14:37 pmichaud dtg:  I think that pbc_to_exe depends on the build copy of Parrot being in place
14:38 pmichaud (that may not be your issue -- just checking to make sure that the Parrot build is still around.)
14:38 dtg I'm in the parrot source directory - I haven't done a make install
14:38 pmichaud a 'make clean', perhaps?
14:39 pmichaud i.e., did you do a 'make clean'?  That would cause pbc_to_exe to fail also.
14:39 dtg nope, no make clean
14:39 pmichaud hmmm
14:39 pmichaud what os?
14:39 dtg tewk's right though, pbc_to_exe did make me the executable too
14:39 lathos Does "make perl6" work? (Testing if pbc_to_exe works at all)
14:39 dtg Linux / 2.6.20
14:41 gmansi joined #parrot
14:42 dtg "make perl6" seems to work too
14:42 tewk dtg: does the executable work?  what are you trying to do?
14:42 dtg the exe works.  I'm just wondering where Parrot_set_config_hash is, now
14:42 pmichaud when pbc_to_exe creates the executable, it does a lot more flags than just -lparrot
14:42 pmichaud so you might need some additional flags there.
14:45 pmichaud see pbc_to_exe.pir:395
14:47 dtg handy. didn't spot that there
14:49 hercynium joined #parrot
14:53 dtg different question, should '.local bigint n' work?
14:53 pmichaud no.
14:53 dtg is there any alternative right now?
14:54 pmichaud after .local should be   int|num|string|pmc
14:56 dtg what's a pmc?  or more generally, is there anything that will hold a bignum for me?
14:56 pmichaud bignum or bigint?
14:57 dtg int, sorry
14:57 pmichaud .local pmc n
14:57 pmichaud n = new 'BigInt'
14:57 pmichaud see t/pmc/bigint.t for examples
14:57 dtg would all the normal operators work with that?
14:58 pmichaud I think so, yes -- keeping in mind that pmcs have reference semantics
14:58 dtg ok, ta
15:00 gmansi joined #parrot
15:10 gmansi joined #parrot
15:14 * jhorwitz is curious to see the python 3.0 adoption rate
15:21 apeiron joined #parrot
15:24 masak joined #parrot
15:35 tewk we should implement py3.0 with all our spare time.
15:35 dalek r33481 | tewk++ | trunk:
15:35 dalek : [nsentry] method and nsentry now support unicode strings, subid needs a little more work for unicode support
15:35 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33481
15:39 jimmy tewk++
15:40 jonathan cognominal,pmichaud: multimethod dispatch in Perl 6.0.0 is just on positionals, not on named. If you want named args, you need to write a proto to shuffle 'em into the correct positions.
15:40 jonathan pmichaud: You want to delegate to the subclass? :-S
15:40 pmichaud jonathan: I figured it out.
15:41 jonathan pmichaud: OK. :-)
15:41 pmichaud I want assign_pmc on an ObjectRef to work exactly the same as assign_pmc on Object
15:41 pmichaud (no delegation to subclass of Object)
15:41 pmichaud basically I inspect Perl6Object for a list of its vtable overrides, grab the assign_pmc vtable override, and then call it.
15:42 jimmy joined #parrot
15:42 jimmy sometimes i can not understand it. #define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
15:42 jimmy tewk
15:45 jonathan pmichaud: OK.
15:48 cognominal thx, jonathan.
15:53 pmichaud tewk:  there's no need for subid to support unicode.
15:53 pmichaud only nsentry and method need it for now.
16:01 pmichaud tewk:  new failing test in subflags.t, r33482  (test #25 marked todo)
16:01 dalek r33482 | pmichaud++ | trunk:
16:01 dalek : [nsentry]: Add a (todo'd) failing test to subflags.t .
16:01 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33482
16:09 particle2 tene's in seattle?!
16:10 particle that's better
16:10 masak the test summary report for Rakudo is empty, but the result is FAIL. what gives?
16:10 particle what version of T::H?
16:10 masak how to check?
16:11 particle perl -MTest::Harness -e'print $Test::Harness::VERSION'
16:12 masak 3.11
16:12 particle i've got 2.64, so that's no help
16:13 particle i should really upgrade, though...
16:13 particle ok, got 3.14 now
16:14 masak I ran `make spectest`
16:14 masak I do have the usual failed assertion at t/spec/S12-class/declaration-order
16:14 particle can you upgrade T::H and try again?
16:14 masak sure.
16:15 tewk parrot asserts and dies in t/spec/S12-class/declaration-order
16:15 tewk I see the same behavior
16:15 masak but that still doesn't cause any test failures for me.
16:15 tewk 3.14 here
16:15 particle i *really* like the time reporting with T::H
16:16 masak oh, that's new since 3.11
16:16 particle HARNESS_TIMER=1
16:16 particle also, of course HARNESS_OPTIONS=-j9
16:16 particle er, HARNESS_OPTIONS=j9
16:16 masak oh? where?
16:17 particle set the env vars
16:17 particle perldoc Test::Harness
16:17 masak thanks.
16:19 masak would TEST_JOBS=2 do something similar? that's what I have in my config right now.
16:19 particle that may be particular to the rakudo test harness, checking...
16:19 masak aye, so it seems.
16:19 moritz it also works with parrot's harness
16:19 Tene particle: yes.  I left you a message here on Sunday telling you.
16:20 masak hm, I meant the Parrot harness. that's where I use it.
16:21 masak again, empty summary report, and 'Result: FAIL'
16:25 particle tene: ah, flaky irc client, probably missed it
16:25 Tene could be
16:26 particle lucky thing i decided to read scrollback today, i still wouldn't know
16:26 Coke how are you running the tests, masak?
16:26 masak Coke: as most people run them, I guess. `make spectest`.
16:26 Coke If you're not seeing any output, I'd run one of the test files manually and see what happens.
16:27 masak Coke: I'm not not seeing _any_ output, it's just that the final test summary is empty.
16:27 Coke ^_-
16:27 masak which (at least to me) contradicts the result FAIL.
16:28 particle what's the errorcode?
16:28 Coke yah, ok, wierd.
16:28 masak particle: how do I find out?
16:28 particle what is it on linux... echo $ERROR?
16:28 * particle forgets atm
16:29 particle it's echo %ERRORLEVEL% on win32
16:29 Tene $!
16:29 masak I'm on bash 3.2.17(1)
16:29 Tene $?
16:29 purl rumour has it $ is last exit code. or a scalar or vi's end-of-line command or filled in by system(), ``, and wait/waitpid or , in Haskell, is function application of very low precedence (or fixity as they say)
16:29 Tene Yeah, $? is the return code
16:30 masak oki
16:30 masak I'll check as soon as they're done... again.
16:35 masak echo $?
16:35 masak 0
16:35 Tene success!
16:35 purl success is finding king size papers
16:36 masak aye.
16:36 masak the FAIL kind of success, apparently.
16:37 particle so make reports success, but the harness reports failure
16:37 particle now take make out of the equation by running the harness directly
16:37 * masak tries that
16:46 masak echo $?
16:46 masak 0
16:46 masak but the comman now was `perl t/harness --fudge --keep-exit-code --jobs --tests-from-file=t/spectest.data`
16:46 jonathan seen chromatic?
16:46 purl chromatic was last seen on #parrot 7 hours, 36 minutes and 49 seconds ago, saying: Rakudo could use a nice logo.
16:46 masak s/an/and/
16:47 * masak gets a sudden urge to design a nice logo
16:56 particle my first idea for rakudo logo: http://static.zooomr.com/im​ages/4425561_704903d087.jpg
16:56 particle ...a flaming onion volcano.
16:56 jhorwitz LOL
16:56 masak :)
16:57 masak people will connect emotionally to the Flaming Onion Volcano.
17:00 particle http://creativecommons.org/weblog/entry/11045
17:00 particle Title: Non-Commercial study questionnaire - Creative Commons
17:02 pmichaud afk, lunch
17:03 Alias Somehow I think the flaming onion isn't cute enough
17:03 masak a kitten, then? drawn japanese-style, with big eyes.
17:03 * Alias has another go at building parrot/perl6
17:03 Alias So let me double check what Larry said
17:03 Alias make; make perl6
17:03 Alias Then make install should install both?
17:04 masak Alias: make; cd languages/perl6; make perl6
17:04 masak Alias: that's what I do, at least
17:04 Alias hrm
17:04 Alias Can you make install from the perl6 directory?
17:04 lathos make perl6 works from top level. (chromatic++)
17:05 masak Alias: I would advise against doing make install at all.
17:05 Alias Why?
17:05 masak lathos: oh, cool.
17:05 Alias I'm doing it inside the Strawberry builder, it's a fairly sterile environment
17:06 masak Alias: hm, superstition, I guess. or maybe just because I build it a lot, often several times a day.
17:06 Alias I flush everything properly each time
17:06 particle alias: make all perl6 install
17:06 particle actually, make world perl6 install
17:06 Alias why world?
17:06 particle that gets you the debugger and other utils
17:07 Alias OK, but not all the other languages or anything?
17:07 particle pdb, pbc_merge, etc
17:07 particle no
17:13 Alias Tools modified to build world perl6 and install (separately)
17:13 Alias Building now
17:14 Alias I'm hoping to present Larry with the first working Perl 6 distribution while he's in Sydney
17:14 Alias Assuming I can get it working :)
17:14 particle that would be a lovely gift
17:14 Alias But shhh
17:14 Alias It's a Sekrit
17:14 Alias Or sorts
17:15 particle sure, just between you and me ;)
17:15 masak yes, I didn't even hear what you guys just said.
17:16 Alias Oh crap :)
17:27 Lorn joined #parrot
17:36 Andy joined #parrot
17:37 jan joined #parrot
17:42 alvar joined #parrot
17:51 moritz pmichaud, jonathan, particle (and all others who haven an opion): we have a volunteer for creating a Rakudo logo. Now the question arises: where should we discuss this? p6u?
17:52 Tene particle: I leave tomorrow afternoon.  Are you wanting to get together tonight?
17:56 M8YCjC56g joined #parrot
17:59 diakopter joined #parrot
18:03 chromatic joined #parrot
18:04 diakopter joined #parrot
18:05 Coke Alias: aha!
18:05 Alias Damn
18:05 Alias ORRRR, I'm just saying that too distract you all
18:05 particle joined #parrot
18:05 Alias to
18:06 Coke now I'm distracted by your crazy australian accent.
18:06 * Coke actually built in support to allow an en_AU translation of his app recently.
18:06 Coke sadly, 'mate' doesn't appear in the corpus.
18:06 Alias Padre will come with English ( New Britstralian ) as the default font
18:06 Alias American will be an optional plugin
18:07 szabgab I thought we agreed on Hunglish as the default ?
18:07 Alias Well, it's certainly the initial IMPLEMENTATION
18:07 Alias :)
18:07 szabgab :)
18:07 Coke I assume he's just giving us americans a hard time.
18:08 Alias Not at all
18:08 Alias We're just using the dominant form of English as the default
18:08 Coke :P
18:08 Coke y'all're crazy.
18:09 Alias It's also good for laughs in presentations :)
18:09 Alias Current default language right this second is English (London.pm)
18:09 Coke anyway, go make yer sekrit work. =-)
18:09 Alias It's compiling, I can only but wait
18:10 Coke http://xkcd.com/303/
18:10 Alias Indeed
18:11 gmansi joined #parrot
18:12 Coke ubuntu?
18:12 purl GROUP HUG, EVERYBODY!!!!
18:12 Alias hmm?
18:12 Alias me?
18:12 purl alias is a crackhead with dreams of world domination, and unfortunately they seem to be working or daddy or obsessed with SMS or Alvin or Zune lover or not a half-ton animal or the dude who broke BinGOs's hot-rod. or using UE and I need to get him over to start using Padre,so I  need to implement his favorite features :-) or a Cewebrity
18:13 particle tene: i'm not sure i can, but what time are you free?
18:14 Tene particle: 6:00, probably.
18:17 Alias make world ok
18:19 particle1 joined #parrot
18:19 was kicked by particle1: particle
18:20 barney joined #parrot
18:21 apeiron joined #parrot
18:22 particle joined #parrot
18:25 tewk what are some common uses for begin and end in perl5, someone asked me.
18:27 Alias I like to use BEGIN to pre-generated static data structures at compile time, to free up the code early and so that the debugger doesn't get stuck in it when loading the module
18:28 tewk also what is the perl5 technique to change syntax, often reguarded as hackish?
18:28 Alias END can be used to deal with custom destruction in caches and singletons and such
18:28 moritz tewk: are you referring to source filters?
18:28 tewk yes. thanks
18:28 moritz tewk: they are enabled at compile time, obviously
18:28 Alias Yep, that
18:28 purl somebody said Yep, that was leolo under there
18:28 diakopter joined #parrot
18:29 * chromatic embeds Ruby in his Perl 5 programs, because you can write DSLs in Ruby but not Perl 5.
18:29 tewk lol
18:30 chromatic I suppose I should put in a tighter shirt, tear the knee of my jeans, and make my hair pointy in the middle to say that.
18:30 Alias hmm
18:30 davidfetter chromatic, you'd have to act like a know-it-all, to
18:30 davidfetter too*
18:31 Alias Installing Parrot may interfere with developing Parrot on the same machine.
18:31 Alias I assume I can ignore that and just to reallinstall?
18:31 Alias (Because I'm not developing Parrot)
18:31 pmichaud "developing Parrot" can also mean "subsequent compiles"
18:31 Alias Why would installing to a temp directory I'm going to destroy cause a problem?
18:32 pmichaud it probably wouldn't
18:32 Alias oh, ok then
18:32 pmichaud in the general case, "make install" goes to system directories, and then later attempts to build parrot end up grabbing the wrong libraries and headers.
18:32 Alias It goes to system directories? erk
18:33 dtg pmichaud: fwiw, everything Just Worked when I used BigInts everywhere I previously had ints, ta
18:33 Alias So how do I install into a directory I want
18:33 pmichaud Alias: I don't know if that's supported yet.
18:33 Alias How does it know where to install?
18:33 dtg perl Configure.pl --prefix=/some/path/
18:33 pmichaud I think it gets that from information determined during the Configure step.
18:34 pmichaud I'm not at all expert with how 'make install' does or doesn't do its thing, I only know the problems that arise from using it.
18:34 pmichaud (in the typical case.)
18:34 Alias dtg: OK, will try that
18:34 chromatic "act like"?
18:36 particle Alias: can i assume you've run make test? i didn't specify that earlier
18:36 Alias make test fails for a known reason
18:36 Alias So I'm skipping it for now
18:36 particle ah, ok
18:36 Alias At least in 0.8.1
18:36 Alias I'll run make test again for the next release
18:42 MariachiElf joined #parrot
18:44 particle http://g.ho.st/ looks promising
18:45 bacek good morning
18:46 nopaste "bacek" at 123.243.38.218 pasted "Pmichaud, why second version differ even with 'token ws'?" (5 lines) at http://nopaste.snit.ch/14808
18:47 pmichaud bacek: <ws> isn't working in Rakudo grammars at the moment.
18:47 pmichaud We don't yet have the proper syntax for invoking a rule in a grammar.
18:47 pmichaud (it's not specced)
18:47 bacek pmichaud: ouch...
18:49 * chromatic knows Alias's Sekrit.
18:49 chromatic He's a time-traveling alien, sent from the future to steal our water.  Or our attractive members of the appropriate gender.  Or maybe their water.  I can't remember which.
18:51 bacek Although the default <.ws> subrule recognizes no comment construct, any grammar is free to override the rule. The <.ws> rule is not intended to mean the same thing everywhere.
18:51 bacek pmichaud: this is from S05.
18:51 pmichaud bacek: you didn't read what I wrote.
18:51 pmichaud 18:47 <pmichaud> We don't yet have the proper syntax for invoking a rule in a grammar.
18:51 ambs joined #parrot
18:51 ambs left #parrot
18:51 * bacek needs morning coffee...
18:52 pmichaud 'foo WWW bar' ~~ Foo::Tokens   # not correct
18:52 pmichaud PGE handles custom <.ws> rules just fine -- that's how the parsers all work (and why we're able to parse Perl 6 comments in source code).
18:53 pmichaud Rakudo doesn't yet handle custom <.ws> rules, because it's not able to invoke the grammar properly.
18:53 pmichaud ...and the spec doesn't yet indicate what that syntax is.
18:53 * Coke stares at subversion, and wonders if the git people aren't right.
18:54 Alias Coke: They're more right for big projects than small
18:54 PerlJam Coke: they are!
18:54 Alias Especially big public projects
18:54 Alias Say, 1m lines or more
18:54 Coke I'm getting a merge conflict with our work's svn project. there's nothing to conflict. it's insane.
18:54 Alias Ah
18:54 Alias I see the problem
18:55 Alias You need a better merge tool
18:55 PerlJam Alias: are you a time traveling alien?
18:55 Alias That solved many of my problems
18:55 Coke I'm using the out of the box tsvn one.
18:55 Alias PerlJam: I can neither confirm nor deny I an a time travelling Alien
18:55 bacek pmichaud: ermm... I don't quite understand "because it's not able to invoke the grammar properly". Why?
18:55 pmichaud bacek: what's the syntax?
18:55 purl the syntax is probably a nightmare
18:56 pmichaud what's the correct syntax for invoking a rule from a grammar?
18:57 bacek pmichaud: you mean 'invoke single rule' from external world?
18:57 jonathan pmichaud: To clarify - you mean invoking it from within Perl, not just another rule within the grammar, right?
18:57 bacek bacek@icering:~/src/pugs$ perl6 -e 'grammar Foo { rule Token { \w+ }; rule TOP { <Token>+ }; }; say "foo bar" ~~ Foo;'
18:57 bacek foo bar
18:57 bacek bacek@icering:~/src/pugs$ perl6 -e 'grammar Foo { rule Token { \w+ }; token ws { \s+ }; rule TOP { <Token>+ }; }; say "foo bar" ~~ Foo;'
18:57 pmichaud jonathan: yes
18:57 bacek second statement produces empty result
18:57 pmichaud bacek: what rakudo implements now is incorrect.
18:57 Alias Josh McAdams is the Perl Foundation PR person?
18:58 Alias Really?
18:58 purl Really is it bad?
18:58 pmichaud bacek: the synopses don't indicate how to invoke a rule from within a grammar.
18:58 Coke Alias: sfaik.
18:58 PerlJam pm: you mean unspecced, don't you?  It may be correct as soon as Larry specs that as the way to do it  :)
18:58 PerlJam (unless you can think of a reason why that won't work in the general case)
18:58 pmichaud pj:  Larry has explicitly said that   ~~  Foo::rule      and ~~ Foo   will *not* be the way to do it.
18:59 PerlJam oh.
18:59 * bacek stares at 'MAINTAINER' in S05.
18:59 Alias Man the Perl Foundation website has some big holes
18:59 pmichaud the reason why is that  $x ~~ Foo   means   "$x does Foo"
18:59 Alias Archived News is missing the year 2007
18:59 Alias and the link to current year goes to nowhere
18:59 Alias and the last press release was in 2004
18:59 pmichaud and   Foo::rule is a listop, thus   $x ~~ Foo::rule  would mean "invoke Foo:rule with no arguments" and smart match $x against the result
19:00 pmichaud the closest we could get at this point is   $x ~~ &Foo::rule  .... but the invocant is all wrong for grammar inheritance if we do that.
19:01 dalek r33483 | bernhard++ | trunk:
19:01 dalek : [codingstd] Fix some glitches: c_parens, tabs and trailing_space
19:01 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33483
19:02 PerlJam $x ~~ / <Foo:rule> /  # ?
19:02 PerlJam er, ::
19:02 pmichaud that would actually work.  It probably works in Rakudo today.
19:02 pmichaud and then the <.ws> rule would likely work also.
19:03 Coke Alias: ah. it was combination of changing svn:eol-style and then editing the fiile. the merge freaked out.
19:03 Coke if I tell the merge to ignore line endings, it works.
19:03 Alias ah
19:03 bacek pmichaud: it doesn't...
19:04 * chromatic wants to meet aliens, espers, and time travelers.
19:04 * Coke introduces chromatic to spider robinson.
19:04 * bacek waves from future to chromatic
19:04 pmichaud bacek: nopaste?
19:04 purl somebody said nopaste was 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 or at http://www.extpaste.com/ or http://paste.scsys.co.uk (for #catalyst, #dbix-class, #moose  and others)
19:04 * chromatic was thinking Haruhi Suzumiya
19:04 bacek bacek@icering:~/src/xquery$ perl6 -e 'grammar Foo { rule Token { \w+ }; token ws { \s+ }; rule TOP { <Token>+ }; }; say "foo" ~~ / <Foo::Token> /; say $/'
19:04 bacek two empty lines in output
19:05 pmichaud your ws rule requires whitespace
19:05 pmichaud I bet " foo "   matches.
19:05 bacek but I match Foo::Token rule.
19:06 pmichaud which has two calls to <.ws> in it
19:06 pmichaud both of those require at least one space.
19:06 bacek pmichaud: ah!
19:07 bacek pmichaud++ # explaining thing to dumb idiots...
19:07 Coke pmichaud++ # usually that idiot is me.
19:08 PerlJam pm: is <.ws> as smart as S05 requires?
19:09 PerlJam (i.e. it knows when to do \s* and when to do \s+)
19:09 pmichaud PerlJam: the default <ws> rule is, yes.
19:09 PerlJam okay.
19:09 pmichaud but if you override <ws>, then it uses whatever you specify.
19:10 pmichaud PCT provides a <ww> rule that matches between two word characters
19:11 pmichaud so grammars (but not rakudo grammars) can generally do:    token ws { <!ww> \s* }
19:12 pmichaud which is a lot easier and faster than trying to do it with <before ...> and <after ...>
19:13 dalek r33484 | bernhard++ | trunk:
19:13 dalek : [codingstd] add a svn-id line
19:13 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33484
19:27 cotto kj, ping
19:30 dalek r33485 | bernhard++ | trunk:
19:30 dalek : [Pipp] Simplify actions by using the nifty 'loadinit' node
19:30 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33485
19:30 Alias ok, working through new build
19:30 Alias Into make perl6
19:31 PerlJam Alias: so ... what was your sekrit?  you're bundling perl6 with strawberry now?  ;)
19:31 Alias Not bunlding
19:31 Alias I continue to maintain the integrity of the product line
19:31 Alias But it should be something like a seperate "Vanilla Perl 6 Beta"  :)
19:32 cotto msg kj Is there any reason that squaak avoids using a Past::Op with pasttype of 'for' for for loops?
19:32 purl Message for kj stored.
19:32 Alias ok, running make reallyinstall
19:33 Alias And hoping for the best
19:33 davidfetter anybody at OSDC?
19:33 Alias Seems to be gringing away, which I take as good news
19:33 Alias davidfetter: Does running it count?
19:33 davidfetter (apart from timtoady and yours truly)
19:33 davidfetter heh
19:33 Alias hrm
19:33 Alias make reallyinstall ok!
19:33 * davidfetter looks for parrot talks
19:34 dalek r33486 | bernhard++ | trunk:
19:34 dalek : [docs] added news about Pipp
19:34 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33486
19:34 Alias davidfetter: Nothing apart from Larry's methinks
19:34 Alias woohoo!
19:34 PerlJam Alias: installing parrot hasn't ever been a problem unless and until you want to also do development I believe.
19:34 Alias The image directory now has image/c, image/perl and image/parrot installed
19:35 Alias And parrot/bin has perl6.exe in it
19:35 Alias So NOW, I guess I just need to set the Windows PATH settings to only add the parrot directory?
19:36 Alias Will perl6.exe have any dependencies on dlls etc that are in the Perl distro?
19:36 Alias Or just the C stuff?
19:36 chromatic It should only need libparrot.dll
19:37 Alias It statically builds or something?"
19:37 chromatic By "etc" do you mean PBCs?
19:37 Alias I mean I have no idea what I'm talking about
19:37 Alias But I'm thinking things like libgmp.dll...
19:38 Alias Or other low level libraries
19:38 Alias ld.exe...
19:38 Alias I find I sometimes I ask questions and people assume I know the obvious stuff already
19:39 chromatic Alias, *this is a football*.
19:39 Alias So that's no?
19:39 chromatic libgmp.dll would be useful.
19:39 particle1 joined #parrot
19:39 Alias Oddly, I can't find that in the build for some reason
19:39 chromatic Maybe libreadline.dll.
19:40 Alias But I'll get back to you :)
19:40 Alias hrm
19:40 chromatic We don't include code.  It's a configuration-time dependency.
19:41 Alias Got a quick P6 hello world I can cut/paste somewhere?
19:41 Alias I gotta get moving to the conference shortly
19:41 chromatic 'say "Hello, world!"'
19:42 bacek "Hello, world!".say
19:42 Alias So perl6.exe -e 'say "Hello... etc
19:42 moritz ./perl6 -e 'say "Hello, World"'
19:43 Alias Single quotes fail
19:43 chromatic Dear Microsoft, Please buy a real keyboard.  Love, Perl 6.
19:43 moritz on windows probably, yes
19:43 Alias But perl6.exe -e "say \"Hello, world!\n\"" works fine
19:43 moritz Alias: no need for the \n, say() adds that
19:44 chromatic You don't need \n with say.  That's why say exists.
19:44 Alias ah, oops
19:44 chromatic perl6.exe -e "say 'Hello, world!'"
19:44 Alias Alt====woot
19:44 Alias er
19:44 Alias whatever :)
19:44 Alias OK, now I need to finish the last packaging crap, and I should have a working distro
19:44 chromatic Don't try to be hip.  We know you're just as nerdy as the rest of us, even if you do have that nifty accent.
19:45 Coke I am so hip I have difficulty seeing over my pelvis.
19:45 Alias And it appears that Hello World works even without anything in the PATH at all
19:45 Alias For future reference
19:46 Alias So looks like for my first attempt, I'll just blow away the Strawberry settings and add only the parrot/bin to PATH
19:48 Alias Now I just need to get this both building the final version, and find a way to get it burned onto a CD in the next 6 hours
19:48 Alias Which should be doable, hopefully
19:49 Alias My plan ATM, private alpha for Larry as symbolic gift, plus private release of alpha to you guys
19:49 pmichaud outstanding.
19:49 Alias Then public release Christmas
19:49 Alias For maximum symbolicness :)
19:49 pmichaud I expect to be doing official numbered Rakudo releases in Feb, fwiw.
19:50 Alias ya
19:50 Alias I plan to just keep my current month pattern I use for Perl 5
19:50 pmichaud that should work.  Do you have a specific date when you do Perl 5 releases?
19:50 Alias Vanilla Perl 6 (or Rakudo) Beta January 2009
19:50 Alias Perl 5 is once a season
19:50 pmichaud okay
19:51 Alias Jan/Apr/Jul/Oct, second Monday of the month
19:51 pmichaud rakudo will be doing monthly releases, seasonal Vanilla Rakudo should work fine with that
19:51 Alias But there's no real reason I can't (or you can't) just build on the day of the parrot release
19:51 pmichaud I expect to be doing rakudo releases shortly (~ 3-7 days) after each parrot release.
19:51 Alias It's all going to be in Perl::Dist::Parrot
19:51 Coke alias++
19:51 pmichaud well, rakudo is going to be moving out of the parrot repo
19:51 Alias You can just install that and then run "perldist Parrot" and it should grind for two hours and then spit out a distro
19:52 Alias pmichaud: Well, whatever it is... just have the dist class
19:52 Alias hack
19:52 pmichaud sure.
19:52 Alias It's all pretty sub-classable these days
19:52 moritz pmichaud: and then 'make spectest' will check out the appropriate version of t/spec/ from pugs to have real regression tests?
19:52 Alias The Perl 6 dist builder is under 200 lines of code
19:52 pmichaud moritz: probably.
19:52 purl Really? Probably? Are you Certain it's not certain? Are you sure it's unsure? I think you need to look harder.
19:52 Alias (and falling)
19:53 Coke probability factor of 2 to the 400 to 1 against and falling.
19:57 Alias Dammit, gotta leave shortly
19:57 * Alias madly installs deps onto laptop and sync svn with desktop machine
19:57 Alias Hopefully this build still works on my laptop
19:58 Alias Last time I had some NTFS vs FAT issues
19:59 gmansi joined #parrot
20:04 dalek r33487 | pmichaud++ | trunk:
20:04 dalek : [rakudo]:  Add inline PIR to Perl 6 subroutines.
20:04 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33487
20:06 jonathan pmichaud: One step closer to prelude. ;-)
20:07 pmichaud jonathan: yes.  As I'm working through the assignment/slicing stuff I'm thinking I might want to start writing it in Perl 6.
20:07 pmichaud but there are still a number of issues to work out there, alas.
20:12 bacek pmichaud:  perl6 -e "token ws { 'blah' }; say 'blah' ~~ / <ws> /"; produces empty result...
20:13 pmichaud bacek: it's probably still using the default <ws> rule instead of the local one.  We don't have namespaces and lexicals completely worked out there yet.
20:13 pmichaud It's also not clear that a "token ws" declared in the local scope would override the <ws> rule that is built-in to the default Grammar.
20:13 bacek pmichaud: :(...
20:14 bacek <bacek> Although the default <.ws> subrule recognizes no comment construct, any grammar is free to override the rule. The <.ws> rule is not intended to mean the same thing everywhere.
20:14 bacek looks like it should override default <ws>
20:15 dalek r33488 | moritz++ | trunk:
20:15 dalek : [cage] trailing whitespace
20:15 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33488
20:16 moritz wtf is compilers/ncigen/compreg.pir?
20:16 nopaste joined #parrot
20:18 dalek r33489 | moritz++ | trunk:
20:18 dalek : [cage] copyright statement for sqlite_interface_generator.pl
20:18 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33489
20:18 pmichaud the -e example you just gave doesn't have "token ws" in a grammar.
20:19 pmichaud The synopsis says "any grammar is free to override the rule".  It doesn't say it's overridable outside of a grammar.
20:19 pmichaud (it doesn't say it isn't, either... which is why I said it's "not clear")
20:19 bacek pmichaud: sigh...
20:20 pmichaud http://use.perl.org/~pmichaud/journal/38022   # inline PIR in Perl 6
20:22 PerlJam pm: so, you can't use $S10 ?
20:22 pmichaud you can, but you run the risk that PCT will have also used $S10 for something else.
20:22 pmichaud PCT reserves registers 10 and higher for its own use
20:22 PerlJam gotcha
20:26 PerlJam given that we have a really large number of registers now, couldn't PCT start the set of reserved registers as 100 (for instance)?
20:26 pmichaud sure, but how many people will need more than ten registers?
20:26 pmichaud (at the same time)
20:26 pmichaud even PGE only needs nine.
20:27 pmichaud if a piece of code needs that many registers, they likely should be using symbolic registers anyway.
20:27 PerlJam okay.  I was just thinking of some of the crazy stuff that Dan used to do with code generation.
20:27 pmichaud generate PIR to be evaled in a Perl 6 program?  Scary.
20:28 pmichaud Better would be to eval it directly using the PIR compiler anyway :-)
20:28 pmichaud (updated article to indicate reason for 0..9, tnx)  PerlJam++
20:34 Coke ... C
20:34 * Coke gets a big unsolicited patch to APL.
20:34 Coke (YAY)
20:34 Coke (really. yay. this is awesome.)
20:37 tak joined #parrot
20:38 Coke holy crap do I need to find some place to test this out.
20:38 * Coke does a little APL dance of joy.
20:39 jonathan pmichaud: Don't forget rakudo.org too ;-)
20:40 pmichaud rakudo.org is a bit of a pain to update (but I just did that too)
20:40 pmichaud now I have to get ready for my presentation tonight (that wasn't planned as of 24 hours ago)
20:40 Alias righto
20:40 Coke cla?
20:40 purl cla is, like, Contributor License Agreement or http://www.perlfoundation.org/​contributor_license_agreement or http://www.parrot.org/foundation/legal
20:40 Alias Laptop prepped for generating final Vanilla Perl 6 package at OSDC, time to run
20:41 Alias Later all
20:41 pmichaud Alias++ # vanilla Perl 6
20:41 moritz Coke: most developers like me have only sent a cla to TPF, not to parrot foundation - is that a problem, in the long run?
20:42 pmichaud I think that we need new cla's for Parrot eventually.  OTOH, I think they have it set up that they no longer _have_ to have paper copies.
20:42 Coke either we'll hunt you down and force you to resign, or work out some clever legal avoidance.
20:42 pmichaud I know we all signed new CLAs at PDS.
20:42 Coke er, re-sign, not resign.
20:42 Coke pmichaud: wow, that's TWO cla's I've not signed now. =-)
20:42 * pmichaud wonders if he should've resigned instead of re-signed.
20:42 Tene Coke: but I already re-signed.  Can I still opt-in to the hunt-me-down plan?
20:43 Coke tene: only you, though.
20:43 Tene sweet
20:43 * Coke loads his hunting gear.
20:43 * Tene prepares the island with death traps.
20:43 dalek r33490 | kjs++ | trunk:
20:43 dalek : [pirc] Start generating bytecode. Note that these are preliminary, hacky steps.
20:43 dalek : + parser now counts number of parameters; only generate get_params_pc if #params > 0
20:43 dalek : + This works: .sub main :main \n print 42 \n .end\n --> ../../parrot a.pbc --> 42
20:43 dalek : + update tests.
20:43 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33490
20:45 pmichaud jonathan: any ideas for how we might get "class Object is also { ... }" to put its methods into the correct "Perl6Object" namespace?
20:45 pmichaud I'm guessing we'll have to hackish-look-things-up or work something out through the protoobject.
20:46 Tene pmichaud: is this about object->perl6object specifically?
20:46 * Coke arnolds, "if it bleeds, we can kill it."
20:46 pmichaud Tene: all of the rakudo mis-named classes.
20:46 pmichaud Perl6Object, Perl6Array, Perl6Hash, Perl6Complex
20:46 Tene pmichaud: these will go away after we get the type registry fixed or whatever, right?
20:46 pmichaud Tene: sure, they'll go away then.  I don't know that will happen soon, though.
20:46 jonathan pmichaud: Can't think of anything easy right off...
20:46 Tene Then I'd just make a hash and check at compile time
20:46 jonathan As in, easy and not an epic hack.
20:47 pmichaud hash and check at compile time might work good enough.
20:47 Tene that's what cardinal does.
20:50 ruoso joined #parrot
20:53 Tene pmichaud: anything you want me to work on today?
20:53 pmichaud Tene: I'm a bit distracted today because of the last-minute presentation I'm now giving
20:54 * Tene nods.
20:54 Tene I work a lot better when someone asks me for something specific, and there's a lot that needs to get done for this release.
20:54 pmichaud yeah
20:54 Tene I won't harass you for details, don't worry.
20:54 pmichaud most of the specific stuff I have right now I prefer to wait on a couple of other cleanups first
20:55 Tene And cleanups require explanation.
20:55 pmichaud right.  I really want to get assignment fixed "once and for all"
20:55 pmichaud (including slices).  But that's a messy cleanup at the moment.
20:56 Tene Rather.  I'm likely not up to it right now.
20:56 pmichaud I'd be interested to see if we can get the try { ... } semantics working properly.  I know there are some failing tests there.
20:56 Tene Any objections to me prototyping the pct loops refactor?  Or should I do PDD review instead?
20:56 Tene Try.  Okay.  I can do that.
20:56 pmichaud you can prototype loop refactor if you want, but what I'm planning at the moment is a fairly major restructuring of block handling in PCT (internally)
20:57 Tene Ah.  I'll leave that to you, then.
20:58 pmichaud I suspect the 'try' issues were due to improper lexical handling, which should now be fixed.
20:58 pmichaud Also, Failure needs to move from being a class to being a role.
20:59 pmichaud but I'm not sure what is involved there, since it needs to override some vtable functions to work.
21:05 bacek joined #parrot
21:06 tewk moritz: compreg.pir is used by  sqlite_interface_generator.pl to get the NCIGEN compiler, is there a better perl6 way of doing that?
21:06 tewk I saw inline pir just hit, I'll have to try that.
21:07 moritz tewk: uhm, that file doesn't look like PIR to me
21:07 pmichaud I'm a little frightened at what I've just unleashed.  :-)
21:07 Tene :)
21:07 apeiron joined #parrot
21:07 bacek pmichaud: what the difference between PGE::Grammar and PCT::Grammar?
21:07 chromatic Two letters.
21:08 pmichaud PGE::Grammar is the base class for all PGE grammars
21:08 pmichaud PCT::Grammar is PGE::Grammar with some extra built-in rules thrown in to make it more useful for compiler writers
21:09 Tene pmichaud: you were referring to return() inside try{}-blocks, the tests for which are marked as TODO lexicals bug, right?
21:09 Tene Or were you wanting CATCH blocks?
21:09 pmichaud return() inside try blocks, or just getting the general $! handling correct
21:09 pmichaud I wasn't referring to CATCH blocks.
21:09 bacek pmichaud: thanks.
21:10 * bacek still don't understand why <ws> works as expected in Rakudo implementation, but not in Grammar...
21:11 pmichaud bacek: do you really want the gory details?  Because they are gory.
21:11 bacek pmichaud: heh :)
21:11 bacek I'm still believe that is possible to implement XQuery-on-Perl6
21:12 tewk moritz: opps
21:12 pmichaud tewk: did you catch my note about the failing subid test I added to subflags.t ?
21:12 cognominal pmichaud++  # too bad you are a singleton
21:13 cognominal ... for the PIR in Perl 6
21:13 tewk pmichaud: yeah I saw it, thats going to require separating the 'foo'() logic from the .const logic.
21:13 tewk it shouldn't be too bad.
21:13 pmichaud okay.  I don't know if that blocks me from the other PCT changes I want to make.
21:13 pmichaud probably doesn't.  But I was surprised when it didn't work earlier.
21:14 tewk your talking about the fact that subids fall through to find_name_not_null right.
21:16 Tene pmichaud: try {} should catch *all* exceptions?  Even return()?  Or no?
21:16 tewk wait I read the test wrong looking again.
21:18 Tene pmichaud: if try {} shouldn't catch return exceptions, can you tell me what exceptions it should catch?
21:20 PerlJam Tene: non-control exceptions I would imagine
21:20 PerlJam "real" exceptions
21:20 bacek Tene: !~~ CONTROL_EXCEPTION
21:21 Tene So we need to be able to give EHs a list of exception types to NOT catch.
21:22 PerlJam next, last, redo, goto, return, take (assuming that generates an exception), yield (assuming that exists), etc.  should not be caught by try{}
21:22 Tene Or we need to redesign exceptions and EHs to use a class hierarchy instead of a flat list of types.
21:23 Tene I'll just do the former for now.
21:23 tewk pmichaud: i would expect tst 25 to work, I'll fix it tonight.
21:28 pmichaud we either give EHs a list of exception types not to catch, *or* we simply have a handler that catches everything and rethrows things it shouldn't have caught.
21:28 pmichaud I would go with the latter for now.
21:29 moritz pmichaud: S04 seems to imply that try { } by default catches everything, there's no exception for control exceptions
21:29 pmichaud moritz: that wouldn't surprise me.
21:29 pmichaud I haven't looked closely, which is why I'm having Tene take a look :-P
21:30 Coke pmichaud: rethrowing doesn't work like you'd expect.
21:30 Tene pmichaud: it's easier to add a "don't catch these" list.
21:30 Coke (presuming you're me.)
21:30 Tene That also avoids the "rethrow doesn't preserve the backtrace" problem.
21:30 Tene Also, I've already done it.
21:30 Coke so it's probably a decent first cut, but what tene said.
21:31 dalek r33491 | tewk++ | trunk:
21:31 dalek : [ncigen] fix wrong file contents
21:31 pmichaud fair enough.
21:31 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33491
21:31 Tene I'll add it to PCT's try after this lecture.
21:31 Tene I've tested it and it works.
21:31 Tene bbl; lecture.
21:31 pmichaud ...PCT's try?
21:31 pmichaud I would think that PCT's try would catch everything.
21:31 Tene erm, you know what I mean.
21:31 Tene Make it work with rakudo.
21:31 pmichaud ah.
21:31 pmichaud okay.
21:31 Tene I'm sketching here.
21:31 pmichaud but double-check what moritz mentioned -- perhaps it should catch everything.
21:32 pmichaud since we expect it to catch 'die', I'd think it would also catch 'return'
21:32 pmichaud (being that die is even more forceful than return)
21:32 moritz in p5 eval { ... } also catches return()
21:33 pmichaud so yes, catch everything :-)
21:33 moritz ah, but things get more complicated in a the presence of CATCH blocks
21:33 moritz "A CATCH block handles only "bad" exceptions, and lets control exceptions pass unhindered."
21:33 PerlJam interesting.
21:33 pmichaud sure, but I think 'try' traps them all.
21:33 pmichaud we only pass the control exceptions to the CATCH block.
21:34 pmichaud er, non-control exceptions
21:34 moritz and in the presence of CATCH blocks, try {} only catches those exceptions for which there are handlers
21:34 pmichaud ah
21:34 pmichaud definitely becomes more interesting then.
21:35 moritz (but I think there should be a way of handling control exceptions too, right?)
21:35 pmichaud I'm not looking for a complete implementation (unless it's convenient) -- I just wanted to resolve the tickets that note that $! isn't working.
21:35 pmichaud CONTROL { ... }  # handles control exceptions
21:35 moritz ah
21:35 * moritz didn't get this far yet
21:40 apeiron joined #parrot
21:42 dalek r33492 | tewk++ | trunk:
21:42 dalek : [ncigen] uses inline pir in perl6
21:42 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33492
21:56 PerlJam you know  ... parrot may make all of this "perl is dying" stuff come to fruition.  Once @other_languages have access to CPAN, perl will have lost a small advantage  :)
21:57 pmichaud nah, because everyone will be writing their languages in Perl.  :-P
21:59 cotto either that or everyone will use libraries converted from their native languages via --target=otherlang
21:59 tewk pmichaud: I might have asked this before but, can I iterate over a PCT::Node from perl6?
22:00 Whiteknight joined #parrot
22:01 tewk a PCT::Node isa Hash
22:02 Coke PerlJam: good luck getting other languages to run CPAN. =-)
22:03 * Coke would be vaguely interested in rewriting bits of tcl in NQP or perl6.
22:05 GeJ Good morning everyone
22:07 Whiteknight good morning GeJ
22:07 Coke ->
22:07 PerlJam Coke: I imagine a future where "gem install foo" will ask which foo would you like to install?  1) ruby foo 2) perl foo 3) python foo  4) other foo
22:08 PerlJam cpan foo will, of course, install perl foo because it's the best  :-)
22:09 pmichaud tewk:  for @($node) { ... }
22:10 tewk ahh, I'll try that
22:10 pmichaud or $node.list()
22:10 tewk $_ still, sorry my perl6 is bad.
22:10 cotto I wonder what perl -> ruby -> php -
22:10 cotto > perl would look like
22:11 moritz ugly.
22:22 pmichaud disappearing for a while so I can finish my presentation. bbl.
22:27 mfredrickson joined #parrot
22:30 Limbic_Region joined #parrot
22:33 cognominal "Python 3.0 is out now. The latest version makes some major changes to the popular programming language, and it's incompatible with version 2.x releases."  sayz theregister
22:34 cognominal qui ne peut résister à une blague ouroborisique : http://regmedia.co.uk/2008​/12/04/pythonouroboros.jpg
22:34 Whiteknight joined #parrot
22:34 cognominal oops
22:34 cognominal wrong channel
22:35 davidfetter joined #parrot
22:41 TiMBuS joined #parrot
22:46 jonathan MANIFEST FAIL (compilers/ncigen/compreg.pir)
22:46 tewk I hate manifest
22:47 Tene pmichaud: any suggestions on how to pass the exception types we want to catch / avoid catching to PCT?
22:47 Limbic_Region chromatic ping
22:47 Tene pmichaud: right now the first child of a PAST::Op with a pasttype of 'try' is the code to be surrounded by the exception handler, and the second child is the code ot process the handler
22:47 jonathan Tene: Me too.
22:47 jonathan s/Tene/tewk/
22:48 Tene Ah.
22:48 tewk fixing
22:49 dalek r33493 | tewk++ | trunk:
22:49 dalek : [ncigen] MANIFEST
22:49 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33493
22:49 Tene ah, scrollback
22:49 * Tene reads
22:50 bacek_ joined #parrot
22:51 Limbic_Region chromatic disregard ping - apparently TimToady has decided not to publish the 2008 State Of The Onion - too bad
22:52 Tene :(
22:53 chromatic It's pretty technical.
22:53 chromatic Two results in the latest Coverity scan!
22:54 Tene pmichaud: $! is getting set.  try { return 42; say 'omglol' }; ; say $!.WHAT();
22:54 Tene rakudo: try { return 42; say 'omglol' }; ; say $!.WHAT();
22:54 chromatic Hm, one of them came back.
22:54 polyglotbot No output (you need to produce output to STDOUT)
22:54 particle1 chromatic++ # it'll be nice to get to tier 2
22:54 Limbic_Region chromatic - on another note, I did email you reference your use.perl recent journal entry
22:55 chromatic I saw, thank you.
22:56 Limbic_Region 4523
22:56 Limbic_Region *+
22:56 Limbic_Region Alyssa says hello
22:59 Whiteknight I have a friend named alyssa
22:59 Whiteknight and she never says hello
23:00 Tene not much of a friend, then
23:00 PerlJam chromatic++ for publishing stuff on perl.com, but that's more speaking to the echo chamber isn't it?
23:02 Limbic_Region Whiteknight - my Alyssa turned 1 on Tuesday
23:02 chromatic Definitely it is.
23:03 Whiteknight turned 1? Congratulations!
23:03 moritz Alyssa++, so to say ;-)
23:03 Whiteknight Or Alyssa = 1;
23:03 chromatic Hopefully she doesn't know Python, because that's two unary plus operators.
23:04 Whiteknight Python3000 came out today, dont know if anybody saw the headlines
23:04 Whiteknight now we just need them to port it to parrot, and we all win
23:04 Limbic_Region she is more of a line noise kinda girl right now - watch out for the next dancing camel obfu
23:28 dalek r33494 | tene++ | trunk:
23:28 dalek : [exception.pmc]
23:28 dalek : * Initial draft of get_bool vtable
23:28 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33494
23:34 cotto That certainly follows KISS.
23:36 nopaste joined #parrot
23:38 * davidfetter waves to nopaste
23:40 Hadi joined #parrot
23:41 Tene cotto: unless someone can think of a use case for a "false exception"...
23:43 cotto Is there any use for an exception evaluating to true?
23:58 dalek r33495 | jonathan++ | trunk:
23:58 dalek : [rakudo] When we see a proto routine, mark it :multi() so it ends up in the Perl6MultiSub and set a proto property on it.
23:58 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33495

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

Parrot | source cross referenced