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