Camelia, the Perl 6 bug

IRC log for #parrot, 2009-01-22

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:01 Whiteknight kj, for PIR calls, IMCC does do that
00:01 Whiteknight check compilers/imcc/pcc.c:390 for the code
00:01 Whiteknight I know that spot off the top of my head, becuase I'm doing work there
00:01 kj mm ok. well that's good anyway.
00:03 Theory joined #parrot
00:09 AndyA joined #parrot
00:16 dalek r35875 | coke++ | trunk/t/pmc:
00:16 dalek : add reference to ticket
00:16 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35875
00:17 Coke chromatic: we have to skip that test or fail every test after that test.
00:18 Coke NotFound: if something is broken, and we have a dated release, what do you suggest we do?
00:19 Coke chromatic: segfaults in PIR-only test files are more dangerous than in perl-based ones with separate invocations of parrot for each test.
00:19 NotFound Coke: at least comment the skip is inserted because of that
00:20 chromatic Yeah, they need ticket numbers at the very least.
00:22 NotFound I'm testing an striped down version of the test with can_handle that works and Whiteknight version that fails, and don't see any significant difference :?
00:23 NotFound Other than the minor that one works and the other segfault, that is ;)
00:24 Coke post them both?
00:26 NotFound I'm tired and maybe I'm confusing all. Will take a better look tomorrow. Sorry for the rants.
00:27 tetragon joined #parrot
00:28 Whiteknight kj: I would really like to re-do that whole invocant-passing mechanism
00:29 Whiteknight it's not extensible, and doesn't work in all cases
00:31 kj Whiteknight: if you  mean to re-do it in the PIR compiler, I've already done
00:31 kj but it doesn't work
00:31 purl It's a Y2K error!  Panic!  Sue!
00:31 kj it might have to do with something else, though
00:32 kj i suspect execution starts at the wrong sub in the generated bytecode, but dunno how to check/fix
00:36 Whiteknight particle++
00:38 kj time to sleep. goodnight.
00:39 Theory joined #parrot
00:39 Whiteknight I am really looking forward to redoiing all the calling conventions nonsense
00:39 chromatic Better start eatin', kid.
00:40 Whiteknight chromatic: I'm thinking about creating an op "getself" or "getinvocant" or something like that that returns a PMC reference to interp->current_object
00:40 Tene purl: msg pmichaud I'd love to work or help work on PCT docs.  If you could mail me about that soon, I can start on it.
00:40 purl Message for pmichaud stored.
00:40 Whiteknight use that to pass invocants around instead of passing them in the packfile stream
00:41 Whiteknight that would make invoke overrides work
00:41 Tene purl: msg pmichaud or ast docs, or pdds, or whatever.  Feel free to assign anything to me.
00:42 purl Message for pmichaud stored.
00:42 chromatic $P0 = getinterp
00:42 chromatic $P1 = $P0.'current_invocant'
00:54 Whiteknight chromatic, that seems like an awfully roundabout way to do it
00:54 Whiteknight plus, you have to break the PIR-C barrier every time you call a method
00:55 Whiteknight I'm talking about switching over to use such an opcode for all methods and vtable calls, instead of passing the invocant as the first parameter as we do now
00:55 Whiteknight and if we do that, we should optimize such a common case
00:57 Whiteknight Tene, I'm interested in the PCT docs too, but I mostly need to update the PCT chapters in the docs/book/
00:57 Whiteknight so any information you get from that will help me
01:01 particle whiteknight: what if 'current_invocant' and others are exposed via the hash interface, so you can use vtable functions instead of method calls?
01:02 Whiteknight particle, that may work too, but seems like a workaround when we can get the value directly
01:02 particle eg.g $P1 = $P0['current_invocant']
01:02 particle yes, but then you have a new opcode to deal with
01:02 Coke if we provide informaiton in a hash, just use the hash.
01:02 Coke otherwise we'll have an opcode for every key of the hash.
01:02 Whiteknight right, but one new op would be faster then a keyed VTABLE lookup
01:02 Coke Whiteknight: I demand an op to get the recursion limit. =-)
01:03 particle worry about faster later.
01:03 GeJ Out of curiosity, what is wrong with the calling conventions?
01:03 Coke they're slow?
01:03 particle they're slow
01:03 Whiteknight GeJ: What isn't wrong with them
01:03 LimbicRegion joined #parrot
01:03 Coke no, slow mostly covers it.
01:03 Whiteknight they're a mish-mash of several different conventions, each that do mostly the same thing in slightly different ways from different places
01:03 chromatic They also don't support all of the features desired in HLLs.
01:04 Whiteknight basically, they're b0rked from the bottom-up
01:04 chromatic Whiteknight, it's not easy to invoke opcodes from methods and vtable entries written in C.
01:05 Whiteknight chromatic, in C we can just access interp->current_invocant directly. The opcode would just be a thin accessor to that data value
01:06 chromatic Why does it need to be an opcode?
01:06 LimbicRegion joined #parrot
01:06 Whiteknight I only suggest opcode because that's the fastest, faster then a vtable invocation, or a method invocation
01:07 Whiteknight actually, the method invocation wouldn't work at all, because making the method call would overwrite the current invocant, so that's out
01:07 chromatic Not if we moved current_invocant into the context struct.
01:07 Coke chromatic: what language does it not work for?
01:07 Whiteknight no, you're right about that. IT's already in the context struct, but it's mostly used to store nested values
01:08 chromatic Coke, pmichaud wants to have named-only parameters that never get filled from positional parameters.
01:08 * GeJ thinks he'll stick to Perl-to-PIR conversions for now... until he gets some serious tuits on what's under the hood.
01:08 Whiteknight I started working on the :lookahead parameter type, but didn't complete it
01:10 Whiteknight but eventually we're going to have it
01:20 Whiteknight urg, with all the tickets and test failures surrounding atan, I say we just rip that damn opcode out
01:21 Whiteknight now if Perl 6 has an atan operator, maybe we should keep it, but I doubt that
01:21 Whiteknight I can only imagine what that hell-ugly operator would look like: !>+*<><
01:21 Whiteknight 'prefix:!>+*<><'
01:32 Coke atan should be a method on Float
01:33 cotto I'd appreciate anyone who could look my reply to #48014 and tell me there's a better way to do that.
01:42 jonathan cotto: How much do we actually use multiple inheritance in PMCs?
01:43 cotto not at all in core, but some HLLs do
01:43 particle1 joined #parrot
01:43 cotto definitely Tcl and Lua
01:46 jonathan Hmm.
01:46 jonathan We can't just ban it then. :-|
01:47 cotto yeah
01:49 cotto I really hate to pessimize the common case to enable the uncommon case.
01:50 Tene joined #parrot
01:54 jonathan cotto: Same.
01:58 * jonathan -> sleep
02:25 kid51 joined #parrot
02:28 cotto Whiteknight, did you intentionally reply only to me?
02:32 Whiteknight um...probably not?
02:32 Whiteknight it doesn't really matter though
02:36 cognominal joined #parrot
02:37 ask joined #parrot
02:47 ask_ joined #parrot
03:21 Fayland joined #parrot
03:41 ask joined #parrot
04:03 particle joined #parrot
04:05 ask joined #parrot
04:21 tetragon joined #parrot
04:59 bacek joined #parrot
05:06 petdance joined #parrot
05:35 ask joined #parrot
06:06 mberends joined #parrot
06:49 cotto it's quiet
06:49 purl yeah... TOO quiet...
06:50 Tene joined #parrot
07:10 alvar joined #parrot
07:12 Theory joined #parrot
07:27 ask joined #parrot
07:29 bacek joined #parrot
07:29 moritz Rakudo's t/spec/S12-role/namespaced.t recurses from infix:eq
08:40 ask joined #parrot
09:04 Casan joined #parrot
09:08 * lu_zero wakes up
09:13 masak joined #parrot
09:16 MariachiElf joined #parrot
09:22 barney joined #parrot
09:45 barney joined #parrot
09:50 lu_zero moritz I cannot find your ticket about optimization and 64bit
09:50 moritz lu_zero: did you look in RT?
10:02 lu_zero ahh
10:02 lu_zero I was looking in trac
10:03 moritz it was opened just before the migration
10:03 lu_zero (btw, trac hand't changed that much, I'd keep rt...)
10:04 lu_zero I could reliably have parrot fail when building with distcc but works correctly (apparently) w/out
10:10 iblechbot joined #parrot
10:17 lu_zero Kevin Tew  is around?
10:18 moritz seen tewk
10:18 purl tewk was last seen on #parrot 2 days, 15 hours, 33 minutes and 36 seconds ago, saying: :q  [Jan 19 18:44:35 2009]
10:21 lu_zero ^^;
10:21 barney joined #parrot
10:22 dalek bernhard.schmalhofer@gmx.de | Pipp:
10:22 dalek link: http://www.perlfoundation.​org/parrot/index.cgi?pipp
10:27 dalek r35876 | bernhard++ | trunk/languages/pipp/docs:
10:27 dalek : [Pipp] Add two links WRT extensions
10:27 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35876
10:29 tewk lu_zero: pong
10:37 TiMBuS joined #parrot
10:43 kj joined #parrot
10:48 dalek r35877 | cotto++ | trunk/src:
10:48 dalek : [codingstd] add space after comma
10:48 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35877
10:50 masak btw, how did that Rakudo release tarball thing work out?
10:51 tomyan joined #parrot
10:51 moritz masak: chromatic++ uploaded a fixed version as 0.9.0 to parrot.org, and as 0.9.0.1 to cpan.org
10:51 masak sounds good.
10:52 moritz I'd prefer it if were 0.9.0.1 on both, because now two different 0.9.0 float around
10:55 masak true.
10:55 masak but the difference is only one line of code, no?
10:55 moritz yes
10:55 moritz no
10:56 moritz the difference is working vs. non-working
10:56 masak :)
11:04 dalek r35878 | jonathan++ | trunk/languages/perl6 (2 files):
11:04 dalek : [rakudo] Remove unused @?PACKAGE and $?NS (we init the first and never use it, then use the second but never init it, thus I guess it was useless).
11:04 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35878
11:12 TiMBuS joined #parrot
11:30 mberends joined #parrot
11:36 cotto barney, ping
11:48 barney cotto: pong
11:49 cotto what were you asking about on the list?
11:50 cotto were you unclear about what the $got_attrs_from checks check?
11:51 barney I was wondering whether a 'child' could add an ATTR to the list of ATTR inherited from the 'parent'
11:53 cotto a child's ATTRs are a superset of the parent's
11:53 cotto is that what you mean?
11:55 cotto or are you asking if a child can modify a parent? (it can't)
11:55 dalek r35879 | jonathan++ | trunk/languages/perl6/src (2 files):
11:55 dalek : [rakudo] What's installed in the namespace for a role should probably act like a proto-object a bit more; this makes it stringify in the same kinda way.
11:55 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35879
12:02 barney Ok. the check is that a pmc inherits ATTRs only from one of it's possibly many parents
12:02 cotto yup.
12:04 barney So it can't inherit 'AttrA' from parent 'A' and 'AttrB' from parent 'B'
12:05 cotto nope.
12:05 dalek r35880 | bernhard++ | trunk/compilers/imcc:
12:05 dalek : [codingstd] linelenght.t
12:05 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35880
12:05 dalek r35881 | bernhard++ | trunk/languages/perl6/src/classes:
12:05 dalek : [codingstd] trailing_space.t
12:05 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35881
12:06 dalek r35882 | bernhard++ | trunk/compilers/imcc:
12:06 dalek : [C] give free the memory for 'name'
12:06 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35882
12:07 barney k
12:08 cotto I get the impression that it'll be possible to do so at some indeterminate point in Parrot's future, but not for now.
12:24 lu_zero tewk hi
12:25 lu_zero I'd like to know more about cardinal and if it could be provided already within an experimentally packaged parrot
12:25 lu_zero I had a friend nagging me about it and got curious as well
12:26 lu_zero brb
12:26 dalek r35883 | rurban++ | trunk:
12:26 dalek :
12:26 dalek : [cage] Update README_cygwin.pod
12:26 dalek :        - Added a new PROBLEMS section.
12:26 dalek :        - Removed parrot-languages.
12:26 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35883
12:26 moritz isn't Tene our cardinal hacker?
12:27 jonathan Tene is our hacker of many good things.
12:27 moritz I know, but he's the only one (apart from dmknopp) from whom I've seen commits to cardinal
12:28 jonathan aye
12:57 kj I did some cardinal stuff, about 1 year ago or so
13:01 dalek r35884 | jonathan++ | trunk/languages/perl6 (4 files):
13:01 dalek : [rakudo] Improve support for nested packages; gets the issues in various RT tickets resolved.
13:01 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35884
13:12 dalek r35885 | bernhard++ | trunk/languages/pipp/docs:
13:12 dalek : [Pipp] PARROT_VARIANT is no longer used, update PARROT_HOME to new
13:12 dalek : (local) dir
13:12 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35885
13:12 dalek r35886 | bernhard++ | trunk/languages/pipp:
13:12 dalek : [Pipp] Call '_dumper' in ['parrot'], not in the current namespace
13:12 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35886
13:12 dalek r35887 | bernhard++ | trunk/languages/pipp:
13:12 dalek : [Pipp] remove debug output
13:12 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35887
13:12 dalek r35888 | bernhard++ | trunk/languages/pipp:
13:12 dalek : [Pipp] determine the PHP source fn in  parse_arguments()
13:12 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35888
13:15 coke_z jonathan,cotto: (multiple inheritance of PMCS) Tcl is using that behavior, but only as a convenience
13:18 Coke perhaps this would be a good time for me to move to a tclscalar.
13:21 * cotto can't help but think of Coach Z when he sees coke_z
13:21 cotto Coke, would TclScalar try any multiple inheritance shenanigans?
13:26 cotto also, Tcl's current shenanigans pose no problems to the patch I posted to the list.  Just remove the explicit fv ATTRs and you're good to go.
13:33 cotto and some other changes relating to TclObject not having a fv ATTR
13:39 mberends joined #parrot
13:40 Coke would you like commit bits to partcl?
13:41 Coke cotto: tclscalar would have string/int/float/list/dict  attributes and morph itself between them.
13:41 Coke rather than relying on parrot's morph.
13:42 Coke so if someone asks me for my list value, then prints me, then my list value again, I'm not changing several times.
13:42 cotto if you mean ATTRs, then there might be an issue
13:43 Coke I mean attributes.
13:43 Coke (I'd write it in PIR, not C)
13:43 cotto shiny
13:44 cotto fewer segfaults that way
13:45 Coke perhaps slower, but I've given up on speed. :|
13:45 cotto The speed of Parrot discourages me.
13:48 Coke I am unable to add certain features to partcl at this point because of speed issues.
13:48 Coke (of course, there may be more efficient ways to do it, but still.)
13:49 cotto I'm hopeful that the speed is an artifact of Parrot's relative instability, and that some serious optimization is in store once it becomes more settled.
13:54 PerlJam guten Tag #parrot
13:59 tomyan joined #parrot
14:01 Infinoid ohai PerlJam
14:05 * lu_zero is mostly back
14:08 cotto in spite of my best efforts, I appear to have become nocturnal
14:08 cotto night
14:14 barney Arrgh 35/1490 tests successful for Pipp with PHP testsuite
14:15 PerlJam barney: hey, it's a start!
14:15 PerlJam (unless you previously passed more tests, then it's a regression :)
14:17 barney Previously I passed less tests, but the test suit ran faster
14:30 PerlJam barney: is the php test suite in the pipp repository?
14:37 * Coke has a mailman question. :|
14:40 * Coke converts it into a regular expression question.
14:40 barney Perljam: It's from the standard PHP53, see docs/testing.pod
14:41 barney a small benchmark: http://gist.github.com/50555
14:50 Coke barney: so even with no HLL stuff, parrot is still more than 10 times slower than perl and php?
14:53 kj even with an optimized build?
14:53 Whiteknight joined #parrot
14:55 barney a plain 'perl Configure.pl' under Linux
14:55 kj but comparing an uncompared build is not fair testing... it's a huge difference
14:58 * Coke is called out on his perl6 commnit.
14:59 Whiteknight OH SNAP NOW IT'S ON!
14:59 Whiteknight ...so do we have like a dance-off now? because that's what happens in the movies apparently
15:00 Coke what does this syntax mean: my $num = (1..50).pick[0];
15:00 Coke does that take one result from pick and then use [0] to return the one element? (that you'd have gotten if you had just done (1..50).pick  ?
15:01 masak Coke: well,
15:01 masak .pick returns a list
15:01 masak (which is unfortunate, but currently as specced)
15:02 masak there has been talk about letting .pick return a Capture instead, ISTR.
15:07 gryphon joined #parrot
15:07 * barney rebuilding with --optimize
15:08 particle joined #parrot
15:12 kj mmm, a lolcode var test fails
15:28 barney benchmark with optimized build: http://gist.github.com/50555
15:31 kj that's not a very nice sight..
15:35 barney better look at long-running benchmarks, and consider startup time separately
15:35 NotFound What are you benchmarking for? repeat operator or io?
15:38 barney This was from a test in the PHP testsuite, on which Pipp had hung up
15:39 NotFound BTW I don't see what the dest parameter in string_repeat is supposed to be. All usages in the repo pass NULL.
15:42 NotFound And it seems to not be updated when num of repeats is 0. I suppose this is a bug, but as along as is never used it cannot be tested.
15:42 dalek r35889 | bernhard++ | trunk/languages/pipp/docs:
15:42 dalek : [Pipp] two comment in testing.pod
15:42 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35889
15:42 Casan joined #parrot
15:43 NotFound Going to create a ticket for this thing.
15:48 samlh joined #parrot
16:00 dalek r35890 | rurban++ | trunk/t/pmc:
16:00 dalek : [test] Fix cygwin os hardlink test.
16:00 dalek :   - add cygwin to list of unsupported platforms for hardlink-to-file test
16:00 dalek :   - add a hardlink-to-directory test which requires root permissions.
16:00 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35890
16:03 ron joined #parrot
16:05 gaz joined #parrot
16:08 Theory joined #parrot
16:30 ron left #parrot
16:39 dalek r35891 | pmichaud++ | trunk/languages/perl6/docs:
16:39 dalek : [rakudo]: spectest-progress.csv update: 294 files, 6500 passing, 11 failing
16:39 dalek : Failure summary:
16:39 dalek :     S12-role/namespaced.t aborted 3 test(s)
16:39 dalek :     integration/99problems-21-to-30.rakudo aborted 8 test(s)
16:39 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35891
16:41 rg joined #parrot
16:45 particle1 joined #parrot
16:48 dalek r35892 | Whiteknight++ | trunk/docs/book:
16:48 dalek : [Book] a few clarifications on the section about PIR register usage.
16:48 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35892
16:52 Coke before I remove Range.pick, it looks like someone fixed my mess.
16:52 Coke shall I remove it?
16:53 Whiteknight In perl 6, do methods have "self" or "this"?
16:54 PerlJam yes, self
16:54 Whiteknight Thanks PerlJam. Is it "self" or "$self"?
16:54 PerlJam just self last time I checked  :)
16:55 PerlJam though you can change the name with a pragma (don't know if anyone has implemented that yet though)
16:57 Whiteknight ok, thanks!
16:57 mberends Whiteknight: it's "self", unless you declare a method parameter "$self:", afaik
16:58 PerlJam oh, yeah, I forgot that you can mention the name of the invocant in the signature if you want it in a variable.
17:04 NotFound Oh, my, now we don't have warnings about unused parameters because ASSERT_ARGS uses them.
17:04 Tene joined #parrot
17:05 Infinoid hrm.
17:05 Infinoid how long until we can skip all this gcc nonsense and just compile parrot using languages/c99 ?
17:08 Tene moritz: yes, I wrote most of cardinal.
17:08 sjn joined #parrot
17:09 Infinoid NotFound: do you still get unused warnings during optimized builds?
17:10 NotFound Infinoid: I suppose not, but is nonsensical to have to do an optimized build to get basic warnings
17:10 Infinoid I agree.  But I don't know what to do about it.
17:10 Infinoid Patches welcome...
17:10 purl That's swahili for "Put up or shut up."
17:11 NotFound I know what to do, but a lot of people don't agree
17:11 Infinoid what do you think we should do?
17:11 NotFound Kill the non-null thing
17:12 Infinoid the attribute?
17:12 purl well, the attribute is called before that.
17:12 NotFound Yes.
17:12 Infinoid My vote was for that too.  Correctness before speed.
17:13 Infinoid But since that doesn't seem to be an option... the remaining problem is that we can't get both nullness checking and unused warnings in the same build
17:13 Infinoid Is it worth making it a configuration option?
17:13 Infinoid or a special build target, like "make splint" is
17:15 AndyA joined #parrot
17:16 NotFound I don't like the idea of adding more special cases and code complexity
17:16 Infinoid Anyway, I don't think throwing out the non-null thing necessarily solves the unused warnings problem, because it doesn't necessarily make ASSERT_ARGS() obsolete.  You'd have to explicitly say "We're not going to care about the nullness contract any more" and get rid of the ARG*_NULLOK macros, and NULLOK_INTERP...
17:16 NotFound We have more tha enough of that.
17:17 Infinoid The nonnull attribute was our first attempt at enforcing that.  ASSERT_ARGS is the second one.
17:18 Infinoid But getting rid of the first attempted fix doesn't make the problem go away...
17:20 Infinoid Anyway, I'm not married to ASSERT_ARGS by any means.  The fixes it found are useful and we should keep those, but the seatbelt itself doesn't necessarily need to be run by everyone all the time, especially if it gets in the way of other seatbelts.
17:20 NotFound I think there is no automatic solution with current compilers.
17:20 Coke removed range.pick locally; t/spec/S12-role/namespaced.t is still failing.
17:21 Coke I vote for making a special compile target.
17:21 Coke s/compile/configure/. we already have a --cage option to configure.pl; we could certainly extend taht.
17:22 Coke any rakudo folks about?
17:22 NotFound "\x{299}" malformed utf8 string? WTF?
17:29 moritz "wtf" is a good description
17:29 moritz since \x{229} is above 0xFF, it can't mean a byte representation
17:30 moritz in which case it doesn't even make sense to talk about utf-8
17:30 NotFound But is not a byte, is a codepoint.
17:30 moritz yeah, but a codepoint is not utf-8
17:30 moritz and it's not mal-formed utf-8 either
17:30 NotFound A codepoint is what the pir pdd says it is
17:31 moritz not the standard unicode terminology?
17:31 NotFound I mean, pir says that \x{} is a codepoint
17:31 mberends joined #parrot
17:32 moritz and there's some piece of software that tries to decode[sic] it as utf-8
17:34 NotFound "You can include a particular Unicode character as either a literal sequence of bytes, or as an escape sequence"
17:35 NotFound I was thinking that the implementation was already updated to reflect that, it looks that is not yet.
17:36 AndyA joined #parrot
17:41 hercynium joined #parrot
17:48 dalek r35893 | coke++ | trunk/languages/perl6/src/classes:
17:48 dalek : Revert add of Range.pick; while the no argument version here does better for
17:48 dalek : the simple case of (1..10000000).pick; it fails to handle other variants, causing
17:48 dalek : spec test regressions.
17:48 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35893
17:48 GeJ Good morning everyone
17:49 Coke GeJ: GOOOOOOOOOOOOOOOOOOOOOOOOO​OOOOOOOOOOOOOOOOOOOOOOOOOD MORNING!
17:49 Coke rakudo: (1..10000000000).pick.say
17:49 polyglotbot OUTPUT[687969638␤]
17:49 * Coke will try again in 5m.
17:49 Coke rakudo: (1..2).pick(3).say
17:50 polyglotbot OUTPUT[too many arguments passed (3) - 1 params expected␤current instr.: 'parrot;Range;pick' pc 7662 (src/classes/Range.pir:81)␤called from Sub '_block14' pc 102 (EVAL_17:47)␤called from Sub '!UNIT_START' pc 18200 (src/builtins/guts.pir:321)␤called from Sub 'parrot;PCT;HLLCompiler;eval' pc 950
17:50 polyglotbot ..(src/PCT/HLLCompiler.pir:527)␤called from Sub 'parro...
17:52 mberends joined #parrot
17:52 Coke rakudo: (1..2).pick(3).say
17:52 polyglotbot OUTPUT[too many arguments passed (3) - 1 params expected␤current instr.: 'parrot;Range;pick' pc 7662 (src/classes/Range.pir:81)␤called from Sub '_block14' pc 102 (EVAL_17:47)␤called from Sub '!UNIT_START' pc 18200 (src/builtins/guts.pir:321)␤called from Sub 'parrot;PCT;HLLCompiler;eval' pc 950
17:52 polyglotbot ..(src/PCT/HLLCompiler.pir:527)␤called from Sub 'parro...
17:52 Coke polyglotbot: help
17:52 polyglotbot Coke: Usage:
17:52 polyglotbot ..<(lua.past|ruby.paste|lolcode.pir|php.past|pynie​.pir|smalltalk.past|cardinal.parse|pheme.pir|small​talk.parse|python.paste|cardinal.pir|php.paste|bc.​paste|pynie|pheme.paste|punie|pipp|squaak.pir|tcl|​ruby.past|befunge.pir|squaak.parse|lua.paste|bf|ca​rdinal.past|bc.pir|rakudo.parse|punie.past|pheme.
17:52 polyglotbot ..parse|APL.parse|squaak.paste|APL.paste|chitchat.​past|bc.parse|abc.paste|befunge.parse|befunge|befu​nge.paste|tcl.paste|python|bc.past|pipp.paste|php.​pir|squaak.past|pynie.past|tcl.pir|rakudo.paste|py​nie.paste|perl6.pir|smalltalk.paste|php.parse|tcl.​past|pipp.past|lua|pynie.parse|python.parse|lua.p
17:52 polyglotbot ..ir|bf.parse|perl6.parse|php|lolcode.paste|chitch​at|abc.parse|bf.paste|python.past|bf.pir|chitchat.​paste|lua.parse|cardinal.paste|rakudo|APL|pheme|AP​L.past|punie.parse|bf.past|abc.past|APL.pir|perl6.​past|ruby.parse|abc|partcl.past|tcl.parse|pipp.par​se|perl6.paste|smalltalk.pir|smalltalk|partcl.pas
17:53 polyglotbot ..te|punie.pir|befunge.past|partcl.pir|lolcode.p​ast|bc|rakudo.past|partcl|ruby.pir|squaak|punie.​paste|lolcode.parse|python.pir|perl6|cardinal|ru​by|rakudo.pir|partcl.parse|pipp.pir|pheme.past|l​olcode|chitchat.parse|chitchat.pir|abc.pir): $perl6_program>
17:53 Coke that's not entirely helpful. =-)
17:53 Coke tcl.pir: puts hi
17:53 nopaste "polyglotbot" at 193.200.132.146 pasted "tcl pir" (4 lines) at http://nopaste.snit.ch/15392
17:53 Infinoid what should it say?
17:53 PerlJam It should be quieter
17:54 Coke that volume of output should be available via a private message. knowing when the last build was would also be helpful.
17:54 PerlJam or msg the help
17:54 purl Message for the stored.
17:54 PerlJam yeah.
17:54 PerlJam purl: you're not smart enough.
17:54 purl PerlJam: excuse me?
17:54 Coke (also, tcl doesn't support the normal PCT options; not sure if that's easy enough to remove.)
17:54 Infinoid you mean, like the .pir bit?
17:55 Infinoid sub help {
17:55 Infinoid return "Usage: <$regex \$perl6_program>";
17:55 Infinoid }
17:55 dalek r35894 | julianalbo++ | trunk/examples/pir:
17:55 dalek : pirric: use readline_interactive
17:55 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35894
17:55 Infinoid I have a feeling that was a lot more straight forward when it was first written.
17:55 tomyan left #parrot
17:56 Coke Infinoid: yes. those are invoked by passing --target=foo options; tcl doesn't support those.
17:56 Coke (and won't unless it switches to pct and gets them for free)
17:57 Coke might be better to say "here are the languages I support" "here are the modes you can request".
17:57 Infinoid ok.  the regex is built by a couple of nested loops, but I think enumerating every possibility is pretty useless anyway
17:57 Infinoid exactly.
17:57 Coke Infinoid++
17:57 Coke rakudo: (1..2).pick(4).say
17:57 polyglotbot OUTPUT[too many arguments passed (3) - 1 params expected␤current instr.: 'parrot;Range;pick' pc 7662 (src/classes/Range.pir:81)␤called from Sub '_block14' pc 102 (EVAL_17:47)␤called from Sub '!UNIT_START' pc 18200 (src/builtins/guts.pir:321)␤called from Sub 'parrot;PCT;HLLCompiler;eval' pc 950
17:57 polyglotbot ..(src/PCT/HLLCompiler.pir:527)␤called from Sub 'parro...
17:57 Infinoid I haven't done anything... and I'm not likely to in the near future (have to do $realjob stuff first)
17:58 * Coke gives up. =-)
17:58 spinclad joined #parrot
17:58 Tene Coke: feel free to patch it.
17:59 Tene Coke: I can give you access to feather3
18:00 Coke sure.
18:00 Coke is it stored in an svn repository somewhere?
18:01 Infinoid no.  keep backups.
18:01 Tene No.
18:01 Tene Just in my home directory.
18:02 Tene Feel free to set that up, too, or anything else you want.
18:02 Tene ssh coke@feather3.perl6.nl
18:02 Tene password is 'omgcoke'.  pls change it.
18:07 Coke done.
18:10 Tene Go wild.  Change anything you like.  The only thing in my home directory are the parrot build dirs, the rebuild script infinoid wrote which is run from cron, and the bot.
18:11 Coke if I change something, how do I make it take effect?
18:11 Coke I presume I have to kill the bot and restart it?
18:12 Infinoid yeah.  and disown it so it won't quit when you close your ssh session
18:12 Tene Infinoid changed that recently, I think.
18:12 Tene Oh, nm.
18:12 Infinoid Tene: I just killed yours and ran it by hand...
18:12 Coke disown?
18:12 purl disown is correct.
18:13 Coke purl, forget disown
18:13 purl Coke: I forgot disown
18:13 Tene Right, you were just asking about how I did it.
18:13 Infinoid same question Coke is asking now :)
18:13 Tene Coke: background it and then run 'disown'
18:13 Coke which disown => nada.
18:14 Tene it's a shell builtin
18:16 Infinoid says "that background process isn't my child any more"
18:17 moritz is that similar to running it with nohup in the first place?
18:17 Tene moritz: yes
18:20 Coke Tene: I'm locked out of that dir.
18:21 Tene ohright
18:21 Tene you have sudo access
18:21 Tene sudo su - tene
18:22 Tene and enter your password
18:27 jhorwitz joined #parrot
18:33 Coke polyglotbot:help
18:33 Coke polyglotbot: help
18:33 Coke perl6: 'hi'.say
18:34 polyglotbot joined #parrot
18:34 Coke perl6: 'hi'.say
18:34 polyglotbot OUTPUT[hi␤]
18:34 Coke polyglotbot: help
18:34 polyglotbot Coke: To execute code, your send should begin with the name of a language, a colon,
18:34 polyglotbot ..then the code to execute. Your code must generate output. You can optionally
18:34 polyglotbot ..modify the language with a period and a target; e.g. "perl6.past: 'hi'.say"
18:34 polyglotbot ..Note: Not all languages support all targets.
18:34 polyglotbot ..
18:34 polyglotbot ..Languages: { abc APL befunge bf cardinal chitchat lolcode lua partcl perl6 pheme pipp punie pynie squaak tcl rakudo ruby smalltalk bc php python }
18:34 polyglotbot ..Targets: { parse past pir paste }
18:34 moritz that's... still verbose
18:35 mberends joined #parrot
18:36 polyglotbot joined #parrot
18:36 Coke polyglotbot: help
18:36 polyglotbot Coke: To execute code, your send should begin with the name of a language, a colon, then the code to execute. Your code must generate output. You can optionally modify the language with a period and a target; e.g. perl6.past: 'hi'.say Note: Not all languages support all targets.
18:36 polyglotbot ..Languages: abc APL befunge bf cardinal chitchat lolcode lua partcl perl6 pheme pipp punie pynie squaak tcl rakudo ruby smalltalk bc php python
18:36 polyglotbot ..Targets: { parse past pir paste }
18:36 Coke yes, but now it's legible. Suggestions welcome.
18:37 moritz write it into a query?
18:37 Coke ?
18:37 moritz make polyglotbot answer you in a query?
18:37 Coke you mean a question?
18:37 Coke or is query some IRC thing?
18:38 moritz query is the same as /msg
18:38 Coke that involves learning more about this than I care to. =-)
18:38 moritz or "private message"
18:38 moritz a well, it was only a suggestions ;-)
18:39 Coke tcl: puts {still there, doofusbot?}
18:39 polyglotbot OUTPUT[still there, doofusbot?␤]
18:39 Coke there, I've disconnected, that's running under nohup
18:43 Tene coke++
18:43 Coke perl6: (1..20).pick(*)
18:43 polyglotbot RESULT[[6, 5, 19, 1, 4, 9, 17, 16, 7, 8, 14, 13, 10, 20, 15, 12, 2, 11, 18, 3]]
18:44 Coke when did pgb start not needing print statements?
18:44 Coke perl6.pir (1..20).pick(*)
18:44 Whiteknight pick on a range has to be an eager evaluation, right?
18:44 Coke perl6.pir: (1..20).pick(*)
18:45 nopaste "polyglotbot" at 193.200.132.146 pasted "perl6 pir" (60 lines) at http://nopaste.snit.ch/15393
18:45 Coke Whiteknight: yes. I had tried to fix that, but only did so for the simple case and broke everything else.
18:46 Whiteknight I wonder what happens when you do a pick on an infinite range?
18:48 ask joined #parrot
18:57 moritz Whiteknight: hopefully a very friendly run-time error is issued (rather than looping forever)
18:58 Whiteknight yeah, that's what I was thinking
18:59 moritz I expect .pick to call .elems on self, and check for Infinity
19:02 pmichaud I expect .pick to be defined on Any
19:03 pmichaud and for Range to use that.
19:03 pmichaud (yes, it can then call .elems and the like)
19:03 pmichaud it should also probably be lazy :-)
19:04 moritz it should, but to pick fairly it has to consider all elements nonetheless
19:04 pmichaud yes, so it does need an idea of the number of elements.
19:05 pmichaud and special handling of Inf.  But more than ranges can be Inf.  :-)
19:05 moritz so should (1..10).pick(*, :repl) generate an infinite stream?
19:05 pmichaud sure, why not?
19:05 * moritz likes the idea
19:05 moritz the * as first arg means something different in non-repl mode
19:06 pmichaud anyway, the reason why .pick doesn't currently work on Range is that we need to do a postcircumfix:<[ ]>  for Range.
19:06 particle joined #parrot
19:06 particle When selecting with replacement the specified number of picks are provided.  In this case C<*> would provide an infinite list of random picks from C<@values>:
19:06 particle @byte = (0,1).pick(8, :repl);
19:06 particle for (1..20).pick(*, :repl) -> $die_roll { ... }
19:07 moritz wow, sometimes the good features are already specced ;-)
19:07 particle who wants to visit me?
19:07 particle http://www.southwest.com/landing/seattl​e50off.html?src=MAILCNSTUES000000090120
19:07 shorten particle's url is at http://xrl.us/bedf3j
19:11 mberends ...but [- Select Departure City -] at SouthWest has no European cities :(
19:11 pmichaud mmmm, I fly SWA all the time.
19:11 pmichaud I'm actually just a few miles away from their corporate hq :-)
19:13 pmichaud yup, $134 round trip.
19:13 mberends ah, pmichaud: is it a big ask to examine the rvar2 merge (r35311) for damage to $*ERR ? RT#62540.
19:14 pmichaud mberends: I need to finish my lunch -- maybe later today?
19:14 pmichaud yes, I'll take a look, though.
19:14 mberends later this week is plenty good, thanx
19:15 rob joined #parrot
19:16 rob whilst playing around with PCT i keep getting "Method 'item' not found for invocant of class 'ResizablePMCArray" from my gen_actions.pir
19:16 rob any idea how to go about debugging this?
19:16 particle method item is called when you do $()
19:16 pmichaud that usually means that you're using   $()  on something that is an array instead of a Match object.
19:17 rob ah! thanks :)
19:17 pmichaud in particular, if you have
19:17 pmichaud rule foo { <bar>? }
19:17 pmichaud then remember that $<bar> is an array .
19:17 particle ayep. common pitfall.
19:17 pmichaud so you'd have to do  $( $<bar>[0] )   instead of just $( $<bar>) )
19:17 pmichaud (er, ignore that last paren.)
19:22 rob thanks
19:22 particle looks like i can now convert "NaN" to its numeric representation, and i'm working on sprintf now to go the other way
19:22 particle we may have portable NaN/Inf soon!
19:23 Whiteknight particle++
19:23 particle src/spf_render.c:740
19:23 particle excellent. now, to find the time to fix that up...
19:32 * Whiteknight found some time under the couch
19:33 particle C89++ # limits.h and float.h are your friends
19:48 rob whilst using PCT, I am getting a run time error "Could not find non-existent sub Capture[.." from HLLCompiler;eval ?
19:49 rob any ideas, it doesn't seem to have got to the parsing stage?
19:52 lu_zero joined #parrot
19:53 lu_zero hi
19:54 rob don't worry, fixed it :)
19:58 mberends lu_zero: hi, is there an lu_six_point_two in your family? and a mainframe in the back yard?
20:00 lu_zero mberends theheh, no =)
20:00 lu_zero tewk ping
20:08 NotFound I've managed to load perl6, compreg it and call the compile method on the compiler object. How can i execute the result?
20:09 particle $P0()
20:09 NotFound There is not a named method equivalent?
20:10 particle invoke $P0
20:10 particle don't know if that's also a method, but the op or pir sugar should do
20:14 NotFound The eval pmc has not any method
20:28 On2 joined #parrot
20:30 chromatic joined #parrot
20:30 nopaste "coke" at 65.91.151.194 pasted "wtf" (11 lines) at http://nopaste.snit.ch/15395
20:31 DietCoke joined #parrot
20:31 * DietCoke wonders if his nopaste rings any bells.
20:32 Coke I did just delete a key in the hash before it was cloned.
20:33 nopaste "NotFound" at 213.96.228.50 pasted "perl6 from pirric" (4 lines) at http://nopaste.snit.ch/15396
20:33 NotFound Talk about language interoperability ;)
20:34 particle nice work, notfound++
20:34 NotFound Still uncommited some changes, works only for me.
20:38 Infinoid Coke: can you get a backtrace for that?
20:38 Infinoid a simple testcase would also work.
20:41 Infinoid it looks like a C function was called with a null pointer which shouldn't have been, and ASSERT_ARGS caught it.
20:44 nopaste "coke" at 72.228.52.192 pasted "backtrace" (69 lines) at http://nopaste.snit.ch/15397
20:44 Coke er, that's 2 backtraces.
20:44 Coke the one we care about is near the bottom.
20:45 Infinoid the other one is TT #193, right? :)
20:45 Coke prolly
20:46 Coke guessing that parrot_hash_clone should have some defense against null keys.
20:46 Coke (if delete is going to leave them lying about.)
20:46 Infinoid I think delete probably shouldn't.
20:46 Coke I was unable to get a smaller example to fail in the same way.
20:47 Coke Infinoid: I'm not sure it can't leave them lying around. (parrot_hash_delete)
20:48 Coke this is breaking a tcl spec test, btw.
20:48 dalek r35895 | julianalbo++ | trunk (3 files):
20:48 dalek : pirric: add capability to register HLLs and invoke code compiled with them, and example of perl6 usage
20:48 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35895
20:49 nopaste "Infinoid" at 96.238.213.50 pasted "Simple test case demonstrating the key assertion failure" (12 lines) at http://nopaste.snit.ch/15398
20:50 Coke Infinoid: no clue why yours fails and mine didn't, but thanks. =-)
20:50 Infinoid Guess I'm just pathological by nature.
20:51 Infinoid Some days it seems like every button I press breaks something :)
20:54 chromatic Hey, 6500 passing Rakudo tests.  Very nice.
20:55 NotFound chromatic: try my latest interlanguage nightmare
20:55 chromatic I saw that.  Very nice.
20:56 Infinoid Coke: I'm running the obvious workaround through "make test" now...
20:57 Coke Infinoid: https://trac.parrot.org/parrot/ticket/211
20:57 Coke if you have a patch, I can test it for partcl.
20:57 nopaste "infinoid" at 96.238.213.50 pasted "patch -p1 me" (20 lines) at http://nopaste.snit.ch/15399
21:04 NotFound rakudo has 'return'?
21:05 Infinoid uck.  t/pmc/hash.t is written in pir, which means if I add my test case there and it regresses, it will crash instead of just failing one test
21:07 chromatic Maybe we need t/tests_that_suck.t written in Perl 5.
21:09 Infinoid or maybe ASSERT_ARGS needs to throw exceptions instead of triggering SIGABRT
21:10 NotFound Looks like return does not work outside of a sub
21:10 Coke Infinoid: (regresses in a PIR file) we just had this discussion. :|
21:11 Infinoid ah, I must have missed it.
21:11 Coke exception handler subclassing segfaults, so the test is commetned out.
21:20 pdcawley joined #parrot
21:20 Casan joined #parrot
21:23 Coke Infinoid: how'd 'make test' end up?
21:23 Coke (btw, if it regresses and the entire .t file files, that's a pretty good "FIX ME" note.)
21:25 * Coke wonders if fperrard got 0.9.0 instead of 0.9.0
21:26 Infinoid Coke: it's working fine here
21:26 Infinoid how does tcl spectest look?
21:26 Infinoid (I'm running through rakudo spectest_regression at the moment)
21:27 particle1 joined #parrot
21:35 Coke Infinoid: looks good here.
21:35 Coke (well, not the spectest entirely, because that'd take 5 hours to run.)
21:35 Coke (but I can no longer reproduce it with the tcl sample code.)
21:37 Infinoid Coke: committing
21:38 dalek r35896 | infinoid++ | trunk (2 files):
21:38 dalek : [hash] Don't clone null hash keys.  This fixes TT #211.
21:38 Coke rant: you'd think that googlecode and googlegroups could coordinate so I don't have to whitelist commit messages.
21:38 dalek : Also add the test case from TT #211 to t/pmc/hash.t.
21:38 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35896
21:38 Coke Infinoid++
21:39 * Coke is rerunning the file that spec test was in to see if it works now.
21:39 particle1 can anyone tell me if rakudo compiles with ftp://ftp.parrot.org/pub/parrot/rele​ases/devel/0.9.0/parrot-0.9.0.tar.gz
21:39 shorten particle1's url is at http://xrl.us/bedb83
21:40 chromatic I can.
21:40 chromatic It does.
21:40 * purl stays quiet
21:41 chromatic ... unless someone else with access to ftp.parrot.org overwrote that tarball with one where it didn't.
21:42 GeJ seconded.
21:43 particle1 gratz.
21:43 PerlJam just for grins I downloaded the tarball and am making parrot + perl6
21:45 Infinoid as much as I hate the details of how ASSERT_ARGS is implemented, I love how it's finding bugs like Coke's.
21:46 chromatic Ditto.
21:46 PerlJam looks like it builds fine.
21:52 contingencyplan joined #parrot
22:08 particle1 notfound?
22:09 Whiteknight joined #parrot
22:12 NotFound particle1: yes?
22:12 particle1 julian albo, correct?
22:13 NotFound Aye
22:13 particle1 purl, NotFound is julian albo
22:13 purl OK, particle1.
22:13 particle i noticed config/gen/platform/generic/platform_limits.h
22:13 particle did you author that, or just touch it up? you're listed in $Id$
22:13 NotFound My secret identity revealed ;)
22:14 NotFound particle: I do it, but the thing needs more research
22:14 particle that's where i come in :)
22:14 particle i'm working with float.h for nan/inf stuff
22:15 particle noticed generic/platform_limits, but nothing similar for float
22:15 particle we *may* need it for cross-compiling, but currently nothing uses platform_limits.h
22:15 NotFound I failed to found a completely portable way to check limits when there is no limit.h available
22:15 particle limits.h is C89
22:16 particle it should *always* be available
22:16 particle so i'm wondering if my assumption about *always* is wrong.
22:16 NotFound particle: I have the same opinion, but our overlords says we must tolerate his absence.
22:17 particle i'd like to see where that was said, and by whom. mailing list? irc? do you recall?
22:17 NotFound irc or mailing list, I'm not sure
22:18 NotFound The idea was to use it to prevent overflows in integer operators.
22:21 particle sure
22:23 particle i don't want to walk down the path toward creating platform_stdio.h
22:24 particle i'm going to skip the generic/ stuff for now, just to get this working on core platforms and worry about portability later
22:29 kj joined #parrot
22:31 donaldh joined #parrot
22:32 kj any objection if I let pbc_disassemble print the contents of the constant table?
22:33 particle no
22:33 Whiteknight kj+
22:33 Whiteknight kj++
22:33 kj it's a first draft but works for strings and numbers. how to print PMCs, i have yet to find out
22:38 tewk_ joined #parrot
22:40 kj mmm, let's use the print instruction :-)
22:45 kj that didn't work though.
22:46 dalek r35897 | kjs++ | trunk/src:
22:46 dalek : [core] let pbc_disassemble dump the contents of the const-table first, so that you know what's meant if you read PMC_CONST(n). Not sure how to print a PMC, though.
22:46 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35897
22:51 TiMBuS joined #parrot
22:52 kj too bad that PMCs have the option of *not* implementing get_string
22:52 particle how about get_repr
22:53 kj I'll try
22:53 kj I was just planning to check, using "can"
22:53 kj eh, not sure if that's an option
22:54 kj nope, 'Sub' doesn't implement that
22:55 particle what would you like to see there?
22:55 particle name, subid, etc, but not body?
22:55 particle should be easy enough to implement
22:56 kj yes, I know. Thing is, just calling get_string or, invoking Parrot_print_p on the PMC won't be safe for *all* PMCs
22:56 kj as soon as a PMC doesn't implement a stringification method, then it won't work.
22:56 particle right. i think all pmc's should implement get_repr, then, or use default's get_repr
22:57 kj default throws an exceptioin
22:57 particle yes, because it's currently optional
22:57 viklund joined #parrot
22:57 kj "not implemented"
22:57 kj maybe the safest way is to print the name of the class
22:57 viklund does anyone here now anything about getting mod_parrot running?
22:57 particle in key form?
22:57 particle jhorwitz does
22:58 viklund ahh, that's his irc-handle...
22:58 viklund jhorwitz: I want to get november running under mod_perl6, but I seem to have a problem with mod_parrot...
22:59 viklund the error I get is "couldn't find file 'P6object.pbc'"
23:00 viklund @seen jhorwitz
23:01 moritz seen jhorwitz
23:01 purl jhorwitz was last seen on #parrot 2 days, 23 hours, 57 minutes and 0 seconds ago, saying: ok i'll try that out.  [Jan 19 23:04:01 2009]
23:05 dalek r35898 | moritz++ | trunk/languages/perl6/t:
23:05 dalek : [rakudo] add tests for RT #62260 (outer lexicals in END) to t/spectest.data
23:05 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35898
23:06 moritz rakudo: class A { has @.b = <1 2 3 4>; method c { @.b[*-1] }; say A.new.c
23:06 polyglotbot OUTPUT[Unable to parse block; couldn't find final '}' at line 1, near ""␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤called from Sub 'parrot;Perl6;Grammar;block' pc 29774 (src/gen_grammar.pir:2481)␤called from Sub 'parrot;Perl6;Grammar;package_def' pc
23:06 polyglotbot ..83497 (src/gen_grammar.pir:22944)␤called from Sub 'p...
23:06 moritz rakudo: class A { has @.b = <1 2 3 4>; method c { @.b[*-1] } }; say A.new.c
23:06 polyglotbot OUTPUT[4␤]
23:06 moritz jonathan++
23:07 viklund jhorwitz: nevermind, solved it
23:11 mberends moritz: that's the [*-1] I didn't have a few weeks ago. nice!
23:11 moritz mberends: that's why I ++'ed jonathan ;)
23:13 kj how can I get the name of any PMC class?
23:13 mberends moritz++ jonathan++ . unfortunately some other errors prevent my code using latest Rakudo today, but it will surely come soon. danke!
23:15 kj ah Parrot_oo_get_class
23:20 mberends moritz, I know you spent some time in Scotland. I'm working in Dumfries next week, have you been there?
23:22 moritz mberends: no, just passed there once, I think
23:23 * mberends make'ing spectest of r35898 on linux-amd64
23:23 dalek r35899 | fperrad++ | trunk (20 files):
23:23 dalek : [configure] apply patch from TT #119
23:23 dalek : Many libraries are only used by PMC or via NCI.
23:23 dalek : So, don't put them in @libs@, we don't need them to link parrot executable & shared lib.
23:23 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35899
23:24 * moritz is making a git clone of parrot
23:25 moritz since I already have a complete svn mirror, it's not such a big deal
23:26 moritz it still takes ages
23:26 moritz hope it's done when I wake up tomorrow ;-)
23:28 mberends those new electrons are pretty quick, but the hard drives make them dizzy
23:29 * moritz mumbles something incomprehensible about special relativity and scalar gauge fields
23:30 cognominal and magnetism is not yet used to get perpendicular on disks :)
23:30 * mberends finds most things non-newtonian incomprehensible
23:31 moritz cognominal: they will, in 3 to 5 years (estimated, of course)
23:31 moritz mberends: they *are* incomprensible. Nearly nobody claims to understand quantum mechanics
23:31 moritz with relativity it's different, that's easier to visualize
23:33 mberends is relativity the only possible explanation for michelson-morley?
23:33 * rg just filed a new ticket TT #212
23:33 Infinoid quantum mechanics is just an implementation detail.
23:34 moritz mberends: no, but the other explanations are even more insane ;-)
23:34 mberends so you don't have to be mad to work here, but it helps
23:35 moritz Infinoid: the open source community usually cares a lot about those details ;-)
23:35 GeJ is there an ETA for the repo-switch ?
23:35 Infinoid moritz: if the implementation doesn't match the design, where do I submit bug reports?
23:36 cognominal universe implementation has not been open sourced, it takes big nut crakers like the LHC to reverse-engineer it.
23:37 Infinoid there are some *serious* action-at-a-distance problems with the current implementation.
23:37 moritz Infinoid: if that address were known, it would have been spammed and closed by now ;-)
23:37 moritz nonlocality--
23:37 dalek r35900 | kjs++ | trunk/src:
23:37 dalek : [core] print certain types of PMC constants in the constant table. These are common, and very useful, especially the signature arrays for the PCC.
23:37 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35900
23:38 Infinoid not to mention the lack of documentation
23:38 moritz illiterate programming
23:40 mberends <opinion>LHC will prove to be too small, but will produce enough justification to build a bigger one. etc, recursively</opinion>
23:40 Infinoid eventually we'll have a track around the equator, and then that one won't be big enough, and we'll have to find a bigger planet
23:41 mberends heh
23:44 rg nah, why constrain yourself with a planet. just build it around the sun. free energy source included ;)
23:44 davidfetter type 3 civilization ftw
23:45 Infinoid space is a good place for those things, anyway.
23:48 particle1 joined #parrot
23:50 mberends r35898 linux-amd64 spectest: All successful, 1421 subtests skipped. Files=295, Tests=8254 !
23:51 * mberends needs sleep. g'night #parrot!
23:51 chromatic Why would anyone pass a NULL hash into parrot_hash_size?
23:52 GeJ "just for the fun of it" suddenly doesn't look like the universal answer
23:52 chromatic That answer's not working for me at the moment anyway.
23:53 cotto chromatic, does that happen anywhere?
23:53 cotto (I'm not entirely sure I want to know.)
23:53 chromatic The API allows it.
23:54 chromatic Let me finish tidying the file and fixing up its documentation and I'll fix that.
23:54 chromatic Someone (Hi, cotto!) should fix src/hash.c not to use out parameters when it creates hashes.
23:54 chromatic That will make PMCs somewhat saner.
23:55 chromatic If you want real fun, read parrot_hash_get_idx.
23:56 chromatic Encapsulation?  NO THANK YOU!
23:57 cotto chromatic, you mean that any functions that create new hashes return them?  Sounds revolutionary.
23:59 chromatic We're blazing new ground here.
23:59 chromatic Eventually we may be able to get rid of the PMC union val.
23:59 NotFound Someone has taken a loook at TT #210 ?
23:59 cotto I just need a +1 on that patch and it'll be a smop.

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

Parrot | source cross referenced