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