Camelia, the Perl 6 bug

IRC log for #parrot, 2008-12-09

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:00 mj41 good night, dobrou noc, dobru noc
00:00 jonathan dobru noc :-)
00:01 chromatic joined #parrot
00:11 dalek r33674 | jonathan++ | trunk:
00:11 dalek : [rakudo] Provide a way to get at all the possible multi dispatch candidates that could be invoked for a given set of arguments.
00:11 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33674
00:11 dalek r33675 | jonathan++ | trunk:
00:11 dalek : [rakudo] Implement clone method in Perl6MultiSub.
00:11 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33675
00:12 dalek r33676 | jonathan++ | trunk:
00:12 dalek : [rakudo] Extensively refactor .?, .+ and .* so they know about multi methods. Also add function level docs for them, which were missing before, plus for !.^.
00:12 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33676
00:15 dalek r33677 | jonathan++ | trunk:
00:15 dalek : [rakudo] Add calling sets of methods tests to spectest; Rakudo passes all 29 tests in that file.
00:15 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33677
00:18 kid51 joined #parrot
00:22 dalek r33678 | Whiteknight++ | trunk:
00:22 dalek : [Book] small updates to chapter 11, and adding some content to chapter 12
00:22 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33678
00:22 particle Whiteknight: i've got build failures on the cc branch
00:25 Whiteknight yeah, welcome to the club!
00:26 particle ok, wasn't sure if that was known
00:26 Whiteknight allison just updated it to trunk, and I'm sure a bunch of issues magically appeared
00:27 particle ok, first error is easy, moving on...
00:30 pmichaud ouch, I hope jonathan's changes merge with mine (assign) okay
00:33 jonathan pmichaud: I touched very little.
00:33 jonathan pmichaud: Like, one hunk in Object.pir.
00:34 pmichaud okay
00:34 pmichaud Object.pir was massively refactored in assign
00:34 jonathan pmichaud: And I rather doubt you're touching Perl6MultiSub.pmc ;-)
00:34 pmichaud I'm reorganizing the methods to be in some semblance of "order"
00:34 pmichaud but yes, I didn't touch the guts of those methods
00:34 jonathan OK, well, there's one additional helper method and updated .?/.+/.* - and that's it.
00:34 pmichaud it shouldn't be too difficult to patch ; I'm just thinking the merge will likely fail.
00:34 jonathan OK. They're pretty much entirely re-done.
00:34 particle i noticed you moving methods around. what semblance of order have you chosen?
00:35 pmichaud (1) Methods
00:35 pmichaud (2) Operators
00:35 pmichaud (3) Coercions
00:35 pmichaud (4) Private methods
00:35 pmichaud (5) Vtable functions
00:35 pmichaud end
00:35 pmichaud non-Methods go in either Methods or Operators, as appropriate.
00:36 pmichaud the idea is that the more commonly used items appear first
00:36 pmichaud within each section, items are roughly in alphabetical order
00:37 jonathan pmichaud: I guess I should hold of doing the "has $.x = 42" changes until you've merged.
00:37 jonathan We're more likely to clash there.
00:37 pmichaud probably.  I expect/hope to merge tonight.
00:37 AndyA joined #parrot
00:37 jonathan OK, fine, maybe I hack on that tomorrow.
00:38 pmichaud right now I'm just cleaning up spectest failures.
00:38 jonathan Nice.
00:38 jonathan Will be good to unfudge some more tests.
00:38 pmichaud I'm going to go ahead and merge once array slices are working; once those work I think it's safe to do hash slices in trunk, or a separate branch.
00:39 Whiteknight particle, actually I just built the cc branch, and got no errors. What did you see?
00:39 particle Whiteknight: i just built, apparently there was one trivial error
00:39 jonathan pmichaud: Sounds good.
00:40 particle PARROT_EXPORT mismatch between decl and def
00:40 jonathan .oO( Speakers SO loud... )
00:40 Whiteknight oh yeah, the PARROT_EXPORT thing caused some problems for me and I had to make realclean
00:42 particle it's something make headerizer should fix, but i didn't try that
00:42 particle i'm running tests now
00:45 Whiteknight you're going to get failures in t/compilers/pct/complete_workflow.t
00:46 particle i'm in t/op tests now
00:48 particle looks like for the past two weeks, it's just been tailing trunk, trying to keep up, but no work done
00:48 allison particle: yeah, the pct failures are a complete stumper
00:49 allison particle: probably context related
00:49 tetragon joined #parrot
00:49 Whiteknight every debugging path I've followed has been a dead-end
00:49 allison particle: and it's beginning to look like they aren't even caused by the changes on the branch
00:49 Whiteknight so i dont commit any of the garbage non-solutions I come up with
00:50 chromatic joined #parrot
00:51 Whiteknight Allison, the failures you see are all about "lexical $/ not found"?
00:51 bacek_ joined #parrot
00:52 Whiteknight I just want to make sure the test is failing for the same reasons, no just in the same places
00:55 dalek r33679 | Whiteknight++ | trunk:
00:55 dalek : [Book] small fixes to chapter 11 that should have been committed last time
00:55 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33679
00:56 Whiteknight okay, I'm out for the night. Laterz!!
00:58 particle has the 'global' op been deprecated?
01:07 dalek r33680 | particle++ | trunk:
01:07 dalek : [library] convert deprecated 'global' calls
01:07 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33680
01:07 allison particle: on the dynpmc failures in the pdd22io branch, were those on a fresh checkout?
01:08 particle yes, i believe so
01:08 particle want me to realclean?
01:09 allison particle: worth a try, the failures look a lot like what I often get when adding a PMC without recompiling
01:10 particle the file::spec failures are due to 'global' deprecation
01:10 allison particle: cool
01:13 particle it'd be nice to get both those branches synchronized to trunk head now
01:13 dalek r33681 | particle++ | calling_conventions:
01:13 dalek : [include] add missing export decorator
01:13 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33681
01:13 particle i'm rebuilding both as we speak, though
01:14 allison particle: yes, I'm pondering whether to merge them now so we have a week to hammer on them before the release
01:14 allison the remaining failures are minor
01:14 particle i'm still looking for a way to get you into my win32 vm
01:15 particle maybe realvnc or openvpn
01:17 allison I can try again from my hotel, firewall may be different there
01:18 pmichaud (windows sharing)  I used crossloop a week ago, worked quite nicely.
01:18 allison pmichaud: AFAICT, the problem is Google's aggressive firewall
01:19 pmichaud that wouldn't surprise me.
01:19 pmichaud but crossloop is supposed to help get around at least some firewalls
01:19 particle try telnet again
01:20 allison still no response
01:20 purl it has been said that no response is fine by me, I never ask people out anyway.  And 99% chance I would piss the girl off before a date occured hehe =)
01:20 pmichaud purl appears to have personal issues.
01:20 purl pmichaud: sorry...
01:20 allison purl: forget no response
01:20 purl allison: I forgot no response
01:22 * jonathan hugs purl...he knows *that* feeling...
01:23 particle allison: try 76.121.106.245
01:23 jonathan Well, that's flights booked to my first Perl event of next year. Yay. :-)
01:24 pmichaud oh, I should probably book my flight to Frozen Perl
01:24 allison particle: it was resolving to that IP address, but trying directly
01:24 allison particle: nope
01:25 particle could be i don't have my router set up right
01:25 allison I'm pretty sure it's Google
01:25 pmichaud I'm unable to reach it either
01:26 allison pmichaud: ah, maybe it's not Google
01:26 pmichaud particle: willing to try crossloop?  Free download, simple install.
01:26 particle downloading now
01:26 pmichaud I'll fire up my copy
01:28 particle installed. creating account
01:28 pmichaud after you start it up, click share, then send me your access code
01:29 particle ok, 'am waiting on account confirmation mail
01:33 pmichaud I see your desktop.
01:35 particle allison: crossloop works for pm and me
01:35 particle it's easy to set up an account, so you can get access
01:36 allison ok, what vnc client are you using with it?
01:36 pmichaud crossloop has a vnc client you can download
01:36 pmichaud www.crossloop.com
01:36 pmichaud it handles the connection setup for you
01:36 pmichaud it may even provide a reflector for the connection -- I'm not sure of the details
01:37 allison pmichaud: for Mac? I only see Windows
01:37 pmichaud I saw Mac there
01:38 pmichaud ohhhhhh
01:38 pmichaud they have a "Mac forum" for mac help, not a download.
01:38 pmichaud sorry about that.
01:38 pmichaud I misread.
01:38 particle oh, rats.
01:38 allison yeah, I was briefly excited too
01:39 particle pm: did you connect from linux?
01:39 pmichaud particle: from vmware win guest
01:39 particle ah
01:39 particle well, they use tightvnc
01:39 pmichaud maybe yuuguu, then?   yuuguu.com   :-)
01:40 pmichaud I haven't used that one, but it claims to be available for mac, linux, win
01:40 ChrisDavaz joined #parrot
01:40 allison a phone call might do it, but it depends on how complex the failures are
01:41 particle i can do a phone call, sure
01:41 particle i'm rerunning test now
01:41 particle when it finishes, i'll post results, then we can coordinate
01:42 particle still cannot write to a closed filehandle in t/pmc/io.t
01:44 particle hrmm, i guess i could also make smolder_test
01:46 particle allison: try http://sourceforge.net/projects/cotvnc/
01:50 allison is t/pmc/eval.t #8 failing on trunk on windows?
01:51 jonathan Something in eval.t fails in trunk on Windows.
01:51 jonathan Don't have it handy to look at right now.
01:52 particle test 10 fails
01:52 particle at line 12 in eval_10.pir
01:55 allison particle: it's attempting to connect on 5900, looking for an option to change that to 3389
01:55 particle no, use 5900
01:56 nopaste "particle" at 76.121.106.245 pasted "pdd22io test failure report" (1844 lines) at http://nopaste.snit.ch/14868
01:56 particle realclean did some good, by the way
01:57 allison particle: excellent
01:58 allison particle: t/pmc/io.t should be solved by a commit I made earlier today
01:58 particle svn info reports 33681
01:59 allison we can ignore t/compilers/pct/complete_workflow, because it's a duplicate of another branch, so it's a trunk bug
01:59 particle i'm running make test in trunk now, to compare
01:59 particle actually, i really only need to run the failing files, that could speed up the results...
01:59 allison ah, okay, it's failing differently now
02:01 particle complete_workflow passes in trunk
02:01 particle only t/pmc/eval and t/dynoplibs/myops fail in trunk
02:02 allison particle: okay, then we can ignore those in the branch
02:02 allison particle: and you said t/library/File_Spec was fixed in trunk now?
02:03 particle yes, ignore
02:03 particle just complete_workflow, and io
02:03 allison particle: okay, I can do a remerge
02:03 allison ignore complete_workflow, it's a context bug that exhibits on different branches
02:04 allison so, that leaves t/pmc/io.t
02:05 allison is says the filehandle is closed
02:06 Whiteknight joined #parrot
02:06 particle yep
02:06 allison can you run the pir file directly and figure out which line of the PIR is complaining about a closed filehandle?
02:06 Whiteknight allison, you really want that branch merged in tonight?
02:07 allison Whiteknight: which, calling_conventions?
02:07 Whiteknight i have time for the merge, but no time for the ensuing damage control
02:07 Whiteknight yes
02:07 particle Cannot write to a closed filehandle
02:07 particle current instr.: 'main' pc 21 (t\pmc\io_4.pir:7)
02:07 Whiteknight at least, not until tomorrow
02:07 adu joined #parrot
02:07 particle ...married life... ;)
02:08 allison Whiteknight: I'm torn, but probably better to leave it until tomorrow
02:08 Whiteknight okay, leaving it
02:11 allison particle: oh! well get_fd doesn't work on windows anyway
02:11 allison windows doesn't use integer file descriptors, does it?
02:11 Whiteknight it doesn't, but we could fake something together
02:11 particle it's posix-compliant...
02:12 allison or, did it used to work because it was just copying a pointer?
02:12 allison I mean, I can change the method so it returns a value on windows, at the moment it only returns '-1' on non-unix platforms
02:12 particle course, it's a really old posix-spec
02:13 particle ok, i saw the -1 returns there, and didn't know what to make of it
02:13 particle figured i'd look up the fd# for std*
02:15 allison got to go
02:15 allison back in 20
02:17 particle allison: http://markmail.org/message/m5ncpsv3z5qahskl
02:19 dalek r33682 | pmichaud++ | assign:
02:19 dalek : [rakudo]:  Add $*WARNINGS global to turn warnings on/off for now.
02:19 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33682
02:19 dalek r33683 | pmichaud++ | assign:
02:19 dalek : [rakudo]:  More assignment branch cleanups.
02:19 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33683
02:19 particle allison: see also http://www.koders.com/c/fidDD0AADC8E​591E38FE7F12AA807403F0C86DEFFFD.aspx
02:20 particle pmichaud: how far out of sync is assign from trunk? can i merge trunk to it?
02:21 particle i'm getting t/op/calling errors, but think that was fixed in trunk recently
02:25 chromatic joined #parrot
02:31 chromatic joined #parrot
02:40 Coke yes, it was.
02:40 Coke (wk--)
02:50 allison joined #parrot
02:50 allison back (after some trouble with network connection)
02:51 allison particle: ping
02:51 particle allison: pong
02:51 allison Google kicked us out
02:52 allison so, quick check, can you comment out two lines from src/pmc/filehandle.pmc and see if that fixes the problem?
02:52 particle sure
02:53 allison lines 522 and 526
02:53 particle allison: did you see my links in scrollback?
02:53 allison particle: no, unfortunately, I'm on a laptop client, so don't get history stored while I'm offline
02:54 particle ok, it's between when you timed out and the channel reported that you did, then
02:54 particle allison: http://markmail.org/message/m5ncpsv3z5qahskl
02:54 particle allison: see also http://www.koders.com/c/fidDD0AADC8E​591E38FE7F12AA807403F0C86DEFFFD.aspx
02:54 dalek r33684 | pmichaud++ | assign:
02:54 dalek : [rakudo]:  Fix array assignment where array appears on rhs.
02:54 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33684
02:55 Infinoid ... are integer filehandles really going to be dropped?
02:55 * Infinoid worries about select()
02:56 allison Infinoid: no, Unix will still use integer filehandles, but other OS's don't use them
02:56 allison it's just a question of what the get_fd method will return
02:56 allison it could return a PMC instead of an integer
02:56 Infinoid well, as long as it returns something I can feed to select and friends, that works for me
02:57 allison though, at the moment I'm just interested in getting the same tests that passed on trunk passing in the branch
02:57 Infinoid in pdd22io_part2 branch, "make test" passes for me on linux/x86-64
02:58 allison Infinoid: excellent, thanks
02:59 * Infinoid throws strawberry perl on a windows box and tries it there
03:00 allison particle: I suspect the only reason that was working on Windows is because it's casting the FILE pointer to an int, then casting it back on fdopen
03:00 Infinoid that should fail horribly on win64 if any of the high bits were set
03:00 particle parrot doesn't build on win64, so that's not testable yet :)
03:01 Infinoid hmm.  my windows box is 64-capable but only has a 32 bit OS, so I guess I can't help with that
03:01 particle no, but i have a 64bit vm/compiler/perl env
03:01 particle i can give you access via rdp
03:02 particle assuming i can get the firewall working correctly...
03:02 Infinoid I'll let you know when the number of items currently on my plate drops below 10, okay? :)
03:02 particle eat your greens!
03:02 Infinoid ... but not the green snow.
03:03 allison particle: ah, digging a bit further... it looks like windows does use integer file descriptors... (http://www.tech-archive.net/Archive/D​evelopment/microsoft.public.win32.pro​grammer.kernel/2005-05/msg00448.html)
03:03 dalek r33685 | pmichaud++ | assign:
03:03 dalek : [rakudo]:  Restore 'item' contextualizer listop.
03:03 allison stdio uses a pointer
03:03 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33685
03:06 particle uggh, i ran codetest instead of coretest :(
03:06 allison so we can change that "#ifdef PIO_OS_UNIX" to "#ifndef PIO_OS_STDIO"
03:07 particle rebuilding with that
03:18 Infinoid is libicu important for this testing?
03:18 particle i don't think so, since i don't have it
03:18 Infinoid great, that means I don't have to start over.
03:19 allison Infinoid: not important, it just skips some unicode tests if you don't have it
03:19 pmichaud I develop without libicu most of the time.
03:25 kid51 joined #parrot
03:27 Infinoid ok.  trunk -rHEAD failed t/pmc/complex and t/pmc/eval, on strawberry perl
03:27 Infinoid pdd22io_part2 failed more than that.  (nopaste coming up)
03:28 nopaste "Infinoid" at 75.31.91.111 pasted "pdd22io failures on strawberry perl" (20 lines) at http://nopaste.snit.ch/14870
03:28 particle complex is -0.0 &| NaN/Inf?
03:29 particle allison: io.t passes with #ifndef PIO_OS_STDIO
03:29 Infinoid just negative float 0, I don't see any NaN/Inf failures
03:30 particle ok, that's a known strawberry error
03:30 allison Infinoid: ah, excellent t/pmc/io.t is what particle is fixing,  t/library/File_Spec.t is fixed in trunk, so will be fixed in next merge from trunk, and t/compilers/pct/complete_workflow.t is known intermittent context failure that appears in other unrelated branches
03:30 allison Infinoid: so, we're done
03:30 Infinoid great
03:30 allison particle: excellent! go ahead and commit the fix
03:34 dalek r33686 | particle++ | pdd22io_part2:
03:34 dalek : [pmc] FileHandle pmc get_fd() method updated to check for PIO_OS_STDIO. windows now builds and passes expected tests. allison++
03:34 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33686
03:34 particle MERGE!!!
03:34 purl well, merge is coming out this spring. beta can be out any day now.
03:34 particle forget merge
03:34 purl particle: I forgot merge
03:37 allison particle: doing the update from trunk now, prepping to merge
03:37 dalek r33687 | allison++ | pdd22io_part2:
03:37 dalek : [pdd22io] Bringing the pdd22io_part2 branch up-to-date with trunk r33686.
03:37 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33687
03:40 nopaste "kid51" at 68.237.15.254 pasted "t/pmc/key.t failure in trunk" (40 lines) at http://nopaste.snit.ch/14871
03:41 particle it's a failure because the plan is wrong
03:42 particle oh, i see, the second time you get result: FAIL
03:44 particle kid51: i have seven tests in my file
03:45 particle likely what happens in the script throws an exception and dies before the seventh test is reported
03:46 particle .sub do_not_collect_string_keys_early_rt_60128 # the problem is probably in there
03:46 dalek r33688 | allison++ | trunk:
03:46 dalek : [pdd] Caught documented name inconsistent with implemented name.
03:46 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33688
03:46 petdance joined #parrot
03:47 kid51 That failure was observed on Linux ... where I've never seen a failure in that file before.
03:47 particle can you paste "parrot -t 1 t/pmc/key.t"
03:47 particle only need the last 50 lines or so
03:48 particle it's likely to be very long because PGE is involved
03:50 dalek r33689 | pmichaud++ | assign:
03:50 dalek : [pct]: Throw an exception if setting an lvalue on PAST::Val.
03:50 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33689
03:50 dalek r33690 | pmichaud++ | assign:
03:50 dalek : [rakudo]:  Refactor postcircumfix;<[ ]> to be a Role.
03:50 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33690
03:53 nopaste "kid51" at 68.237.15.254 pasted "tail of parrot -t 1 t/pmc/key.t" (44 lines) at http://nopaste.snit.ch/14872
03:55 dalek r33691 | particle++ | pdd22io_part2:
03:55 dalek : [CAGE] codingstd fixups
03:55 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33691
04:01 particle allison: can you look at the last nopaste from kid51?
04:02 * kid51 must sleep
04:02 purl $kid51->sleep(8 * 3600);
04:02 particle seems that Test/Builder/Output.pir has the text of 'ok 7 ...', but fails to print it
04:02 particle maybe the buffer isn't flused properly?
04:03 particle causes kid51 to fail t/pmc/key.t test 7
04:03 particle this is trunk, btw
04:12 dalek r33692 | pmichaud++ | assign:
04:12 dalek : [rakudo]:  Match does Positional.
04:12 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33692
04:13 particle pmichaud: should i run tests on assign branch, or wait?
04:14 pmichaud particle: sure, you can run tests.  I'm down to five failing spectest files.
04:14 dalek r33693 | particle++ | pdd22io_part2:
04:14 dalek : [pdd22io] Bringing the pdd22io_part2 branch up-to-date with trunk r33691
04:14 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33693
04:15 jimmy joined #parrot
04:15 jimmy i can't open parrot.org
04:16 jimmy is there any wrong with it?
04:16 particle jimmy: works for me
04:19 jimmy_ joined #parrot
04:23 Maddingue joined #parrot
04:23 baest joined #parrot
04:35 dalek r33694 | pmichaud++ | assign:
04:35 dalek : [rakudo]:  Add dependency for "make *.t"
04:35 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33694
04:45 tetragon joined #parrot
04:53 jimmy joined #parrot
05:03 allison resolved conflicts... running tests after merge...
05:03 GeJ brace! brace! brace!
05:17 allison and... land!
05:17 dalek r33695 | allison++ | trunk:
05:17 dalek : [pdd22io] Merging the pdd22io_part2 branch into trunk for r32922 to r33687.
05:17 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33695
05:22 GeJ Please remain seated until we arrive at our parking position.
05:22 GeJ allison++
05:25 Theory joined #parrot
05:30 GeJ bonjour
05:30 purl hey, GeJ.
05:32 ff-wonko joined #parrot
05:35 Alias_ joined #parrot
05:40 dalek r33696 | allison++ | pdd22io_part2:
05:40 dalek : Removing second I/O development branch from the repository
05:40 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33696
05:41 jimmy_ joined #parrot
05:48 galf joined #parrot
06:04 rhr joined #parrot
06:10 dalek r33697 | pmichaud++ | assign:
06:10 dalek : [rakudo]:  Update list and values methods a bit.
06:10 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33697
06:12 Theory joined #parrot
06:13 allison joined #parrot
06:23 dalek r33698 | pmichaud++ | assign:
06:23 dalek : [rakudo]:  Clean up trailing spaces.
06:23 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33698
06:45 particle joined #parrot
06:51 dalek r33699 | pmichaud++ | trunk:
06:51 dalek : Merge rakudo's 'assign' branch back into trunk.
06:51 dalek : List slicing and list assignment now (mostly) work,
06:51 dalek : although we temporarily lose array element binding and
06:51 dalek : correct array lengths.
06:51 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33699
06:53 Tene rakudo: my $a; my $b; ($a, $b) = (1, 2);
06:53 polyglotbot OUTPUT[Method 'lvalue' not found for invocant of class 'PAST;Stmts'␤current instr.: 'parrot;PAST;Compiler;as_post' pc 3702 (src/PAST/Compiler.pir:940)␤called from Sub 'parrot;PAST;Compiler;post_children' pc 1828 (src/PAST/Compiler.pir:379)␤called from Sub 'parrot;PAST;Compiler;as_post' pc 2243
06:53 polyglotbot ..(src/PAST/Compiler.pir:566)␤called from Sub 'parrot;...
06:53 Tene rakudo: my $a; my $b; $a, $b = 1, 2;
06:53 polyglotbot RESULT[[1, 2]]
06:54 Tene rakudo: my $a; my $b; $a, $b = 1, 2; say $b
06:54 polyglotbot OUTPUT[␤]
06:54 Tene rakudo: my $a; my $b; $a, $b = 1, 2; say $a
06:54 polyglotbot OUTPUT[␤]
06:54 pmichaud rakudo:  my $a; my $b;  ($a, $b) = (1, 2); say $a;
06:54 polyglotbot OUTPUT[Method 'lvalue' not found for invocant of class 'PAST;Stmts'␤current instr.: 'parrot;PAST;Compiler;as_post' pc 3702 (src/PAST/Compiler.pir:940)␤called from Sub 'parrot;PAST;Compiler;post_children' pc 1828 (src/PAST/Compiler.pir:379)␤called from Sub 'parrot;PAST;Compiler;as_post' pc 2243
06:54 polyglotbot ..(src/PAST/Compiler.pir:566)␤called from Sub 'parrot;...
06:54 pmichaud hasn't updated yet, I guess.
06:55 particle rakudo: say $?VM<config><revision>
06:55 polyglotbot OUTPUT[Lexical '$?VM' not found␤current instr.: '_block11' pc 23 (EVAL_13:17)␤called from Sub 'parrot;PCT;HLLCompiler;eval' pc 892 (src/PCT/HLLCompiler.pir:508)␤called from Sub 'parrot;PCT;HLLCompiler;evalfiles' pc 1232 (src/PCT/HLLCompiler.pir:672)␤called from Sub
06:55 polyglotbot ..'parrot;PCT;HLLCompiler;command_line' pc 1408 (src/PCT/HLLCompiler.pir:760)␤calle...
06:55 Tene ... oh, right, the commit messages are in real time.
06:55 particle rakudo: say %?VM<config><revision>
06:55 polyglotbot OUTPUT[Lexical '%?VM' not found␤current instr.: '_block11' pc 23 (EVAL_13:17)␤called from Sub 'parrot;PCT;HLLCompiler;eval' pc 892 (src/PCT/HLLCompiler.pir:508)␤called from Sub 'parrot;PCT;HLLCompiler;evalfiles' pc 1232 (src/PCT/HLLCompiler.pir:672)␤called from Sub
06:55 polyglotbot ..'parrot;PCT;HLLCompiler;command_line' pc 1408 (src/PCT/HLLCompiler.pir:760)␤calle...
06:55 pmichaud rakudo:  say %*VM<config><revision>
06:55 polyglotbot OUTPUT[33698␤]
06:55 particle ah, thanks!
06:57 particle this complete_workflow.t error is driving me mad
06:57 pmichaud in pct?
06:57 particle yes
06:57 pmichaud what's the error?
06:57 purl pmichaud: Value too large for defined data type
06:57 particle the first 72 chars printed to $PM are removed
06:58 particle (line 384)
06:58 particle actually, the temp files seem to be stepping over each other in general
06:59 pmichaud rakudo:  say %*VM<config><revision>
06:59 polyglotbot OUTPUT[33698␤]
06:59 particle maybe at the top of the hour it'll update
06:59 Tene yes
07:00 pmichaud I didn't have much to do with the pct workflow tests, so I'm not really sure what the issue is.
07:00 Tene it'll start updating.
07:00 pmichaud rakudo:  say %*VM<config><revision>
07:00 polyglotbot OUTPUT[33698␤]
07:00 * pmichaud notes it's "top of the hour" now :-)
07:00 pmichaud I guess we have to wait a couple of minutes for a rebuild.
07:00 particle it still has to build! :P
07:00 Tene it updates on */5 + rebuild time
07:00 pmichaud okay
07:01 particle what's */5 in non-cron-speak?
07:01 pmichaud rakudo:  say %*VM<config><revision>
07:01 polyglotbot OUTPUT[33698␤]
07:01 pmichaud every five minutes
07:01 particle ah
07:01 pmichaud (assuming it's in the "minutes" position)
07:01 Tene Almost.  Every minute evenly divisible by 5.
07:02 pmichaud ...there are others?
07:02 Tene eh?
07:02 purl Speak up, sonny!
07:02 pmichaud on my clocks, the numbers are at 5 minute intervals... you mean there are more minutes than that?  ;-)
07:03 Tene :)
07:03 particle rakudo: say %*VM<config><revision>
07:03 polyglotbot OUTPUT[33698␤]
07:03 Tene I'm polling it in /msg
07:03 particle :)
07:03 pmichaud rakudo:  say %*VM<config><revision>
07:03 polyglotbot OUTPUT[33698␤]
07:04 particle my ($x, @y) = <1 2 3 4 5>; # will this work?
07:04 pmichaud rakduo:  loop(;;) { say %*VM<config><revision> }   # just kidding!
07:05 pmichaud I don't think rakudo understands the   my ($x, $y)   syntax yet.
07:05 pmichaud have to update the grammar slightly for that.
07:05 pmichaud rakudo:  say %*VM<config><revision>
07:05 polyglotbot OUTPUT[33698␤]
07:06 pmichaud ....it's been five minutes!
07:06 Tene I'll let you know when it's done building.
07:06 particle + build time...
07:06 pmichaud yes, but what happened to the :00 build, then?
07:06 Tene lemme confirm that it's */5
07:06 particle it's still going, i assume
07:06 jimmy rakudo: say %*VM<config><revision>
07:06 polyglotbot OUTPUT[33699␤]
07:06 jimmy ok
07:06 Tene Ah, no, */30
07:06 pmichaud yay!  jimmy wins!
07:06 jimmy :-)
07:07 Tene */5 is obviously going to be too much
07:07 particle two pair, 9s high
07:07 pmichaud rakudo:  my $x; my @y;  ($x, @y) = <1 2 3 4 5>;  say $x.perl;  say @y.perl;
07:07 polyglotbot OUTPUT["1"␤["2", "3", "4", "5"]␤]
07:07 Tene as it's 6+ minutes
07:07 pmichaud */15 or */10 ought to be okay.
07:07 pmichaud rakudo:  my $x; my @y;  ($x, @y) = 1..5;  say $x.perl;  say @y.perl;
07:07 polyglotbot OUTPUT[1␤[2, 3, 4, 5]␤]
07:08 jimmy rakudo: my $a; my $b; ($a, $b) = (1, 2); say $a;
07:08 polyglotbot OUTPUT[1␤]
07:08 Alias_ joined #parrot
07:08 particle my $x = 1; my $why = 2; ($x, $y) = ($y, $x); say $x, $y;
07:08 GeJ pmichaud++
07:08 GeJ shiny!
07:08 particle rakudo: my $x = 1; my $why = 2; ($x, $y) = ($y, $x); say $x, $y;
07:08 polyglotbot OUTPUT[Scope not found for PAST::Var '$y'␤current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (src/PCT/HLLCompiler.pir:102)␤called from Sub 'parrot;PAST;Compiler;post_children' pc 1853 (src/PAST/Compiler.pir:379)␤called from Sub 'parrot;PAST;Compiler;call' pc 4007
07:08 polyglotbot ..(src/PAST/Compiler.pir:1044)␤called from Sub 'parrot;PAST;Compiler;post_children...
07:08 particle rakudo: my $x = 1; my $y = 2; ($x, $y) = ($y, $x); say $x, $y;
07:08 polyglotbot OUTPUT[21␤]
07:08 particle stupid stinking irc client...
07:09 pmichaud rakudo:  my @y = 5..10;  say @y[5, 3, 1, 0];
07:09 polyglotbot OUTPUT[10865␤]
07:09 particle hip hip array!
07:09 Tene It's at /15 now
07:09 particle pmichaud++
07:09 Tene pmichaud++
07:10 pmichaud rakudo:  my @y = <parrot speaks your language>;  my @x = <2 3 0 1>;   say ~@y[@x];
07:10 polyglotbot OUTPUT[your language parrot speaks␤]
07:10 pmichaud okay, *now* rakudo feels like Perl.
07:11 particle damned straight!
07:11 particle hey, how's that loop refactor coming, tene?
07:11 pmichaud rakudo:  say [*] 5..10;
07:11 polyglotbot OUTPUT[151200␤]
07:11 pmichaud tene's blocked on a design from me, I think
07:11 pmichaud I'm still not sure where to put the pct prelude
07:12 particle what are the options?
07:12 purl the options are give inspections more time, or war.  no one has given any other.
07:12 Tene particle: I need to finish adding exception handlers to blocks in PCT, then I'll be blocking on a couple of things from pmichaud.  If I don't get a design from him, I'll sketch something myself and let him ask for changes from there.
07:13 pmichaud we need a way in PAST to specify that various include files get loaded
07:14 pmichaud it doesn't seem right to use PAST::Op nodes for it, though.
07:14 * pmichaud hopes we don't get another tornado warning tonight.
07:15 Tene particle: the EH stuff I'm doing will make CONTROL and CATCH blocks work well in rakudo
07:15 Zaba joined #parrot
07:15 jimmy hmm; there is 3 lvalue method in node.pir, how to call them?
07:16 pmichaud one is for PAST::Node
07:16 pmichaud one is for PAST::Val
07:16 pmichaud if there's another, it should probably be removed.
07:16 pmichaud (I might've forgotten to remove the PAST::Var version.)
07:16 jimmy pmichaud++
07:17 Tene pmichaud: do *you* remember what "exceptions, debugging, exception types" means on the roadmap?
07:17 pmichaud Tene: in Rakudo's roadmap?  Yes, it meant (1) identifying the exception classes and (2) implementing CATCH, CONTROL, BEGIN, INIT, ENTER, LEAVE, etc.
07:17 pmichaud at least, I think that's what it meant.
07:17 Tene Ah.
07:18 particle modify that description if you get a chance
07:18 pmichaud I'm rewriting the roadmap completely.
07:18 Tene ... has anyone tried interactive rakudo since the IO merge?
07:18 pmichaud not I.
07:18 Tene 'cos i get Method 'set_readline_interactive' not found for invocant of class 'FileHandle'
07:18 particle oh, sorry *rakudo* roadmap...
07:20 pmichaud did we lose readline capabilities?
07:20 pmichaud looks like "yes"
07:20 Tene the set_readline_interactive method now only exists as calls in HLLCompiler.pir and lua.pir
07:21 Tene filehandle.pmc has a readline() method, looks like.
07:21 Tene that reads a line, though
07:21 pmichaud but that doesn't use the interactive readline lib.... right
07:21 particle t/pmc/parrotio.t lists readline as nyi
07:22 pmichaud that's a disappointing loss -- I use that all the time in rakudo testing and development.
07:22 particle yeah, me too
07:22 * Tene also
07:22 particle worth a listmail
07:22 particle hopefully allison can get it in before release
07:22 Tene Also, *some* sort of interactive mode needs to be available before release.
07:22 Tene even without readline.
07:22 * Tene sleep. &
07:23 particle like... polyglotbot?
07:23 pmichaud we can turn off the interactive readline -- that should restore the ability to at least read from stdin.
07:24 uniejo joined #parrot
07:25 allison ah, will work on that tomorrow. would it be good enough to have a separate interactive readline method?
07:25 pmichaud works for me, I think
07:26 particle pmichaud: can we do a crossloop again?
07:26 pmichaud part of the challenge is that not every system has the readline devel libraries installed.
07:26 particle configure probes for readline
07:26 pmichaud the previous implementation was nice in that .'readline' dtrt even if the library wasn't present.
07:26 bacek_ pmichaud: src/classes/IO broken after IO merge. Method 'slurp' not found for invocant of class 'FileHandle'
07:27 pmichaud bacek_: that's very likely -- I don't know that we had any active tests for .slurp
07:27 particle allison: slurp('') becomes readall() correct?
07:28 bacek_ pmichaud: it should be 'readall'
07:29 particle committed.
07:29 purl The chicken is involved, but the pig is *committed*.
07:29 pmichaud we obviously need a S16 test.
07:30 moritz many of them.
07:30 purl many of them are as you no doubt know, drunken fuckwits
07:30 dalek r33700 | particle++ | trunk:
07:30 dalek : [rakudo] slurp('') becomes readall(); bacek++
07:30 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33700
07:30 dalek r33701 | pmichaud++ | trunk:
07:30 dalek : [pct]: workaround for missing interactive readline in FileHandle
07:30 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33701
07:30 chromatic joined #parrot
07:30 pmichaud okay, we at least have an interactive mode working again, even if it doesn't have history.
07:30 * bacek_ found S16-unfiled/slurp.t
07:31 pmichaud particle: did you still want to do the crossloop?  I'm getting a bit tired on this end
07:32 particle yeah, but i'm getting tired too
07:32 pmichaud so I don't know how much longer I'll be lucid
07:32 particle tomorrow?
07:32 purl o/~ the sun will come out.. tomorrow.. o/~ or the National Day of Slayer, and the National Emo Kid Beatdown day, by http://www.nationaldayofslayer.org/ and http://community.livejourna​l.com/wtf_inc/2805832.html or tomorrow and tomorrow and tomorrow creeps in this petty pace or mañana or free for all or another day
07:32 Alias_ When's the next Parrot release due?
07:32 particle tuesday next
07:32 Alias_ OK
07:32 pmichaud 2008.12.16
07:32 Alias_ So, fancy co-ordinating?
07:32 particle sure!
07:32 Alias_ I can do the Vanilla release at the same time, and bundle into the announce
07:33 leto joined #parrot
07:33 particle Alias_: it's built with strawberry perl, right?
07:33 pmichaud I was looking for web-based announcements of vanilla but couldn't find any.... am I just looking in the wrong place?
07:33 particle i want to make sure we're building with that during the week, to make sure things go smooth come release-time
07:34 Alias_ Yes, it uses Strawberry to build Parrot, and then discards strawberry
07:34 particle fab
07:34 Hadi joined #parrot
07:34 leto hola
07:34 Alias_ pmichaud: The version I gave to Larry at OSDC has some issues, I wanted to wait a little before announcing
07:34 pmichaud okay.
07:34 Alias_ But that would be the (on my journal) "I haz another Sekrit" bit
07:35 pmichaud I'm about to post a few "if you want to learn Perl 6, here are some things we could use" items
07:35 particle Alias_: we'd love to have access to ms build farm for parrot platform testing. any timeframe?
07:35 pmichaud I was going to reference a vanilla release announcement, but I can skip that
07:35 particle i've got win32/64, but allison could use it
07:35 Alias_ particle: Servers are already up and running, but the MOU is hung up in Microsoft legal atm
07:36 Alias_ All the techies are keen to get it going...
07:36 Alias_ And I can't get the keys to the servers until the document is signed properly
07:36 particle ok, that's good
07:36 Alias_ So, one question about the distro
07:36 particle no timeframe, but only one real hurdle, seems like
07:36 Hadi left #parrot
07:37 bacek_ 'readall' is not replacement for 'slurp'... It returns content as one line. Or S16/slurp.t is wrong
07:37 Alias_ From what I can tell, if I really wanted to I could strip the entire distro out to just perl6.exe and libparrot.dll
07:37 Alias_ Should I leave anything else in?
07:37 particle runtime/
07:37 Alias_ Are there core modules or anything to add in?
07:37 Alias_ Should I leave in the C layer?
07:37 Alias_ Are there Configure.pl flags to remove the debugging/etc stuff?
07:37 particle yes, --optimize etc, see Configure.pl --help
07:38 Alias_ ok
07:38 pmichaud anyway, the december parrot release looks like a good time to be shipping rakudo stuff, since we finally have list assignment and array slices working (and by then will have hash slices as well)
07:38 Alias_ I'll kick off some new builds and see how far I get
07:38 pmichaud rakudo definitely depends on various .pbc files in runtime
07:38 Alias_ It does?
07:38 purl if you say so...
07:38 AndyA joined #parrot
07:38 particle it does
07:38 pmichaud or that they are at least accessible via the load_bytecode op.
07:38 Alias_ I could fire up perl6.exe and didn't see any problems
07:39 pmichaud right now perl6.exe hardcodes access to the .pbc from the build directory, iirc
07:39 * Alias_ shrugs
07:39 Alias_ I'll give you a copy of the zip once I'm happy with what I have
07:39 Alias_ And you can make recommendations of the next step
07:39 pmichaud okay, excellent.
07:39 Alias_ Or you can have commit to Perl::Dist::Parrot
07:39 Alias_ Or both
07:40 pmichaud I may start setting up a strawberry perl devel environment and give P::D::P a try.  I'm curious to see how it all works
07:40 Alias_ Make sure you install the SVN versions of Perl::Dist and Perl::Dist::Strawberry
07:40 pmichaud will do.
07:41 particle Alias_: where's the repo?
07:41 purl rumour has it the repo is a repository or repo.or.cz/w/repo.git
07:42 particle i don't see it in META.yml
07:42 Alias_ svn.ali.as
07:42 purl svn.ali.as is, like, on a bitemark virtual donated by sheriff
07:42 particle thanks
07:44 Alias_ It's a little Jenga'ish
07:44 mberends joined #parrot
07:47 moritz pmichaud: should I take care of unfudging some tests for rakudo?
07:47 pmichaud moritz: please do
07:48 particle yay
07:48 particle bedward &
07:49 pmichaud oh!  I just realized that I didn't implement []
07:49 pmichaud rakudo:  my @a = 1..5;  say @a[].perl;
07:49 polyglotbot OUTPUT[[]␤]
07:50 nopaste "bacek" at 211.29.157.151 pasted "Implementation of S16's "lines" method" (72 lines) at http://nopaste.snit.ch/14874
07:50 bacek_ pmichaud, moritz, can you take a look? (I'll change S16/slurp.t to use it instead of slurp)
07:51 jimmy what does unfudging mean?
07:52 moritz jimmy: fudge markers prevent us from running tests that would die
07:52 moritz jimmy: unfudging means removing the fudge markers
07:53 jimmy thanks. moritz
07:53 pmichaud there's been strong discussion about eliminating the Str forms of many IO methods
07:54 pmichaud so that one would do    $str.io.lines   instead of $str.lines
07:54 pmichaud or maybe that would be str.IO, as a coercion.
07:54 moritz I like that
07:55 bacek_ pmichaud: It's not $str.lines. It's multi lines(Str)
07:55 pmichaud bacek_:  yes, that's the one I'm thinking might disappear
07:55 bacek_ But I prefer not to have this method
07:55 pmichaud right -- lots of us aren't comfortable with the idea of treating every string as a potential filename.
07:56 bacek_ open($str).lines
07:56 pmichaud so it would be  lines($str.IO)  or lines(IO($str))  or str.IO.lines   or ... :-)
07:56 moritz it feels risky, just like having open() accepting URLs as in PHP
07:57 pmichaud bacek's patch is okay to apply if anyone wants to do that (I'm too tired to trust my commits right now)
07:57 moritz I'll take a look while autounfudge is running...
07:57 bacek_ Is =$fh works in rakudo? (And what does it mean?)
07:58 pmichaud prefix:<=> is the iterator operator
07:58 pmichaud so  =$fh means "iterate over this filehandle"
07:59 moritz bacek_: patching file src/classes/IO.pir
07:59 moritz Hunk #2 FAILED at 104.
07:59 bacek_ moritz: interesting...
07:59 pmichaud make sure to get that last blank line
07:59 pmichaud (in the patch)
07:59 bacek_ after '=eof
07:59 moritz I did
08:01 bacek_ bacek@haste:~/src/parrot/languages/perl6$ patch -p3 < lines.patch
08:01 bacek_ patching file src/builtins/io.pir
08:01 bacek_ patching file src/classes/IO.pir
08:01 bacek_ bacek@haste:~/src/parrot/languages/perl6$ git log|grep svn|head -1
08:01 bacek_ git-svn-id: http://svn.perl.org/parrot/trunk@33699 d31e2699-5ff4-0310-a27c-f18f2fbe73fe
08:01 bacek_ hmm...
08:01 bacek_ it should just work...
08:01 moritz I'm at 33700, don't know if that makes a difference
08:02 pmichaud yes, since particle++ just committed a change
08:02 pmichaud (to IO.pir)
08:02 bacek_ yes, it makes :)
08:04 pmichaud I miss my interactive readline already -- now it's a pain to re-type things
08:05 Zaba joined #parrot
08:05 moritz where did it go?
08:05 nopaste "bacek" at 211.29.157.151 pasted "Updated lines patch" (67 lines) at http://nopaste.snit.ch/14875
08:05 pmichaud the new IO modules don't support it yet
08:07 * bacek_ can't find implementation for prefix:<=>...
08:08 Alias_ autodie also is applicable lexically
08:08 bacek_ Ah. builtins/misc.pir
08:08 Alias_ And has a few secondary improvements
08:09 moritz Alias_: wrongn chan ;-)
08:09 Alias_ dammit :)
08:09 Alias_ Stupid bitchx
08:12 bacek_ moritz: in IO.pir in ".sub 'item'" readline should be without empty string param
08:12 bacek_ wanna patch for it? :)
08:12 moritz bacek_: sure... but could you send it to RT please? I'm in a hurry right now, will take a look later
08:13 bacek_ moritz: ok.
08:15 Zaba joined #parrot
08:16 bacek_ afk # going home.
08:22 pmichaud sleep time here -- be back in a few hrs
08:23 dalek r33702 | pmichaud++ | trunk:
08:23 dalek : [rakudo]:  Add the @a[] slice (slice with no arguments).
08:23 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33702
08:31 Zaba joined #parrot
08:34 cotto joined #parrot
08:44 Hadi joined #parrot
08:45 Hadi left #parrot
08:53 iblechbot joined #parrot
09:00 gaz joined #parrot
09:52 bacek joined #parrot
09:54 Zaba joined #parrot
09:59 samlh joined #parrot
10:01 tomyan joined #parrot
10:09 Hadi1 joined #parrot
10:10 Hadi1 left #parrot
10:16 elmex joined #parrot
10:28 blm joined #parrot
10:38 kj joined #parrot
10:44 bacek pmichaud: In latest Rakudo's Makefile 'all' doesn't depends on Test.pir. Is it intended?
10:50 dalek r33703 | fperrad++ | trunk:
10:50 dalek : [pdd22io] Lisp
10:50 dalek : - replace opcode pioctl by buffer_type method
10:50 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33703
10:54 ff-wonko joined #parrot
10:54 ff-wonko joined #parrot
10:57 alvar joined #parrot
10:57 Ademan joined #parrot
11:12 bacek msg moritz My patches for IO and Test.pm #61210, #61212, #61214, #60216
11:12 purl Message for moritz stored.
11:13 bacek rakudo: say ', '.join(61212,61214)
11:13 polyglotbot OUTPUT[too many arguments passed (3) - at most 2 params expected␤current instr.: 'parrot;Any;join' pc 8741 (src/builtins/any-list.pir:72)␤called from Sub '_block11' pc 37 (EVAL_13:19)␤called from Sub 'parrot;PCT;HLLCompiler;eval' pc 892 (src/PCT/HLLCompiler.pir:508)␤called from Sub
11:13 polyglotbot ..'parrot;PCT;HLLCompiler;evalfiles' pc 1224 (src/PCT/HLLCompiler....
11:14 bacek rakudo: say 1...4 :by(2)
11:14 polyglotbot OUTPUT[Statement not terminated properly at line 1, near ":by(2)"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤called from Sub 'parrot;Perl6;Grammar;eat_terminator' pc 26718 (src/gen_grammar.pir:3363)␤called from Sub 'parrot;Perl6;Grammar;statementlist' pc
11:14 polyglotbot ..25374 (src/gen_grammar.pir:2830)␤called from Sub...
11:17 bacek rakudo: say map { $^a * 2 }, 1..4
11:17 polyglotbot OUTPUT[2468␤]
11:17 bacek rakudo: say map { $^a * 2 + 61210}, 0..3
11:17 polyglotbot OUTPUT[61210612126121461216␤]
11:17 bacek rakudo: say map { '#' ~ $^a * 2 + 61210}, 0..3
11:18 polyglotbot OUTPUT[#61210#61212#61214#61216␤]
11:18 bacek rakudo: say ~map { '#' ~ $^a * 2 + 61210}, 0..3
11:18 polyglotbot OUTPUT[#61210 #61212 #61214 #61216␤]
11:18 bacek rakudo: say 'msg moritz '~map { '#' ~ $^a * 2 + 61210}, 0..3
11:18 polyglotbot OUTPUT[msg moritz #61210 #61212 #61214 #61216␤]
11:18 bacek heh :)
11:24 jonathan morning all :-)
11:25 bacek jonathan: it's 10:18. PM. Morning????
11:25 kj bacek: it's 11:25 here :-)
11:25 kj AM
11:25 bacek kj: hello from FUTURE! :)
11:26 kj bacek: Greeting from the Past
11:26 szbalint good afternoon
11:29 bacek kj: one of doesn't have proper ntpd...
11:30 kj what's ntpd?
11:30 purl ntpd is a bitch
11:30 kj ha ha
11:31 cognominal vu dans un document sur l'iphone à  propos des pools de ressouce mémoire :  http://blog.360dgrs.nl/wp-conten​t/uploads/crowded-pool-japan.jpg
11:32 cognominal le japonais est un animal très sociable
11:32 bacek kj: what is you localtime now?
11:33 kj bacek: 11:33 AM
11:33 bacek it was mine...
11:33 kj (ireland)
11:33 cognominal oops wrong channel again
11:33 bacek 10:33 here.
11:34 * bacek lived in own Past in everyone else Future
11:35 cognominal if parrotcoders  were moving at relativist speed, I would say that absolute time is meaningless
11:36 bacek cognominal: OTOH we became heavier on such speed...
11:38 jonathan Wow, it was a busy night...slices, IO... :-)
11:39 tomyan joined #parrot
11:43 bacek jonathan: And 4 patches for IO related stuff to review :)
11:47 Hadi joined #parrot
11:48 Hadi left #parrot
11:50 jonathan bacek: Looking at those now. :-)
11:51 bacek jonathan: thanks. They are pretty trivial. I'm just not sure about 'infix:=(List,IOIterator)'. But anyway, it contains FIXME to remove after implementing lazy-lists
11:59 Lorn joined #parrot
12:05 Theory joined #parrot
12:10 jimmy joined #parrot
12:12 jimmy seen WhiteKnight
12:12 purl WhiteKnight was last seen on #parrot 10 hours, 1 minutes and 1 seconds ago, saying: it doesn't, but we could fake something together
12:15 dalek r33704 | jonathan++ | trunk:
12:15 dalek : [rakudo] Update calls to readline for updated Parrot IO. Patch courtesy of bacek++.
12:15 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33704
12:31 dalek r33705 | jonathan++ | trunk:
12:31 dalek : [rakudo] Implement lines method on IO objects and export it. Patch courtesy of bacek++.
12:31 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33705
12:33 jonathan bacek: Applied those two - think overriding infix:= is wrong approach in the third one, let me look at that more closely...
12:33 kid51 joined #parrot
12:35 jimmy when I want  to create new threaded interp, use:  new P2, "ParrotThread" , I want to why not use: new P2, "Thread"
12:39 ffwonko joined #parrot
13:00 pmichaud good morning
13:01 jonathan morning
13:07 kid51 It appears that the problem I reported last night in t/pmc/key.t has cleared up.
13:08 kid51 http://smolder.plusthree.com/app/p​ublic_projects/report_details/8487 reports all tests passing on Linux.
13:09 Wknight8111 joined #parrot
13:19 * Coke rolls a 0 on his save versus regexp.
13:23 stockwellb joined #parrot
13:31 Coke (readline) the previous implementation behaved differently depending on whether or not readline was there. (outputting the prompt depending on the readline lib.)
13:44 Coke msg jimmy ParrotFoo vs. Foo ; we have a lot of inconsistent naming practices.
13:44 purl Message for jimmy stored.
13:49 jimmy joined #parrot
13:49 jimmy seen fperrap
13:49 purl I haven't seen 'fperrap', jimmy
13:50 iblechbot joined #parrot
13:51 jimmy how to see purl msg for me?
13:51 pmichaud jimmy:  /msg purl messages
13:52 dalek r33706 | pmichaud++ | trunk:
13:52 dalek : [rakudo]: spectest-progress.csv update: 236 files, 4805 tests, 13 failing
13:52 dalek : Failure summary:
13:52 dalek :     S16-filehandles/io_in_while_loops.t aborted 13 test(s)
13:52 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33706
13:52 dalek r33707 | jonathan++ | trunk:
13:52 dalek : [rakudo] Make chomp Win32-aware.
13:52 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33707
13:52 jimmy thanks, pmichaud
13:53 dalek r33708 | jonathan++ | trunk:
13:53 dalek : [rakudo] Make for =$fh { ... } style loops work.
13:53 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33708
13:53 jimmy seen fperrad
13:53 purl I haven't seen 'fperrad', jimmy
13:54 jimmy who is fpeerad?
13:54 moritz a parrot hacker :-)
13:54 jonathan pmichaud: Did we used to run more than just 1 IO tests, but removed them in the merge?
13:54 pmichaud we used to run 2.
13:55 pmichaud io_in_while_loops was removed in merge
13:55 jimmy moritz: seems he had not been  here ever.
13:55 dalek r33709 | jonathan++ | trunk:
13:55 dalek : [rakudo] Add an IO test that we now pass completely to spectest.
13:55 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33709
13:55 kj jimmy: fperrad maintains languages/lua
13:56 moritz purl, fperrad?
13:56 purl hmmm... fperrad is mailto:francois.perrad@gadz.org
13:56 pmichaud ...something is wrong with IOIterator (and Range) if we have to test for them specially in List.pir
13:56 jonathan pmichaud: Yeah, they should both be/do iterator.
13:56 jimmy hmm, WhiteKnight is ok too.
13:56 kj jimmy: what about me?? :-P
13:56 pmichaud I don't think 'iterator' is the role I'm looking for, though.
13:56 jonathan But I don't want to do anything on that until we have an iterator spec.
13:56 pmichaud it's not the fact that they do iterator that's important there
13:57 jimmy kj: hmm, i want to find the author of /docs/book/
13:57 kj that's Wknight8111
13:57 pmichaud I guess what I'm wanting to check is that they aren't scalar
13:57 kj aka WhiteKnight, so yes, then you do need him ;-)
13:57 moritz the original author is allison though
13:57 jimmy kj: ah
13:57 kj ... and Dan and Leo
13:57 Wknight8111 Jimmy, you interested in the book?
13:57 pmichaud in the sense that Integer, String, Float, etc are scalar
13:58 ruoso joined #parrot
13:58 jonathan pmichaud: If there's a general check that does work for both, then it can happily go in.
13:58 jimmy yes, but some was not understand ,and some typo.
13:58 jimmy yes, but some was not understanding ,and some typo.
14:00 jimmy Wknight8111: line 377 under ch03. accomodated should be ccommodated.
14:00 jimmy and where is imcc/docs ?
14:00 jimmy and immc/t
14:00 Wknight8111 ccommodated is not a word
14:01 Wknight8111 at least, not one that I'm familiar with
14:01 jimmy accommodated
14:01 Wknight8111 ah, okay
14:01 PerlJam Wknight8111: sounds like a case for running a spell checker  ;)
14:01 jimmy ferrad fixed it. but still wrong ;)
14:01 Wknight8111 the editor I've been using to write the book doesn't have spellcheck, so it's amazing things have turned out so well as they have
14:02 PerlJam jimmy: you seem to have trouble holding on to your letters; you keep dropping them.
14:02 * moritz recommnds gvim :)
14:02 PerlJam Wknight8111: what editor?
14:02 purl i heard editor was premiere
14:02 Wknight8111 medit
14:02 * Alias_ recommends Padre :)
14:02 Wknight8111 haha, yes. I should get in on Padre
14:02 jimmy Wknight8111: where is imcc/docs and immc/t ?
14:03 Wknight8111 I like my editors to be very lighweight, and I don't do keybindings
14:03 kj jimmy: docs/imcc ;-)
14:03 Alias_ Give it one or two more releases, once we have Parrot/Perl6 support in the editor
14:03 PerlJam Alias_: does it do vi(m) key bindings yet?
14:03 Alias_ PerlJam: Partly, but it already has a vim command line
14:03 kj jimmy: t/compilers/imcc
14:03 jimmy line 28 and line 32 under ch03
14:03 Alias_ Pops up when you hit colon when not in insert mode :)
14:03 Alias_ Mostly experimental still though
14:03 PerlJam Alias_: have you guys thought about adding gobby-like functionality to padre?
14:04 Alias_ But Gabor is working on it, and he's a vim guy, so it should progress reasonably
14:04 Alias_ PerlJam: We're still working through the basics atm... any form of remote connection is not on the cards atm
14:04 jimmy imcc/docs means docs/imcc ? it was known by all but me?
14:04 Alias_ PerlJam: Project support, configuration rewrite, etc etc first
14:04 Alias_ PerlJam: It's clearly a good thing to add though
14:04 moritz jimmy: if you think something's wrong, just send a patch
14:05 PerlJam Alias_: yes, yes, of course.  I just thought I'd mention it.  :)
14:05 Alias_ We are MUCH closer to the point where you could implement it as a plugin though
14:05 Alias_ There's already hooks to let plugins take over the editor widget
14:05 Alias_ And we have a task/thread manager, courtesy tsee
14:06 Alias_ So in principle, some of the things needed are in place
14:06 jimmy moritz: I am here, contact WKnight and talking here was realtime
14:06 moritz afk ^
14:07 kj jimmy: imcc/docs: I think you were looking for docs of imcc? they're in docs/imcc
14:08 jimmy WKnight8111: Is it wrong described by using'imcc/docs' in line 28 under  ch03?
14:08 jimmy and immc/t
14:08 Wknight8111 yes, those need to be updated
14:08 Wknight8111 send me a patch, and I'll apply it
14:09 jimmy I am layman and I just want to check it.
14:11 jimmy I think I will create a patch for it.
14:11 PerlJam jimmy++
14:11 iblechbot joined #parrot
14:12 stockwellb left #parrot
14:13 dalek r33710 | jonathan++ | trunk:
14:13 dalek : [rakudo] Implement auto-chomping, as mentioned in S29.
14:13 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33710
14:13 jimmy thanks pj. I am reading all over these docs and trying to fix any bugs as I know.
14:13 gryphon joined #parrot
14:18 Wknight8111 jimmy++
14:19 jonathan Phew. Down to 180 tickets.
14:21 Coke for rakudo? think of each spec test that isn't run by default as a new ticket!
14:21 jhorwitz joined #parrot
14:21 pmichaud we try to keep tickets for "active/ripe issues", as opposed to "everything we haven't done yet".  :-)
14:22 pmichaud so, active means "bugged someone enough to file a ticket for it"
14:23 jonathan Aye. It'd get rather unmanagable otherwise.
14:24 jonathan Just closed a couple that we have fixed, and even have tests for that we run in make spectest, but hadn't closed the tickets.
14:24 pmichaud yes, I didn't close tickets related to list assignment or array slicing yet
14:24 pmichaud I'm still cleaning up a few other things
14:24 jonathan I've not closed any relating to that.
14:25 jonathan There is one about making Whatever work with slicing.
14:25 pmichaud we're not far from being able to make that work, but it's a low priority for me
14:25 pmichaud we really need to get some class and role refactors in place, as well as parameters
14:25 ffwonko joined #parrot
14:26 jonathan OK. I may do it later for fun/as a way of getting to know the new slicing code. :-)
14:26 jonathan class and role refactors as in, to the built in classes, or to classes and roles themselves?
14:26 pmichaud to the built in classes
14:26 jonathan Aye.
14:26 pmichaud some to classes and roles themselves (action.pm generation), but that comes after parameters
14:26 jonathan I saw you added Positional.
14:26 pmichaud I'm doing Associative now.
14:27 jonathan Great.
14:27 Zaba joined #parrot
14:39 PacoLinux joined #parrot
14:55 dalek r33711 | infinoid++ | trunk:
14:55 dalek : [ports] Some fixes for "make rpm" and parrot.spec. (Gerd Pokorra, RT #61208)
14:55 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33711
14:57 pmichaud I'm getting spectet failures in trunk...
14:57 pmichaud t/spec/S16-io/basic-open.t                9    4  44.44%  4-5 8-9
14:57 pmichaud *spectest
14:57 jonathan That's odd.
14:58 pmichaud rebuilding and trying again
14:58 jonathan May be platform specific stuff... :-|
14:59 jonathan pmichaud: All pass here with no local (IO related) patches.
15:03 AndyA joined #parrot
15:04 Andy joined #parrot
15:05 pmichaud t/spec/S16-io/basic-open.t                9    4  44.44%  4-5 8-9
15:05 pmichaud trunk, head, no local patches
15:06 jonathan OK, those are the ones that rely on chomping to work.
15:06 nopaste "pmichaud" at 72.181.176.220 pasted "basic-open.t results" (12 lines) at http://nopaste.snit.ch/14877
15:08 jonathan Can you stick in some say statements to work out exactly what @lines[0] and @lines[2] are ending up being?
15:08 pmichaud btw, it's okay to just do   'chomp'(whatever)   instead of the get_hll_global
15:08 jonathan If you end up with a method chomp in that class, it ends up calling the wrong one.
15:08 jonathan I know we likely won't in this case, but I'm just trying to be consistent now...
15:08 pmichaud (1) that will change soon.
15:08 jonathan Have fixed a few things along those lines.
15:09 pmichaud (2) that can be fixed by :anon on the method.
15:09 pmichaud anyway, not a biggie
15:09 Coke what if it's a user visible chomp addition?
15:09 pmichaud it only impact these if they install 'chomp' globally.
15:09 jonathan class IO is also { sub chomp() { say "OH HAH" } }
15:10 pmichaud I would expect it to adjust 'chomp' in that case.
15:10 jonathan ?
15:10 jonathan Oh. :-|
15:10 Coke ?
15:10 jonathan I wouldn't.
15:10 jonathan I'd expect us to have to override the &*chomp if we wanted such things.
15:11 pmichaud clearly if we start sticking functions into a namespace, we affect what other things in that namespace do.
15:11 jonathan Yes, true.
15:13 Coke I think that would depend on if something like chomp was defined as overridable or not.
15:13 pmichaud in Perl 6, everything is overridable.
15:13 pmichaud or perhaps "nearly everything"
15:13 Coke yes, but it shouldn't be accidentally so.
15:14 pmichaud ...accidentally so?  It would be hard to be accidental in this case.
15:14 Coke if I call something chomp and expect it to only be visible from that class, i wouldn't expect other methods in that class that called chomp under the covers to change their behavior.
15:14 jonathan In the "by sticking a sub in", sure, that's not accidental. If a chomp method got called, that's more of a problem.
15:15 jonathan But if they're to become :anon...
15:15 pmichaud right.  Parrot is currently not doing the right thing in that case.
15:15 pmichaud That's supposed to change in one week.
15:15 pmichaud Coke: if you declare a class that has a 'chomp' sub and other methods in the class that use 'chomp', we expect those methods to use the (locally defined) chomp, yes?
15:16 Coke if I've written the entire class? yes.
15:16 pmichaud okay
15:16 Coke if I'm overriding the behavior of a perl6 builtin class who, in PIR, is calling chomp? probably not.
15:16 pmichaud defining a chomp sub in a new class doesn't affect what is called by calls to chomp in other classes
15:17 pmichaud i.e., if a method in the IO class calls "chomp", defining a sub "chomp" in some other class doesn't change what the IO method does.
15:18 Coke Jonathan's example was adding a method to the IO class, no?
15:18 pmichaud sure, but in that case I'm explicitly modifying the IO class
15:18 Coke (I agree that adding 'chomp' to IO2 shouldn't affect IO at all.)
15:18 pmichaud so that it's exactly as if that sub had been in the definition in the first place
15:19 pmichaud so yes, I would expect that any methods in IO that call 'chomp' would use the new definition I've just stuck in there.
15:19 Coke I would expect you to document explicitly what is overridable in that fashion.
15:20 pmichaud if someone is modifying someone else's class in this way, then yes weird things can happen.
15:20 Coke (that a second place after "don't do that.")
15:20 pmichaud but it's also been thus in Perl
15:20 PerlJam Coke: you want there to be a barrier between perl6-methods and pir-methods?  (i.e., so that you can't override pir-methods without some syntactic marker)
15:20 pmichaud s/also/always/
15:20 Coke See, I find this very similar to the HLL discussion; "don't do that, it hoits."
15:20 PerlJam methods of the same class I mean
15:20 Coke PerlJam: not quite what I'm saying, no.
15:21 nopaste "pmichaud" at 72.181.176.220 pasted "basic-open.t results #2 (for jonathan, with debugging)" (63 lines) at http://nopaste.snit.ch/14878
15:21 Coke if IO's "frob" method is written in PIR, you have no easy way at the perl6 level to know that when you override 'chomp', you're changing the behavior that code.
15:21 pmichaud that's true even for methods written in P6
15:22 Coke pmichaud: you can look at the source if it's p6.
15:22 pmichaud ....unless it's been compiled to bytecode
15:23 PerlJam Coke: so, would documentation suffice for you?
15:24 PerlJam Coke: "frob calls chomp, so if you overrise chomp, you affect frob"
15:24 PerlJam s/rise/ride/
15:24 pmichaud I think that's highly unrealistic, though -- to document every function that is called by every builtin.
15:24 Coke which is why I'd rather it didn't work your way. =-)
15:25 pmichaud then get @Larry to change the spec, if that's the case.
15:25 Coke at least for core perl6. module authors can do, of course, whatever they like.
15:25 PerlJam pm: I agree.  But I also see the action-at-a-distancey thing and I don't like it worse.
15:25 pmichaud how is:    class IO is also { ... }     "action at a distance"
15:25 pmichaud ?
15:25 Coke I'm sorry, there's a spec about writing things in PIR?
15:25 Coke i thought that was an implementation detail.
15:25 pmichaud I'm explicitly mucking with the internals of a builtin class.
15:25 pmichaud Coke: you're making a PIR versus P6 distinction that I'm not.
15:26 pmichaud I'm saying that if the PIR methods were written in P6, then the behavior we're getting from "is also" is the one that is required by the spec.
15:26 pmichaud the fact that they're written in PIR is irrelevant.
15:26 Coke pmichaud: it's important. let's say some other implementation of IO doesn't call the "method if it exists, but global otherwise" version of chomp, but just calls the global?
15:26 PerlJam So, a general "there be dragons here" is all we get?
15:26 Coke then you have platform dependant behavior based on user level code.
15:27 pmichaud ...can we distinguish "method" from "sub", please?
15:27 pmichaud and the platform-dependent behavior is still unrelated to the fact that we wrote this implementation in PIR
15:27 Coke you could write it in tcl for all I care. =-)
15:28 pmichaud let's say that kp6's implementation of IO doesn't call the chomp function, but rakudo does.   Then we get platform-dependent behavior based on user level code.
15:29 pmichaud the only way around that is to completely spec the definition of each builtin method
15:29 pmichaud i.e., to make what they call and/or do not call part of the spec.
15:30 PerlJam Or make sure there is very loose coupling between intra-class methods and document the "exceptions"
15:30 PerlJam (assuming that's even possible)
15:30 pmichaud or.... to somehow say that "builtin methods are immune from such things"... but it's already been explicitly decided that the "builtins" don't really have a special status over other modules.
15:32 pmichaud jonathan: hmmmmm, for some reason IO.pir didn't update in my working copy.
15:32 pmichaud okay, basic-open.t passes now.  Sorry for the false alarm.
15:32 jonathan pmichaud: Ah, phew!
15:32 jonathan No worries.
15:33 jonathan pmichaud: I've got reduction operators for the chaining ones working.
15:33 jonathan [<]
15:33 jonathan and co
15:33 Alias_ jonathon: What happens for factorial :)
15:34 jonathan Alias_: Hmm?
15:34 jonathan [*] 1..10 # is 10 factorial, but that already worked
15:34 jonathan Thanks to pmichaud++
15:35 lathos Mmm, APL.
15:35 pmichaud I guess the chain operators need a special reduction function?
15:36 jonathan pmichaud: Yes.
15:36 jonathan I pondered if we could get away with that, but it seems not.
15:36 jonathan Ah, we can't do [=] right because it's right-assoc.
15:36 jonathan OK, that can wait until we do this "for real" with LTM. :-)
15:36 pmichaud yeah, I'm thinking likely no.  How does that impact gen_metaop?
15:37 jonathan It gets a few change
15:37 jonathan *chagnes
15:37 jonathan Added a third column where you specify what kinda op it is
15:37 pmichaud okay, works for me
15:37 jonathan So that we know not to generate === but to generate [==]
15:38 jonathan (that is, = prefix for == comparrison op...)
15:38 moritz and [===] :-)
15:38 jonathan Ooh, I didn't do that one.
15:38 jonathan Forgot we had implemented it.
15:38 * jonathan adds
15:38 moritz and [=:=]
15:40 jonathan Do we have that in Rakudo?
15:40 particle yes
15:40 jonathan Aha.
15:40 dalek r33712 | fperrad++ | trunk:
15:40 dalek : [Lua] io
15:40 dalek : - implement file:setvbuf, with FileHandle PMC
15:40 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33712
15:40 particle i think i wrote that last month or so
15:40 jonathan Cool
15:41 * jonathan tries to work out what [+] is...
15:42 jonathan ah, found it
15:42 * jonathan passes on that for now
15:43 pmichaud agreed.  I'd like to focus a bit more on the "useful" features of Perl 6 for the time being.  Leave the metas for when we need them.
15:43 jonathan Well, [+] is cool to have and useful.
15:43 jonathan But [\+] is rather...well...less commonly useful.
15:44 pmichaud yes, which is why I implemented [+]
15:44 jonathan *nod*
15:44 jonathan Yeah, I have no plans to do [\...]
15:44 particle do i need to look up \+?
15:44 jonathan Yes :-)
15:44 particle ah, [\...].
15:44 pmichaud it's [\+], I think.
15:44 jonathan Indeed
15:44 jonathan I'll do hypers, or at least infix ones.
15:44 jonathan And then leave it at that.
15:45 moritz [\...] returns a list of intermediate results from the evaluation of op ...
15:45 pmichaud yes, I would just do the double-sided infixes for now
15:45 pmichaud otherwise we start overloading the .pbc with a lot of functions
15:45 Alias_ jonathon: Well, 10 factorial is one thing... but isn't it a small step from 10 to 30...
15:45 pmichaud rakudo:  say [*] 1..30;
15:45 polyglotbot OUTPUT[2.65252859812191e+32␤]
15:46 pmichaud ENOBIGINT
15:46 Coke rakudo say [*] 1..2.65252859812191e+32
15:46 Coke ... uhoh.
15:46 pmichaud we may be here a while
15:46 Coke (nah, left off the :. =-)
15:46 Coke though not on purpose. happy accident.
15:46 pmichaud we may be here a while, still :-)
15:46 moritz I think polyglotbot has an execution time limit :)
15:47 Coke rakudo say hi
15:47 Coke rakudo: say hi
15:47 polyglotbot OUTPUT[Could not find non-existent sub hi␤current instr.: '_block11' pc 13 (EVAL_13:13)␤called from Sub 'parrot;PCT;HLLCompiler;eval' pc 892 (src/PCT/HLLCompiler.pir:508)␤called from Sub 'parrot;PCT;HLLCompiler;evalfiles' pc 1224 (src/PCT/HLLCompiler.pir:673)␤called from Sub
15:47 polyglotbot ..'parrot;PCT;HLLCompiler;command_line' pc 1400 (src/PCT/HLLCompiler.pir:...
15:47 pmichaud 1..2.65e+32 is likely to run out of memory.
15:47 Coke It's not running, or we'd have gotten a backtrace on the first hi.
15:47 pmichaud at least until we get laziness
15:47 particle even with my 14GB it'll run out of memory...
15:48 jonathan Show-off. :-P
15:48 lathos Perl 6 will have Unicode subs, right? So you will be able to implement APL in Perl.
15:48 pmichaud lathos: yes.
15:48 jonathan As an internal DSL... ;-)
15:48 particle in fact, we have a grammar for it already :)
15:48 Coke lathos: of course, we have part of APL standalone already.
15:49 Coke does [+] 1..100 do anything smart? or does it just blindly go through the range, adding?
15:49 pmichaud blindly through the range.
15:49 jonathan What smart thing would you want it to do? :-)
15:50 moritz jonathan: Euler's sum formula
15:50 Coke if the range was constant, you could optimize it.
15:50 pmichaud ...but I can do that at compile time, then :-)
15:50 moritz sum(1..$n) = $n*($n-1)/2
15:50 Coke pmichaud: yes.
15:50 Coke that would be fine, too.
15:50 jonathan moritz: Ah, yes.
15:51 particle is declaration-order expected to fail again/still?
15:51 moritz that could be doable by adding a multi sub prefix:<[+]>(Range $x) { ... }
15:51 moritz particle: yes :(
15:51 moritz and it's "still"
15:52 particle named-parameters TODO passed: 2
15:52 particle expected?
15:52 pmichaud I don't know that we've updated all of the passes that result from the recent changes.
15:52 moritz particle: did you update your copy of t/spec/ ?
15:53 pmichaud I'll add Associative slicing here (waiting for make spectest to finish) and then start looking at new passing tests, or tests that can be quickly made to pass.
15:53 moritz pmichaud: I think I did
15:53 particle i ran make spectest, which should update automatically
15:53 particle Updated to revision 24224.
15:53 moritz particle: I might be lagging behind a bit :)
15:53 Coke moritz: isn't that $n*($n+1)/2 ?
15:53 moritz Coke: right
15:54 Coke whew.
15:54 moritz otherwise it wouldn't make sense for $n == 1
15:55 rindolf joined #parrot
15:55 rindolf Hi all.
15:55 PerlJam moritz: you could even generalize it for $n..$m ranges too  :)
15:56 moritz PerlJam: yes, that's trivial (and left as an exercise to the implementor)
15:56 Infinoid good morning
15:56 * kj sees lots of possibilities for tutorials...
15:56 pmichaud but have to remember to check for :by on the Range
15:56 pmichaud and for non-negative ranges
15:56 dalek r33713 | jonathan++ | trunk:
15:56 dalek : [rakudo] Make reduction meta-operator work with chaining comparrison operators.
15:56 pmichaud and string ranges
15:56 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33713
15:57 lathos Well, that's what the optimization phase is for, pretty much.
15:57 jonathan In other words, there's a lot of ways to screw up doing the optimization. :-)
15:57 PerlJam jonathan++
15:57 pmichaud ...which is why I figured "blindly through the range" made good sense for now.
15:57 particle also have to check for integer ranges
15:57 particle 1.2..3.8 won't work
15:58 moritz as they say, 'first make it run, then make it right, then make it fast'
15:58 particle i mean, the opt won't work
15:58 Coke particle: that range is equivalent to 1.2..3.2, neh?
15:58 particle maybe i should start calling it o10n
15:58 Coke what, obfuscation?
15:58 Coke oh wait, off by one error.
15:58 particle :)
15:59 particle coke: if the range is only evaluated from the left, then it's equivalent to 1.2..3.2
15:59 moritz Coke: if used as list, yes. but 3.3 ~~ 1.2..3.2 is false, whereas it's true with ..3.8
16:00 pmichaud arggggh.... postcircumfix:{ }   messes up the autovivification closures
16:00 pmichaud I'll cheat for now.
16:00 pmichaud I'll try to cheat for now.
16:02 jonathan pmichaud: How does it cause problems?
16:02 pmichaud ProtoObject uses a vtable method for { }
16:02 jonathan Ah, I see...can't you just implement postcircumfix:{ } on ProtoObject?
16:02 jonathan And override the one from the role?
16:03 pmichaud (phone)
16:04 pmichaud they get different arguments.
16:04 pmichaud (yes, that's what I'm doing now, though.)
16:05 pmichaud really, though, the vtable should be rewritten to use the .hash() method
16:05 pmichaud instead of building a Hash itself, as it does now.
16:05 pmichaud maybe I'll just do that instead for now.
16:06 jhorwitz postcircumfix:[ ] is wreaking havoc on mod_perl6
16:06 particle fix it!
16:06 * jhorwitz slaps particle with a white glove and declares a duel
16:06 pmichaud jhorwitz: example?
16:06 register joined #parrot
16:07 jhorwitz nopaste?
16:07 clunker3 http://pasta.test-smoke.org/ or http://paste.husk.org/ or http://nopaste.snit.ch:8001/ or http://rafb.net/paste or http://poundperl.pastebin.com/ or http://paste.scsys.co.uk/
16:07 purl nopaste is, like, 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)
16:10 jhorwitz grr, can't get to any paste sites with #parrot
16:10 particle you have a website...
16:11 * jhorwitz is lazy and just wants to paste
16:11 particle http://rafb.net/paste/ works for me
16:11 jhorwitz yeah, i'll just have to paste the URL.  :)
16:11 jhorwitz the horror
16:11 purl Getting Laid Hacks, by Randal Schwartz and Eric Raymon
16:11 jhorwitz hm
16:11 register joined #parrot
16:12 Tene jhorwitz: use tools/dev/nopaste.pl
16:12 particle forget the horror
16:12 purl particle: I forgot horror
16:12 jhorwitz Tene++ # forgot about that!
16:12 particle tene: nopaste.snit.ch isn't available, so that won't work
16:12 Tene Ah.
16:12 jhorwitz doh!  no worries, i got it...
16:12 Coke particle: but that was hilarious. :|
16:15 jhorwitz pmichaud: http://rafb.net/p/7pfjOS77.html
16:15 jhorwitz it's obvious what's going on, but suggestions are welcome.
16:15 pmichaud I don't have one off the top of my head.
16:16 Tene What's SArray?
16:16 purl i heard SArray was pretty fast tho :)
16:16 jhorwitz i was considering something like @args2 = @args;
16:16 pmichaud that should work.
16:16 pmichaud or even   @(@args)[0]
16:16 jhorwitz that's extra special.  i like it.  :)
16:16 pmichaud oh, that one probably won't work.
16:17 pmichaud (list @args)[0]
16:17 pmichaud there.
16:17 pmichaud or  (@ @args)[0]
16:17 jhorwitz cool.  will HLL type mapping (eventually) fix this?
16:17 pmichaud don't know yet.
16:18 pmichaud there are going to be some huge issues dealing with vtable methods and hll mapping.
16:18 * jhorwitz nods
16:18 pmichaud keyed aggregrates are going to be a big icky part of that as well.
16:18 pmichaud especially since Parrot doesn't really provide a good way to distinguish [ ] from { }
16:18 particle @args.list[0]
16:19 Coke is perl6-internals now for rakudo stuff?
16:19 pmichaud @args.list[0] will only work if SArray implements .list
16:19 moritz better p6c
16:19 * Coke is looking at mark reed's recent emails.
16:19 particle perl6-internals may well be retired
16:20 * Coke finds our external facing community a huge muddle. :|
16:20 moritz it probably is :-)
16:21 pmichaud Coke: lots of people don't know what list to send things to.
16:22 particle perhaps some better documentation, including a webpage with descriptions
16:22 pmichaud iwbni we would simply retire perl6-internals asap
16:22 pmichaud it hasn't been p6i for a _long_ time (parrot-porters and now parrot-dev)
16:23 pmichaud I'll answer the mail as soon as I get the postcircumfix:{ } thingy worked out.
16:23 particle need to make sure google picked up the parrot-dev list
16:23 pmichaud particle: why?  We have the parrot-dev archives, too
16:23 gryphon joined #parrot
16:24 particle not archives, interface.
16:24 particle you can post from there, too. and they have it! http://groups.google.com/group/parrot-dev?lnk=srg
16:25 jhorwitz LOL: Method 'list' not found for invocant of class 'SArray'
16:25 particle ok, i'll ack the repo
16:25 particle jhorwitz: which syntax did you use?
16:25 jhorwitz (@ @args)[0]
16:26 particle hrmm, will @args.List[0] work?
16:26 pmichaud no.
16:26 particle :(
16:26 jhorwitz i'm gonna just assign it to a new array
16:26 pmichaud as I said, hll interop here is going to be a _huge_ issue, especially dealing with vtables.
16:26 pmichaud jhorwitz: that's best for now, yes.
16:27 pmichaud (hope that works :-)
16:27 jhorwitz mod_perl6 is pure-PIR type to rakudo types and back, so it's a good test case for all this
16:27 moritz what does (@ @args)[0] do (or did) that @args[0] does not?
16:27 pmichaud moritz: postcircumfix:[ ]  used to be a PIR opcode
16:27 pmichaud now it's a method call
16:28 moritz ah.
16:28 pmichaud so previously  @args[0]  would generate something like    $P0 = args[0]    (PIR)
16:28 pmichaud now it generates   $P0 = args.'postcircumfix:[ ]'(0)
16:28 jonathan pmichaud: Is there a way, with newtok, to tell it to call a sub of a different name than that of the op itself?
16:29 pmichaud 'subname' =>
16:29 jonathan Thanks
16:29 pmichaud it just attaches another trait to the token
16:29 pmichaud but that's how   is subname('...')   works in grammer-oper.pg
16:30 jhorwitz pmichaud: didn't work: Null PMC access in find_method() current instr.: 'infix:=' pc 12065 (src/builtins/assign.pir:70)
16:31 * jhorwitz thinks of a workaround...
16:31 pmichaud jhorwitz: okay, I'll have to think about it a bit.
16:31 jhorwitz k, thanks
16:31 pmichaud perhaps we'll need to change 'postcircumfix:[ ]' to be a subcall instead of a method
16:31 pmichaud the subcall can then do a method call if appropriate, vtable otherwise.
16:32 pmichaud that has some validity.
16:35 pmichaud I'll work on that first before finishing associative slices, since that's bottlenecked.
16:36 * jhorwitz considers changing SArray to RPA and shifting
16:36 Hadi1 joined #parrot
16:36 pmichaud yes, RPA would work.
16:36 jhorwitz and delaring @args as 'is copy'
16:36 jhorwitz ^declaring
16:36 jhorwitz seems to work
16:36 pmichaud so, need me to fix postcircumfix:[ ] now or no?
16:37 * jonathan wonders if he's getting his unicode stuff in a tangle, since the unicode variants won't parse...
16:37 jhorwitz pmichaud: yes, still needs a fix
16:37 pmichaud okay.
16:37 pmichaud working.
16:37 purl i guess working is a good approximation.
16:38 register what is the meaning of the labels field in the op_info_t structure?
16:39 pmichaud oh!  I wonder if it's sufficient to export the existing postcircumfix:[ ] ?
16:41 jhorwitz an interesting possibility
16:42 nopaste joined #parrot
16:44 particle coke, allison, anyone else: is there a web page to sign up for parrot-dev?
16:45 pmichaud http://lists.parrot.org/ma​ilman/listinfo/parrot-dev
16:45 pmichaud parrot-dev ?
16:45 purl rumour has it parrot-dev is mailto:parrot-dev@lists.parrot.org
16:45 pmichaud parrot-dev is also http://lists.parrot.org/ma​ilman/listinfo/parrot-dev
16:45 purl okay, pmichaud.
16:45 particle pmichaud: thanks, http://lists.parrot.org/ didn't work
16:46 pmichaud jhorwitz: so far switching it to a function seems to work locally
16:47 jhorwitz oooh
16:47 pmichaud I just need to do a spectest run and then we can see if that helps your case.
16:47 jhorwitz excellent
16:47 pmichaud it should.
16:47 Util I suspect a bug in the program that sends the commit messages to svn-commit-parrot@perl.org.
16:47 Util Is that program's code anywhere that I can access for inspection?
16:47 jonathan pmichaud: Got a moment?
16:47 pmichaud jonathan: yes
16:48 jonathan pmichaud: OK. Hypers (non-dwimmy) work.
16:48 jonathan Well, the ASCII versions do, and I don't understand why the unicode versions don't.
16:48 jonathan If I check it in, can you take a look?
16:48 pmichaud nopaste a diff, perhaps?
16:48 jonathan Do we trust *that* to get the unicode right? ;-)
16:48 pmichaud it'll be right enough for me to take a look :-)
16:49 pmichaud I suspect you need to unicode: your sub names.
16:49 jonathan I don't have any unicdoe sub names. ;-)
16:49 hercynium joined #parrot
16:50 Coke Util: It's probably in an svn repo, but I don't know where.
16:50 Coke I'd send an email to the list.
16:50 pmichaud if it's not going to break spectest, ci is okay.
16:50 nopaste "jonathan" at 85.216.157.73 pasted "hyper pmichaud" (92 lines) at http://nopaste.snit.ch/14879
16:50 jonathan spectest works fine
16:50 jonathan There's the diff anyway.
16:50 pmichaud you need to unicode: the subnames
16:51 jonathan Which sub names?
16:51 jonathan Oh, in the newtok call?
16:51 jonathan oh, I see
16:51 pmichaud the ones containing the « and »
16:51 pmichaud otherwise pir compiles it as a fixed8 string
16:51 Tene infix:»%s«
16:52 Tene Which appears for me in that paste as: infix:»%s«
16:52 pmichaud so it needs to become   unicode:"infix:\u00ab%s\u00bb"
16:52 pmichaud (might be able to avoid the \u)
16:52 pmichaud sorry, might be able to avoid the 00 in \u
16:52 Util Thanks, Coke
16:53 pmichaud also, I'd prefer the sub to be with the unicode char instead of the texas angles
16:53 jonathan No, it wanted the 00
16:53 jonathan Oh?
16:53 pmichaud my suggestion is to do
16:53 jonathan That means more unicode everywhere! ;-)
16:54 Tene Is PIRC going to be smarter about unicode?
16:54 pmichaud $subname = "unicode:\"\u00ab$opname\u00ab\"';
16:54 pmichaud and then use $subname in the sprintf lines
16:54 pmichaud or better
16:54 jonathan unicode:\"infix:\\u00ab%s\\u00bb\" in the newtok didn't help so much :-|
16:54 pmichaud $subname = qq(unicode:"\u00ab$opname\u00bb");
16:55 pmichaud then use $subname in the sprintf lines
16:55 jonathan OK
16:55 pmichaud or, just ci it and I'll clean it up the way I want :-)
16:55 jonathan But we need to also register the token that way.
16:55 jonathan OK, I'll do that. :-)
16:55 jonathan My editor mangles unicode chars. :-S
16:56 pmichaud that's why I try to not put them in (PIR) source
16:56 Tene thought so
16:56 jonathan *nod*
16:58 jonathan pmichaud: ci'd.
16:58 pmichaud jhorwitz: try r33714
16:58 jhorwitz k
16:58 pmichaud your original  @args[0] should work.
16:58 pmichaud at least, I hope it does.
16:59 dalek r33714 | pmichaud++ | trunk:
16:59 dalek : [rakudo]:  Set postcircumfix:<[ ]> to also be callable as a function
16:59 dalek : * This should help with other HLLs that don't provide a method form.
16:59 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33714
16:59 dalek r33715 | jonathan++ | trunk:
16:59 dalek : [rakudo] First cut on non-dwimmy hyper ops. The non-unicode quote forms now work, there's some problem with the unicode forms.
16:59 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33715
17:03 pmichaud what's the meaning of NODWIM?
17:03 pmichaud (in this context)
17:04 jonathan >>+<< doesn't auto-extend arrays
17:04 pmichaud got it.
17:04 jonathan <<+>> auto-extends either side
17:04 jonathan etc
17:04 jonathan (can also do >>+>> and <<+<<)
17:04 jonathan Debating whether it's worth doing those.
17:04 pmichaud we might -- it should be easy enough to do.
17:04 jonathan True.
17:05 jonathan I guess if we don't, people are only going to try 'em and file bug reports. ;-)
17:05 ffwonko joined #parrot
17:06 jonathan I'll let you deal with the changes to fix up unicode first, so we don't end up with merge conflicts.
17:06 ruoso joined #parrot
17:07 pmichaud I'm getting a parse error.
17:08 jonathan In?
17:08 purl IN EXCELSIS DEO
17:08 jonathan OH RLY?
17:09 jonathan You mean when compiling Rakudo, of when trying to use the unicode form of the hyper op in Rakudo?
17:09 pmichaud when trying to use the unicode form...
17:09 jonathan If the second, that's what I see.
17:09 pmichaud I'll ci my change, we can look.
17:09 jonathan Statement not terminated properly at line 16, near "\x{bb}+\x{ab} (2, 4,"
17:09 pmichaud Clearly the unicode forms are making it _into_ rakudo okay, though, because I now have >>+<< calling the sub named »+«
17:09 jonathan *nod*
17:10 jonathan Do we have any other unicode tokens working with operator precedence parser?
17:10 jonathan As in, we know if handles unicode correctly?
17:10 pmichaud I wonder if it's having trouble matching the unicode tokens against the iso-8859-1 input.
17:10 jonathan That's a possibility.
17:12 pmichaud it's generating src/gen_metaop.pir correctly.
17:13 dalek r33716 | pmichaud++ | trunk:
17:13 dalek : [rakudo]:  Update gen_metaop_pir.pl to generate the unicode forms of sub/hyper.
17:13 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33716
17:13 jonathan Yes, that looks sane to me too.
17:13 pmichaud oh, here's a test.
17:13 pmichaud just a sec.
17:14 pmichaud (this would also explain why I can't get « quote » to work in rakudo even though it works fine other places.
17:14 Tene Does [==] short-circuit?
17:15 pmichaud all of the args are evaluated, but lists might end up being lazily evaluated
17:15 allison joined #parrot
17:15 * Tene nods.
17:15 jhorwitz pmichaud: after fixing another unrelated bug, it works!
17:15 jhorwitz pmichaud++
17:15 pmichaud it works as @args[0] ?
17:15 jhorwitz yes
17:15 pmichaud wow
17:16 jhorwitz have some confidence, man.  :)
17:16 pmichaud that's nice, because it means that things like @args[1,2,3]  will work too.
17:16 pmichaud even if @args comes from another HLL
17:16 jhorwitz that's shiny
17:16 pmichaud jhorwitz++ # pushing us to do things even better than we planned
17:16 Tene rakudo: my @a = <a b c d>; say @a[3,0,2,1];
17:17 polyglotbot OUTPUT[dacb␤]
17:17 pmichaud rakudo:  my @a = ' '..'z';  say @a[100, 97, 109, 110, 33];
17:17 pmichaud oh, wait.
17:18 pmichaud that's not right
17:18 pmichaud rakudo:  my @a = ' '..'z';  say @a[(100, 97, 109, 110, 33) >>-<< (32 xx 5)];
17:18 pmichaud oh well.
17:18 pmichaud I'll have to look at the unicode parsing issue a bit later.
17:19 pmichaud rakudo:  say 'hello';
17:19 pmichaud polyglotbot seems lost.
17:19 jonathan OK.
17:19 jonathan I'll do the dwimming variants.
17:20 pmichaud okay
17:20 pmichaud iwbni we had just one helper function for all of the variants (keep code refactored), but it's okay if we need separate ones.
17:20 polyglotbot No output (you need to produce output to STDOUT)
17:20 polyglotbot No output (you need to produce output to STDOUT)
17:20 polyglotbot OUTPUT[hello␤]
17:20 pmichaud I'm guessing rakudo didn't like the ' '..'z'
17:20 jonathan pmichaud: I was thinking that I would have one that handled all dwimming.
17:21 jonathan And one for "no dwim at all"
17:21 pmichaud jonathan++
17:21 jonathan (e.g. the one that's there now)
17:21 jonathan May be able to fold them all into one general one.
17:21 pmichaud I would think one general one
17:21 jonathan Yeah, will aim for that.
17:21 pmichaud everything's a variation of "extend the left" or "extend the right"
17:21 jonathan Right.
17:21 pmichaud and "no dwim" is just "don't extend either"
17:22 jonathan Yes.
17:22 particle rakudo: my @a = 'a'..'z'; say @a[<18 1 11 21 4 15>];
17:22 polyglotbot OUTPUT[sblvep␤]
17:22 particle rakudo: my @a = 'a'..'z'; say @a[<18 1 11 21 4 15> >>-<< 1];
17:22 polyglotbot OUTPUT[Non-dwimmy hyperoperator cannot be used on arrays of different sizes or dimensions.␤current instr.: 'die' pc 13341 (src/builtins/control.pir:168)␤called from Sub '!HYPEROPNODWIM' pc 12624 (src/builtins/assign.pir:297)␤called from Sub '_block11' pc 126 (EVAL_14:40)␤called from Sub
17:22 polyglotbot ..'parrot;PCT;HLLCompiler;eval' pc 892 (src/PCT/HLLCompiler.p...
17:22 jonathan Win!
17:22 particle ah, right :(
17:22 jonathan I haven't done the dwimmy one yet. :-)
17:23 particle rakudo: my @a = 'a'..'z'; say @a[<17 0 10 20 3 14> >>-<< 1];
17:23 polyglotbot OUTPUT[Non-dwimmy hyperoperator cannot be used on arrays of different sizes or dimensions.␤current instr.: 'die' pc 13341 (src/builtins/control.pir:168)␤called from Sub '!HYPEROPNODWIM' pc 12624 (src/builtins/assign.pir:297)␤called from Sub '_block11' pc 126 (EVAL_14:40)␤called from Sub
17:23 polyglotbot ..'parrot;PCT;HLLCompiler;eval' pc 892 (src/PCT/HLLCompiler.p...
17:23 particle rakudo: my @a = 'a'..'z'; say @a[<17 0 10 20 3 14>];
17:23 polyglotbot OUTPUT[rakudo␤]
17:23 jonathan rakudo: my @a = 'a'..'z'; say @a[<18 1 11 21 4 15> >>-<< 1 xx 7];
17:23 polyglotbot OUTPUT[Non-dwimmy hyperoperator cannot be used on arrays of different sizes or dimensions.␤current instr.: 'die' pc 13341 (src/builtins/control.pir:168)␤called from Sub '!HYPEROPNODWIM' pc 12624 (src/builtins/assign.pir:297)␤called from Sub '_block11' pc 126 (EVAL_14:40)␤called from Sub
17:23 polyglotbot ..'parrot;PCT;HLLCompiler;eval' pc 892 (src/PCT/HLLCompiler.p...
17:23 pmichaud okay, I found the unicode problem, I think.
17:23 jonathan rakudo: my @a = 'a'..'z'; say @a[<18 1 11 21 4 15> >>-<< 1 xx 6];
17:23 polyglotbot OUTPUT[Non-dwimmy hyperoperator cannot be used on arrays of different sizes or dimensions.␤current instr.: 'die' pc 13341 (src/builtins/control.pir:168)␤called from Sub '!HYPEROPNODWIM' pc 12624 (src/builtins/assign.pir:297)␤called from Sub '_block11' pc 126 (EVAL_14:40)␤called from Sub
17:23 polyglotbot ..'parrot;PCT;HLLCompiler;eval' pc 892 (src/PCT/HLLCompiler.p...
17:23 jonathan Hmm.
17:24 jonathan rakudo: my @a = 'a'..'z'; say @a[<18 1 11 21 4 15> >>-<< (1 xx 6)];
17:24 polyglotbot OUTPUT[rakudo␤]
17:24 jonathan Aha.
17:24 particle :)
17:24 jonathan Hypers have transparent precedence, AFAIU.
17:24 jonathan Which should be what I've done.
17:24 jonathan I think - binds tighter than xx
17:24 pmichaud it does.
17:24 purl if you say so...
17:24 jonathan OK, good, so Rakudo was right.
17:25 pmichaud found a bug in Hash
17:25 particle rakudo: my @a = 'a'..'z'; say @a[<18 1 11 21 4 15> >>-<< [xx] 1 6];
17:25 polyglotbot OUTPUT[Statement not terminated properly at line 1, near "[<18 1 11 "␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤called from Sub 'parrot;Perl6;Grammar;eat_terminator' pc 27096 (src/gen_grammar.pir:3363)␤called from Sub 'parrot;Perl6;Grammar;statementlist'
17:25 polyglotbot ..pc 25752 (src/gen_grammar.pir:2830)␤called from...
17:25 particle rakudo: my @a = 'a'..'z'; say @a[<18 1 11 21 4 15> >>-<< [xx] 1, 6];
17:25 polyglotbot OUTPUT[rakudo␤]
17:25 * particle <3 rakudo
17:25 pmichaud oh that is just too cool.
17:26 * moritz decides to write more tests for reduction ops
17:26 nopaste "pmichaud" at 72.181.176.220 pasted "non-equivalence of unicode and iso-8859-1 hash keys" (20 lines) at http://nopaste.snit.ch/14880
17:27 particle rakudo: 'a'..'z'.[<18 1 11 21 4 15> >>-<< [xx] 1, 6].say;
17:27 polyglotbot OUTPUT[get_pmc_keyed() not implemented in class 'Perl6Str'␤current instr.: 'parrot;Positional;postcircumfix:[ ]' pc 1492 (src/classes/Positional.pir:55)␤called from Sub '_block11' pc 132 (EVAL_13:37)␤called from Sub 'parrot;PCT;HLLCompiler;eval' pc 892 (src/PCT/HLLCompiler.pir:508)␤called from Sub
17:27 polyglotbot ..'parrot;PCT;HLLCompiler;evalfiles' pc 1224 (src/...
17:27 particle rakudo: ('a'..'z').[<18 1 11 21 4 15> >>-<< [xx] 1, 6].say;
17:27 polyglotbot OUTPUT[get_pmc_keyed() not implemented in class 'Range'␤current instr.: 'parrot;Positional;postcircumfix:[ ]' pc 1492 (src/classes/Positional.pir:55)␤called from Sub '_block11' pc 144 (EVAL_14:38)␤called from Sub 'parrot;PCT;HLLCompiler;eval' pc 892 (src/PCT/HLLCompiler.pir:508)␤called from Sub
17:27 polyglotbot ..'parrot;PCT;HLLCompiler;evalfiles' pc 1224 (src/PCT...
17:27 particle ah, i guess i have to coerce
17:27 pmichaud particle: Ranges don't do Positional yet.
17:27 pmichaud and I need a message to p6l for a clarification on that.
17:27 particle so i need @()
17:27 pmichaud yes, that'll work.
17:27 pmichaud or .list
17:28 pmichaud those are part of the cleanups I have to do in the builtin methods
17:28 PerlJam ranges also don't seem to like non-alphanumeric end points
17:28 particle they certainly don't like Whatever
17:28 pmichaud ah, non-alpha is indeed likely the issue.
17:28 particle i've moved my playing over to #perl6
17:29 pmichaud jonathan: the nopaste illustrates why the unicode forms aren't parsing
17:29 jonathan Ah?
17:29 pmichaud Parrot thinks that unicode « and iso-8859-1 « are equal for the iseq opcode, but not as a hash key
17:29 jonathan Fail.
17:30 pmichaud I'll write up a bugreport -- need lunch now though.
17:30 jonathan OK.
17:30 pmichaud when that gets fixed, I suspect the unicode forms will work also.
17:31 jonathan Great.
17:31 jonathan Nicely found.
17:32 * pmichaud adds hyperop notice to the rakudoperl twitter feed
17:33 pmichaud http://twitter.com/rakudoperl  :-)
17:33 pmichaud ick, I lose my +'s though
17:33 pmichaud I'll have to fix that.
17:34 moritz pmichaud: will you also blog about those (and slices)?
17:34 pmichaud yes
17:34 pmichaud and list assignment
17:34 purl list assignment is probably default in perl 6, but don't know about a 'default' in PAST. probably better to specify either list or scalar
17:34 pmichaud and reductions
17:34 pmichaud I was going to blog this morning but got sidetracked fixing the Positional bug
17:34 moritz rakudo: my ($x, $y) = (3, 4); say $x;
17:34 pmichaud rakudo still doesn't recognize  my ($x, $y)
17:34 polyglotbot OUTPUT[␤]
17:35 pmichaud (doesn't know how to "my" a list)
17:35 moritz pmichaud: it does, in terms of declaration
17:35 jonathan rafl: my ($x, $y); ($x, $y) = (3,4); say $x;
17:35 moritz pmichaud: otherwise you'd have seen a compiler error
17:35 jonathan rakudo: my ($x, $y); ($x, $y) = (3,4); say $x;
17:35 jonathan oops :-)
17:35 polyglotbot OUTPUT[3␤]
17:35 pmichaud hmmm, then it should work.
17:35 jonathan pmichaud: It recognizes it's a signature there on the LHS
17:35 pmichaud I would guess that 'my' isn't returning the appropriate list, then.
17:35 jonathan I suspect that's the issue.
17:36 jonathan I can look at that.
17:36 PerlJam it probably fails for the same reasons as  has $.foo = 3  fails  ;->
17:36 pmichaud PerlJam: no, different reasons.
17:36 jonathan Aye, different.
17:36 pmichaud my should walk the elements in the signature and mark them as lexical
17:36 jonathan And just don't ask about has ($.x, $.y) = (3, 4);
17:36 jonathan pmichaud: It does something along those lines.
17:37 Tene jonathan: what about has ($.x, $.y) = (3, 4); ?
17:37 pmichaud then it has to build a list with the signature elements
17:37 PerlJam I know.  I was just keeping the has assignment issue alive  :)
17:37 jonathan PerlJam: Yes, I know, it's wanted...hoping to patch that soon. Maybe even today.
17:38 pmichaud $Pm ~~ Lunch || fail
17:38 PerlJam jonathan: at some point I hope to understand enough that I can be less annoying about stuff and more patch-the-source about it  :)
17:39 Tene I'm hoping to be able to get to some hacking tonight.
17:39 Tene An emergency came up last night.
17:42 Zaba joined #parrot
17:42 pmichaud reminder that I'll be largely gone tomorrow and Thu (daytime)
17:43 pmichaud I'll be on in the evenings, though.
17:43 moritz speaking of reminders: there's #parrotsketch soonish
17:43 pmichaud afk, lunch
17:45 tomyan left #parrot
17:49 dalek r33717 | particle++ | trunk:
17:49 dalek : [docs] update to mailing list links, in preparation for turning off perl6-internals
17:49 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33717
17:54 jonathan Is Parrotsketch in 40 minutes or 1 hour 40?
17:54 jhorwitz 40 mins
17:54 jhorwitz 35
17:54 jonathan OK
17:54 jonathan Then dinner after ps. :-)
17:56 register joined #parrot
17:57 register left #parrot
17:57 barney joined #parrot
17:58 Coke left #parrot
18:06 Hadi1 left #parrot
18:16 register joined #parrot
18:21 bacek joined #parrot
18:22 ffwonko joined #parrot
18:22 ffwonko joined #parrot
18:24 dalek r33718 | allison++ | trunk:
18:24 dalek : [I/O] Adding an interactive readline method.
18:24 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33718
18:24 jonathan allison: Did you see the eof quirk I filed a ticket for?
18:24 allison jonathan: not yet
18:24 allison jonathan: RT or Trac?
18:25 moritz RT
18:25 moritz iirc
18:26 jonathan RT
18:26 jonathan If you fix that, I can resolve a Rakduo RT ticket too. ;-)
18:27 Wknight8111 allison, did you resolve that test failure last night in the IO branch?
18:29 dalek r33719 | jonathan++ | trunk:
18:29 dalek : [rakudo] Add the various dwimmy variants of infix hyperoperators.
18:29 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33719
18:30 chromatic joined #parrot
18:35 particle chromatic: i wanna coverity account
18:35 rurban joined #parrot
18:36 chromatic Okay.
18:36 particle rurban: welcome back! will you have time to work on install-related issues before january release?
18:37 chromatic Coke, is that RT #60128?
18:37 rurban particle: yes
18:37 particle rurban++ # we need your help
18:37 rurban I know. I need more time.
18:44 allison I've nearly completed an application of the changes in the install branch to a fresh checkout of trunk, so we can easily diff
18:44 allison will help with review
18:46 rurban allison: ah, okay. I wanted to switch to git, because my merges didn't work ad hoc, so I wanted to do a fresh merge with the help of git
18:47 particle allison: i hope you're picking the brains of the ubuntu folks
18:47 allison particle: yes, many good ideas
18:48 particle excellent. i hope you can share them soon
18:48 Wknight8111 what kind of stuff are you doing with the ubuntu group?
18:48 allison Whiteknight: hanging out, hacking, brainstorming
18:49 allison their usual dev summit
18:50 Coke joined #parrot
18:50 * Coke wonders if CS students go register-spilling when drunk.
18:50 chromatic Yes, but they don't color them very well.
18:53 dalek r33720 | fperrad++ | trunk:
18:53 dalek : [WMLScript]
18:53 dalek : - fix exception handling
18:53 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33720
18:54 rurban chromatic: well, to add tracing is easier for us, because we don't need the forth enchilada. And we can just add the simple checks to each tight loop as in spidermonkey to go optimized or plain.
18:54 chromatic SpiderMonkey doesn't use the Forth/Python approach that Adobe had.
18:54 chromatic Jim explicitly mentioned that.
18:55 chromatic We may need to reorder the PIR emitted from PCT to put loop headers at the end to have straight-line code, if we use that approach...
18:55 dalek r33721 | fperrad++ | trunk:
18:55 dalek : [WMLScript]
18:55 dalek : - console.println uses opcode 'say'
18:55 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33721
18:55 chromatic ... but I mentioned to Bart Massey that we could trace any basic block instead of just loops, and he agreed.
18:55 chromatic That requires us to identify basic blocks when tracing, however.
18:58 rurban finding exactly+safely basic blocks are a bit harder than just the loops.
19:00 chromatic Not really; we need to find them to do register allocation.
19:00 rurban ah yes.
19:02 chromatic In that case, the heuristic is "Does this opcode jump anywhere?"  If so, it ends one block and starts another.
19:04 Wknight8111 particle, ping
19:04 particle pong
19:04 Wknight8111 you said you were digging into that t/compilers/pct/complete_workflow.t failure?
19:04 Wknight8111 because that's the same test failure that's happening in the calling_conventions branch
19:04 particle yes, it's... weird.
19:05 particle seems to be something with the tempfiles
19:05 Wknight8111 what's the error message you are getting, problem finding lexicals?
19:07 particle no. gimme a few and i'll nopaste
19:08 Wknight8111 oh, well if you are getting a different error then it wouldn't be the same issue
19:08 Wknight8111 or, not exactly the same
19:10 particle it's a totally different error
19:10 particle the tempfiles aren't being written properly
19:11 chromatic Is that the test that rolled its own broken File::Temp replacement?
19:11 Wknight8111 oh, great. So the same exact tests fail for completely different reasons. Lovely
19:16 jonathan I need to go for food, before the food place closes...bbiab
19:17 Wknight8111 "the food place"? Is there only one?
19:17 chromatic It's Europe.  It's barely even food.
19:18 particle chromatic: seems so.
19:19 particle the first 72 bytes of the tempfile don't get written
19:20 chromatic kid51 may hate this, but I say replace that hack with File::Temp.
19:20 rurban git://repo.or.cz/parrot seems not to be updated anymore. Is git://git.perl.org/parrot the new master?
19:21 Tene rurban: I just use git-svn
19:25 rurban "git svn clone https://svn.perl.org/parrot -T trunk -b branches -t tags" for the start?
19:25 PerlJam rurban: I did "git svn clone --stdlayout https://svn.perl.org/parrot" myself
19:26 PerlJam you can specify a starting revision if you don't need all of the history.
19:26 Tene pmichaud: https://trac.parrot.org/parrot/ticket/25
19:26 pmichaud okay to assign to me, also.
19:27 Coke left #parrot
19:29 allison joined #parrot
19:30 allison jonathan: what's the ticket you mentioned creating this morning?
19:30 dalek r33722 | pmichaud++ | trunk:
19:30 dalek : [rakudo]:  Clean up some minor errors in hyperop generator.
19:30 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33722
19:33 dalek r33723 | moritz++ | trunk:
19:33 dalek : [rakudo] add hyper tests to t/spectest.data
19:33 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33723
19:37 johbar joined #parrot
19:42 particle Wknight8111: i'm now getting Lexical '$key' not found
19:43 particle when compiling Test.pm in rakudo. i'll have a look.
19:43 Wknight8111 that's the error I was getting in the cc branch
19:43 Wknight8111 see? I'm not crazy!!!
19:43 particle cool.
19:44 mugwump joined #parrot
19:44 allison Whiteknight: which means, the bug isn't caused by your branch, and you can go ahead and merge
19:44 masak joined #parrot
19:45 Wknight8111 okay, I'll do it tonight
19:46 bacek joined #parrot
19:46 allison do you want me to update the cc branch from trunk, in case there are any conflicts from my I/O merge last night?
19:46 Wknight8111 you can if you have time. I'm at work and way from my development computer, so I can't do anything for another 2 hours or so
19:46 particle um, that error is in the cc branch.
19:47 allison particle: not in trunk?
19:47 nopaste "particle" at 76.121.106.245 pasted "cc branch failure" (23 lines) at http://nopaste.snit.ch/14883
19:48 kj does anybody else have build errors on windows?
19:48 particle in trunk?
19:48 kj yes
19:48 particle not i
19:48 particle trouble with tge?
19:48 kj no, filehandle.pmc
19:49 particle you may not be current. there was a c89-o in there yesterday
19:49 jonathan mn'am...pizza
19:49 Wknight8111 particle, that's exactly the same error I've been seeing
19:49 Wknight8111 if we can resolve that, the cc branch can merge in
19:50 Wknight8111 the same error manifests itself in t/compilers/pct/complete_workflow.t also
19:50 pmichaud jonathan: are you working on   my ($a, $b) = ...   soon?  If not, I'll go ahead and do it.
19:50 jonathan pmichaud: I can do it, or you can, I don't mind which of us.
19:50 jonathan I'm just finishing up hyper test review/fudging.
19:50 pmichaud I'll do it.  It'll get me in the right mindframe for parameters and signatures
19:51 pmichaud I plan to do those on the plane/hotel in the next 2 days
19:52 jonathan OK, sounds good.
19:52 jonathan I'll do the 'has $.x = 42' thingy
19:52 jonathan In theory, those won't overlap...
19:52 pmichaud right, unless we have to change our grammar.
19:52 pmichaud (to match STD.pm)
19:53 jonathan I think I don't need a grammar change.
19:53 pmichaud ...but I might?
19:54 jonathan When I pondered what it would take to do it, I wasn't reckoning on needing one.
19:54 pmichaud okay.
19:55 jonathan You may, but I think you'll just want to change what PAST is produced by my ($a, $b) to be ($a, $b)
19:55 pmichaud for the my ($a, $b) fix, yes.  For the signature/params refactor, may be much more.
19:56 jonathan Oh yes, I thought the my ($a, $b) thing was what we were talking about.
19:57 jonathan I'd be surprised if there *wasn't* grammar changes for the sig/params refactor.
19:57 pmichaud right.
19:57 pmichaud okay, we're in good shape then.
19:57 jonathan OK
19:57 jonathan Expect to have to extend signature objects a bit.
19:57 pmichaud signature/params probably will happen in a branch anyway.
19:57 jonathan Like, they don't have a slot for the default value.
19:58 jonathan Basically because I never needed that yet. :-)
19:58 jonathan I've got some thinking to do about type parameter binding in signatures too.
19:59 jonathan So don't worry too much if you break that.
19:59 pmichaud okay.
20:00 pmichaud parrot trunk breaks for me
20:00 jonathan (I'd rather not regress on type capture if it's easy not to, but I'm prepared to do so rather than have some bad hack for it.)
20:00 jonathan Oh?
20:00 pmichaud ./src/pmc/filehandle.pmc: In function ‘Parrot_FileHandle_nci_readline_interactive’:
20:00 kj pmichaud: parrot trunk break: me too
20:00 pmichaud ./src/pmc/filehandle.pmc:326: error: ‘_CONST_STRING_326’ undeclared (first use in this function)
20:00 pmichaud I think it's the readline_interactive patch that caused the break.
20:02 pmichaud allison: ping
20:02 allison pmichaud: pong
20:02 pmichaud what does readline_interactive do on systems that don't have readline?
20:03 allison return an empty string
20:03 pmichaud could we have it go ahead and prompt and wait for input, but not use history?
20:03 pmichaud i.e., a dumbed-down readline interactive?
20:03 pmichaud otherwise the caller has to (1) figure out if parrot supports readline, or (2) call readline_interactive and check the result for empty string so that it can re-prompt
20:06 allison pmichaud: you mean, simply print to stdout, and wait to read from stdin?
20:06 pmichaud yes, or just call the standard 'readline'
20:06 pmichaud (after printing to stdout)
20:07 allison but, isn't the check for readline supposed to tell us if the platform supports readline?
20:07 pmichaud ...what check for readline?
20:07 pmichaud I didn't see that.
20:07 allison that is, does 'readline' function even exist if PARROT_HAS_READLINE isn't defined?
20:08 pmichaud ETOOMANYREADLINEs
20:08 pmichaud I meant the 'readline' method (more)
20:08 pmichaud when someone calls readline_interactive, it uses the readline library if it exists, otherwise it prompts and uses the Parrot readline method for FileHandle PMCs
20:09 pmichaud it's entirely likely that readline_interactive really doesn't belong on FileHandle, though.
20:09 allison ah, okay
20:09 pmichaud since it always reads from a tty
20:09 pmichaud and always outputs to a tty
20:09 pmichaud i.e., the "FileHandle" doesn't seem to have much to do with readline_interactive itself, unless I'm missing something.
20:10 allison neither does 'readall' really, at least not the version that doesn't use an already opened filehandle
20:11 pmichaud true.
20:11 pmichaud anyway, I don't have a better place to stick readline_interactive
20:11 allison but, if we add this alternate default readline_interactive, then it will use the filehandle object
20:11 allison that is, it would act like a readline on stdin
20:11 pmichaud whether it reads from filehandle or stdin isn't super critical to me.
20:12 allison what would you want it to do if you called 'readline_interactive' on an already open filehandle?
20:12 pmichaud the sticky point is that I'd like to either (1) insulate the PIR caller from having to know if readline library is present, or (2) provide the PIR caller with a good way to find out.
20:13 pmichaud if readline_interactive always ignores the filehandle when readline lib is present, I'd expect it to do the same when the readline lib is not present.
20:13 pmichaud that seems the most "consistent"
20:13 allison how were you handling it before?
20:14 pmichaud before the ParrotIO PMC provided a return value that signaled if readline lib was present
20:14 allison checking for the result of the method to set the filehandle as interactive readline?
20:14 pmichaud (but the return value came back as a result of a set_interactive method, not the readline_interactive method)
20:15 pmichaud previously we had
20:15 pmichaud has_readline = stdin.'set_readline_interactive'(1)
20:15 allison yes, and I collapsed those, because we didn't really need a separate 'set' step
20:15 pmichaud and if has_readline was -1, that meant that the readline library wasn't present.
20:15 pmichaud and so PCT::HLLCompiler could display the prompt or not display it as appropriate
20:16 pmichaud ideally I'd like to just be able to do
20:16 allison making readline_interactive a separate method meant it could be one call
20:16 pmichaud code = stdin.'readline_interactive'(prompt)
20:16 pmichaud and have it dtrt even if the readline library isn't present.
20:16 allison and, what was your fall back, if the readline library wasn't present?
20:16 pmichaud (currently this would always give me back an empty string.)
20:16 pmichaud previously there wasn't a separate readline_interactive method
20:16 pmichaud it was just
20:16 pmichaud code = stdin.'readline'()
20:17 pmichaud and it was always that
20:17 allison were you able to still read from the filehandle?
20:17 pmichaud and the "set_readline_interactive"  changed the readline method to be an interactive readline (if it could)
20:17 pmichaud I'm not advocating that model -- that's simply what it did.
20:17 chromatic Hm, the IO branch made the test suite some 30% slower.
20:18 pmichaud yes, I noticed that things slowed down significantly.
20:18 pmichaud I couldn't tell if it was my assignment changes or something else, though, because they both went in at about the same time.
20:18 rurban na da kommt freude auf.
20:18 allison basically, whatever you were doing to allow interactive readline on platforms that didn't have the readline library, is what we should be using as the fallback for the readline_interactive method
20:18 chromatic The Rakudo benchmark seems unchanged.
20:18 pmichaud chromatic: okay, that's a plus then.  But when I run my test_summary script, it seems a lot slower.
20:19 pmichaud previously all I was doing was set_readline_interactive, and then always calling 'readline'
20:19 allison pmichaud: so you always get something back
20:19 chromatic I have the Rakudo benchmark down to 19 seconds with an optimized build including debugging symbols.
20:19 pmichaud wow, 19 seconds is good.
20:19 chromatic Okay, ~20 seconds.
20:19 pmichaud really good.
20:19 allison pmichaud: okay, I can duplicate that logic
20:19 pmichaud allison: as I said, I'm not sure I advocate that
20:20 pmichaud what I think makes more sense is the separate readline_interactive method
20:20 pmichaud that always displays a prompt
20:20 pmichaud because the other issue I had was that I had to figure out when to display a prompt
20:20 allison pmichaud: yes, that's what I meant
20:20 pmichaud also, the prompt that HLLCompiler self-generates seems to go to stderr instead of stdout
20:20 allison but duplicating the logic of "fall back to readline" in 'readline_interactive'
20:21 pmichaud yes, duplicating the logic of "fall back to readline" works for me.
20:21 pmichaud so, readline_interactive always gives me a prompt (if I supply one), and always reads a line from somewhere (either via the readline lib or from the filehandle I give it)
20:24 allison pmichaud: and if the filehandle is closed? read form stdin or throw an exception?
20:24 allison s/form/from/
20:24 pmichaud I'd guess "do whatever readline does"
20:24 pmichaud (since that's what it did before.)
20:25 pmichaud er, "do whatever readline method does"   (ETOOMANYREADLINEs)
20:26 pmichaud basically, readline_interactive gives me the prompting behavior on a filehandle, and if the readline library is present, it uses that in lieu of the filehandle.
20:26 allison at the moment, readline throws an exception when attempting to read from a closed filehandle
20:26 pmichaud that's fine.
20:26 allison ok, will do that for now
20:26 allison can change later
20:26 cotto chromatic, ping
20:28 chromatic pong
20:28 cotto Should I talk to you about getting a Coverity account for Parrot?
20:28 chromatic Yes.
20:32 allison pmichaud: okay, try r33724
20:32 davidfetter joined #parrot
20:32 allison no prompt, but the default read
20:32 dalek r33724 | allison++ | trunk:
20:32 dalek : [pdd22io] Add a default interactive readline, that reads a line from the
20:32 dalek : current filehandle.
20:32 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33724
20:36 pmichaud it works great now when readline lib isn't present
20:36 pmichaud let me try when it's present
20:36 pmichaud (installing readline lib)
20:36 pmichaud I think this is _exactly_ what I'm looking for (sans prompt, but I can add that.)
20:39 davidfetter joined #parrot
20:41 allison pmichaud: if you tell me how you add your own prompt, I can probably duplicate it in the method
20:42 allison pmichaud: just wasn't sure if you'd want it to go to stdout directly, or some other destination
20:43 pmichaud currently HLLCompiler does it by sending it to stderr.  I don't remember why we ended up with that, but stdout seemed to be doing the wrong thing.
20:43 pmichaud I was going to put it in the method, though.
20:43 pmichaud :-)
20:43 allison ah, excellent
20:43 allison I'll leave it in your capable hands :)
20:43 * allison returns to looking for jonathan's i/o ticket
20:44 bacek joined #parrot
20:44 contingencyplan joined #parrot
20:44 jonathan allison: You know RT #?
20:44 jonathan #61224
20:49 pmichaud one difference is that the readline lib appears to chop the newline, while the readline method does not.
20:50 pmichaud that's kinda icky.
20:55 Hadi joined #parrot
20:56 Hadi left #parrot
20:57 chromatic Hm, we could get a ~15% performance improvement by avoiding system malloc/free and maintaining our own sized pools with free lists.
20:58 jonathan Are they really that bad?
20:58 chromatic r33724 fixed an unrelated bug.
20:58 Wknight8111 yeah, malloc/realloc are terrible
20:59 moritz that's what perl 5 does iirc
21:00 chromatic Let me instrument our mallocs and see if there are patterns.
21:00 chromatic 5% is well within the realm of possibility.
21:00 chromatic 10% is likely.
21:00 chromatic 15% is possible.
21:01 jonathan Would be a decent win, if it could be done without hurting stability.
21:01 chromatic We have 10.6 million free() calls in the Rakudo-building benchmark.
21:01 jonathan ...wow.
21:01 chromatic 4.6 million malloc, 4.35 million calloc, 1.7 million realloc.
21:02 chromatic 7 realloc zeroed.
21:02 chromatic Not seven million.
21:02 chromatic 7, as in the cannibal number.
21:03 * masak googles that
21:06 particle 7 8 9
21:06 * jonathan groans
21:08 * masak too
21:08 masak but the Google hits were really interesting!
21:09 masak http://en.wikipedia.org/wiki/Mis​sionaries_and_cannibals_problem
21:10 * pmichaud remembers having to come up with solutions to M&C in Prolog.  Ugh.
21:12 masak Prolog can make the simplest logic problems seem a hurdle.
21:12 kj and vice versa ;-)
21:12 moritz aye ;-)
21:13 masak a hurdle can make the simplest logic problem seem like Prolog? :P
21:13 pmichaud allison:  previously .readline()  would remove the line terminator from the input string... that's no longer the case?
21:15 jonathan Do we want Parrot automatically removing it?
21:15 jonathan (e.g. sometimes you may want to have it, like if your langauge doesn't auto-chomp)
21:16 pmichaud I'm just saying it's a change, and that readline_interactive gives me two different behaviors at the moment.
21:16 pmichaud (depending on whether the readline library is present)
21:17 particle what trace flag do i need active to see .lex ?
21:17 pmichaud .lex isn't an opcode.
21:17 particle i know.
21:18 pmichaud ...so you can't see it.
21:18 pmichaud in a trace.
21:18 particle the . gives it away. but it's hard to debug lexicals without seeing where they're bound
21:18 jonathan Two different behaviours bad.
21:18 particle .lex "$key", param_97 ... find_rex $P102, "$key" # Lexical '$key' not found
21:19 dalek r33725 | kjs++ | trunk:
21:19 dalek : [imcc] split .line <int> , <string> into .line <int> and .file <string> as already defined in pdd19.
21:19 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33725
21:19 dalek r33726 | kjs++ | trunk:
21:19 dalek : [pdd19] some updates and clarifying texts.
21:19 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33726
21:19 pmichaud I wonder why the readline library chooses to remove the newline.
21:20 pmichaud as in, is there a reason for doing that.
21:25 pmichaud I'm going to have readline_interactive work a little bit more like the former 'readline' did
21:27 allison joined #parrot
21:27 particle joined #parrot
21:48 dalek r33727 | pmichaud++ | trunk:
21:48 dalek : [io]: Make readline_interactive more consistent when readline lib isn't present.
21:48 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33727
21:52 alvar joined #parrot
21:54 allison joined #parrot
22:01 TiMBuS joined #parrot
22:04 jhorwitz allison: ping
22:06 DietCoke joined #parrot
22:09 Whiteknight joined #parrot
22:15 Theory joined #parrot
22:15 GeJ Good morning everyone
22:15 pmichaud svn.perl.org down?
22:16 jonathan I fear so. :-(
22:16 jonathan I just tried to ci and fail. :-(
22:16 masak GeJ: good evenin' from Sweden.
22:16 GeJ hej masak
22:17 jonathan pmichaud: I haz 'has $.x = 42' working
22:17 masak jonathan++
22:17 moritz OMG THIS IZ AWSUM
22:17 jonathan ...it would be if I could commit it ;-)
22:17 masak wow, list slices and attr assignment on the same day!
22:17 moritz you can't?
22:18 jonathan And hyperops ;-)
22:18 masak moritz: svn.perl.org down
22:18 moritz masak: and basic hyperops
22:18 Tene svn.perl.org down
22:18 jonathan And for =$fh { ... } now works.
22:18 jonathan I'd say it wasn't a bad day...
22:18 masak hyperops++
22:18 particle jonathan: post the patch to moritz, so he can apply locally and run autounfudge
22:18 chromatic You have an autounfudge tool?
22:18 GeJ svn.perl.org down as well
22:18 masak .oO( wonder if there's a way to combine the three new features... )
22:18 particle we'll be even closer to 5k tests passing
22:18 moritz chromatic: sure, in tools/ in the rakudo dir
22:18 Infinoid masak: voltron style
22:19 Tene say [+] =$fh
22:19 Tene that work?
22:19 * masak googles voltron
22:19 chromatic say [eval] =$fh
22:19 Tene chromatic: eval is infix?
22:19 moritz nah, eval isn't an op
22:19 chromatic A REPL in one line of Perl: say [eval] =$*STDIN
22:19 chromatic Who says it can't be?
22:19 PerlJam that would be cool
22:19 particle it's uist $*IN
22:19 chromatic I know where we host the grammar...
22:19 particle *just
22:19 masak Infinoid: ah. yes. :)
22:20 chromatic log.perl.org is up, but no status there.
22:20 gryphon joined #parrot
22:20 jonathan Tene: Yes, it does.
22:20 * purl stays quiet
22:21 nopaste "moritz" at 89.12.157.220 pasted "[+] =$fh" (7 lines) at http://nopaste.snit.ch/14885
22:21 jonathan chromatic: eval is not an operator... :-)
22:21 Tene [+] =$fh >>*>> 2
22:21 moritz but of course eval [~] =$fh could work ;-)
22:21 particle say .eval for =$*IN
22:22 jonathan for =$*IN doesn't do what you want for the time being (need lazy lists which need a spec)
22:22 particle it's valid p6, though
22:22 particle just not working
22:22 chromatic We need an op which turns a method call into an op so that we can meta it.
22:22 chromatic [.eval]
22:22 moritz chromatic: you can say @array>>.eval
22:23 jonathan Oh yes, it's valid. Just not what you want under Rakudo.
22:23 particle @*IN>>.eval.say ??
22:23 jonathan There's an @*IN?
22:23 particle iunno
22:24 jonathan yay, svn lives
22:24 moritz robrt++ ask++ # it might have been one of them ;-)
22:24 dalek r33728 | jonathan++ | trunk:
22:24 dalek : [rakudo] First cut of initializing attributes at the point of declaration (has $.x = 42).
22:24 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33728
22:25 Tene chromatic: but [] is for infix and chain associative ops
22:25 Tene What would $a eval $b mean?
22:26 Theory joined #parrot
22:26 chromatic In this case, reduce but do not apply.
22:27 Tene eh?
22:27 purl Speak up, sonny!
22:27 Tene purl: forget eh
22:27 purl Tene: I forgot eh
22:28 chromatic Nah, I'm just messing with you all.
22:28 chromatic </bender>
22:37 rob joined #parrot
22:47 register joined #parrot
22:51 dalek r33729 | moritz++ | trunk:
22:51 dalek : [codingstd] wrap long lines in pdd19_pir.pod
22:51 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33729
22:54 dalek r33730 | moritz++ | trunk:
22:54 dalek : [codingstd] remove trailing whitespaces
22:54 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33730
22:55 dalek r33731 | pmichaud++ | trunk:
22:55 dalek : [pct]:  Give hll compilers an interactive readline again.  (allison++)
22:55 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33731
22:56 pmichaud [+] @x >>**>> 2     # sum of squares of @x
22:58 dalek r33732 | moritz++ | trunk:
22:58 dalek : [rakudo] tools/autounfudge.pl: add a --section option to for example only
22:58 dalek : process S12 tests
22:58 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33732
22:58 dalek r33733 | jonathan++ | trunk:
22:58 dalek : [rakudo] Implement cross meta-operator, which sicne now we have reduce and we already had infix:X was rather trivial (it's just the de-sugaring shown in S03).
22:58 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33733
23:01 particle rakudo: say <a b> X~X <1 2>;
23:01 polyglotbot OUTPUT[Statement not terminated properly at line 1, near "2>;"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤called from Sub 'parrot;Perl6;Grammar;eat_terminator' pc 27342 (src/gen_grammar.pir:3363)␤called from Sub 'parrot;Perl6;Grammar;statementlist' pc
23:01 polyglotbot ..25998 (src/gen_grammar.pir:2830)␤called from Sub 'p...
23:01 pmichaud is infix:X implemented correctly?
23:01 particle oh, right, it's only 3:01
23:01 pmichaud answer: no.
23:01 pmichaud I'll rewrite infix:X later.
23:02 pmichaud maybe I'll rewrite it now.
23:03 TonyC joined #parrot
23:05 pmichaud (list functions that use element indexes are evil.)
23:09 jonathan pmichaud: I've just had to fix infix:= at least one way.
23:09 pmichaud oh?
23:10 jonathan oops
23:10 jonathan infix:X
23:10 jonathan :-)
23:10 jonathan What on earth...those keys are miles from each other.
23:10 pmichaud I'm going to rewrite it so it doesn't use the element indexes.
23:10 jonathan Have fun, it was hateful to write in the first place.
23:11 dalek r33734 | jonathan++ | trunk:
23:11 dalek : [rakudo] infix:X ended up giving a result that flattened, which meant we got wrong results.
23:11 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33734
23:13 dalek r33735 | jonathan++ | trunk:
23:13 dalek : [rakudo] infix:X,X is just infix:X.
23:13 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33735
23:22 ruoso joined #parrot
23:28 jonathan rakudobug?
23:28 purl rakudobug is mailto:rakudobug@perl.org
23:33 Whiteknight tewk?
23:33 purl tewk is probably Kevin Tew, mailto:tewk@tewk.com
23:34 tewk yes
23:34 moritz me?
23:34 purl you are right, there are a LOT of things like that.
23:34 moritz heh :)
23:34 moritz purl: no, moritz is Moritz Lenz, mailto:moritz@faui2k3.org
23:34 purl okay, moritz.
23:38 jonathan Today's report: http://use.perl.org/~Jonath​anWorthington/journal/38056
23:39 pmichaud nice report
23:40 pmichaud amazing how far we've come in 1 week.
23:40 Alias_ Question: In a Perl 6 distribution, is there any documentation for the expected directory layout
23:41 pmichaud not yet
23:41 Alias_ Second: What is the situation regarding Relocation and Portable'ness
23:41 pmichaud I'm still waiting for Parrot to figure out its install footprint before I start designing things for rakudo / Perl 6
23:41 Alias_ ok
23:42 pmichaud but that's supposed to happen between now and January, so it's not a long wait.
23:42 pmichaud (if it doesn't happen by January, I'm forcing the issue.)
23:42 jonathan pmichaud: It was nice to spend the day working mostly on features rather than bug fixes.
23:42 pmichaud indeed.
23:42 pmichaud same here.
23:42 Alias_ I'd like to stay in the loop on the distribution stuff
23:42 pmichaud I have a nopaste of my version of infix:X
23:42 pmichaud Alias_: you're top of the list at the moment.
23:42 Alias_ Thanks
23:42 jonathan pmichaud: URL?
23:42 pmichaud I'm really happy you're working on the packaging issues, and your experience is invaluable to us.
23:43 pmichaud just a sec
23:43 jonathan Agreed.
23:43 Alias_ Well, 3 years ago I discussed this situation with larry
23:43 jonathan Alias_: You'll be putting out downloadable Rakudo packages for Win32?
23:43 Alias_ And he basically said he only cared about the language surface, and not really about the module/cpan layers
23:43 Alias_ jonathon: I'll be calling it "Perl 6" and not using the brand Rakudo, but yes
23:44 pmichaud Alias_: that's correct.  He really wants "distributions" to figure out the layouts.
23:44 jonathan Alias_: Do you have one already that I can point people at, or not yet?
23:44 Alias_ There is a test distribution, larry and I have the only copies
23:44 jonathan OK.
23:44 Alias_ His is burned onto a CD and largely ceremonial :)
23:44 nopaste "pmichaud" at 72.181.176.220 pasted "infix:X" (58 lines) at http://nopaste.snit.ch/14887
23:44 jonathan No hurry, will be nice to have when it's ready. :-)
23:44 Alias_ Since he was in Sydney at OSDC, so there was the opportunity to present it to him live on stage
23:45 Alias_ Otherwise I in no way want anyone else to try it :)
23:45 Alias_ For one, I had to force the tests
23:45 jonathan pmichaud: Ah, you went the recursive route.
23:45 pmichaud simpler.  Probably at least as efficient.
23:46 particle well, he doesn't have windows, so probably can't try it anyway :)
23:46 jonathan Doubt it'll be as fast, but I'm more worried about correctness at this point.
23:46 leto joined #parrot
23:46 pmichaud I don't think it'll be much slower.
23:46 pmichaud it's only one recursion per argument.
23:46 jonathan True.
23:46 jonathan If it passes the tests, works for me.
23:47 Alias_ particle: He has Windows at work :)
23:47 pmichaud so,  @a X @b X @c X @d only recurses three levels, regardless of the number of elements in each argument.
23:47 Alias_ Also, I announced the Microsoft thing 10 seconds after I gave him the CD :)
23:47 Alias_ In a very jobsian 'One more thing...' moment I rather enjoyed
23:47 pmichaud Alias_: I think I will definitely play with P::D::P this next week.
23:47 Alias_ ok
23:48 Alias_ As I mentioned, the whole family of modules is a little fragile, so talk to me if anything goes wrong
23:48 pmichaud with the work jonathan++ and I did today, the december release is starting to look very christmas-y
23:48 Alias_ Mostly, at this point, I just don't understand what is needed
23:48 jonathan Aye, it's been a good week.
23:48 pmichaud not christmas yet this year, but we have a tree and some shiny ornaments
23:48 Alias_ I stripped the entire distro out to just 2 files (perl6.exe and parrot.dll) and the whole thing still worked
23:48 Alias_ But it would seem to me that 2 files does not a "distro" make :)
23:49 jonathan It...still worked?
23:49 Alias_ Yup
23:49 pmichaud jonathan: yeah, I'm thinking there must be something else afoot there.
23:49 jonathan Don't PGE.pbc and the like get load_bytecode'd?
23:49 pmichaud jonathan: yes.
23:49 jonathan *confused look*
23:49 Alias_ They are fairly lage...
23:49 jonathan Unless pbc_merge is being used...but I didn't think so.
23:49 Alias_ perl6.exe is like 1.5meg and parrot.dll is 11 meg
23:49 Alias_ I just assumed everything was being somehow statically compiled in
23:50 jonathan Alias_: Was that a non-debug build of Parrot?
23:50 AndyA joined #parrot
23:50 Alias_ It was "perl Configure.pl --prefix=..."
23:50 Tene perl6.exe is from pbc_to_exe
23:50 Alias_ With no TTY attached
23:50 Tene does pbc_to_exe do pbc_merge?
23:51 Alias_ No other flags are used yet
23:51 pmichaud Tene: not yet.
23:51 jonathan Alias_: OK, fine, was just curious.
23:51 jonathan Hmm. I'm like "nice it works, but why..." :)
23:51 Alias_ Ya :)
23:51 pmichaud same here.  I figure I'll know more after playing with P::D::P
23:52 jonathan Aye.
23:52 jonathan Oh...one thought.
23:52 pmichaud but it'll have to be next week sometime.
23:52 jonathan Did you take the parrot.dll and perl6.exe to a different machien than the one you build on, and try it there?
23:52 Alias_ No, I have not
23:52 jonathan Rather than just but the two in a directory of their own?
23:52 Alias_ But I can, they look quite "drop onto a flash drive"
23:52 jonathan And you didn't delete the original source tree?
23:53 Alias_ I can post those two files if you like
23:53 Alias_ So you can see
23:53 jonathan .oO( Maybe it went and loaded the PBCs from an absolute path... )
23:53 Alias_ God knows WHAT absolute path though
23:53 jonathan I hate to imagine.
23:54 jonathan pmichaud: Don't forget to blog about slices and list assignment - I purposefully didn't mention them in my report so as not to steal your thunder. ;-)
23:54 pmichaud I'm getting a spectest fail with     is @result.elems, 8, 'chained cross-comma produces correct number of elements';
23:54 jonathan With your implementation?
23:54 pmichaud yes.
23:54 Alias_ The initial test suite runs were building in C:\strawberry\cpan\build\Perl-​Dist-Parrot\t\tmp2\parrot\bin
23:54 jonathan Yes, let me check what you're doing...
23:55 Alias_ So it's hardly likely you have that hardcoded
23:55 jonathan ah
23:55 jonathan push res, $P0
23:55 pmichaud I shan't forget.  I'll have to leave in about 15 minutes for a family event, but I'll blog when I get home.
23:55 jonathan You're pushing a list onto a list, I think, so it gets flattened later.
23:55 jonathan You need more like
23:55 jonathan $P0 = new 'ObjectRef', $P0
23:55 Alias_ I'm zipping up the files now and I'll post them somewhere for you
23:55 pmichaud no, that's wrong.
23:55 pmichaud it should be a list of lists, because it *should* flatten in list context.
23:55 jonathan And you need to be sure you're creating a Perl6Array rather than a List.
23:55 jonathan Ah.
23:56 jonathan Then if it's going to flatten...is the test wrong to thing there is 8 elements?
23:56 pmichaud I'm not sure what .elems would return on a list of lists.
23:56 jonathan OK.
23:56 jonathan At the moment it seems to flatten and return 32.
23:56 pmichaud ((1,2), (3,4)).elems    #  I'm pretty sure this is 4 and not 2
23:57 jonathan OK. If that is the case, and S03 says list of lists, then your implementation is right and the test should be changed.
23:57 pmichaud pugs says 4.
23:57 pmichaud The operator is list associative, so
23:57 pmichaud 1,2 X 3,4 X 5,6
23:57 pmichaud produces
23:57 pmichaud (1,3,5),(1,3,6),(1,4,5),(1,4,6),​(2,3,5),(2,3,6),(2,4,5),(2,4,6)
23:57 pmichaud that looks like list of lists to me.
23:57 jonathan Yes.
23:58 jonathan OK, test is wrong then.
23:58 jonathan s/8/24/ in the test and you should be good.
23:58 pmichaud yes, that's it.
23:58 pmichaud I didn't run all of the other spectests, but I'm going to commit now
23:58 pmichaud otherwise the commit will have to wait a few hours
23:59 jonathan Works for me.
23:59 * Whiteknight loves watching these conversations happen

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

Parrot | source cross referenced