Camelia, the Perl 6 bug

IRC log for #parrot, 2008-05-01

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:13 contingencyplan joined #parrot
00:18 TheAvarHexMan left #parrot
00:20 askie joined #parrot
00:35 dalek r27260 | chromatic++ | pdd25cx:
00:35 dalek : [exceptions] Prepended EXCEPTION_ to all exception types, globally.
00:35 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27260
00:35 dalek chromatic@wgz.org | Concurrency Tasks:
00:35 dalek link: http://www.perlfoundation.org/pa​rrot/index.cgi?concurrency_tasks
00:35 shorten dalek's url is at http://xrl.us/bjqpy
00:40 dalek r27261 | chromatic++ | trunk:
00:40 dalek : [src] Fixed C++ build (which I probably broke).
00:40 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27261
01:03 kid51 joined #parrot
01:04 Andy joined #parrot
01:15 Andy joined #parrot
01:17 dalek r27262 | jkeenan++ | trunk:
01:17 dalek : Correct DESCRIPTION and AUTHOR sections in POD.
01:17 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27262
01:36 patspam joined #parrot
02:02 Theory joined #parrot
02:16 japhb joined #parrot
02:18 japhb seen chromatic
02:18 purl chromatic was last seen on #parrot 1 day and 3 hours ago, saying: I'll update the wiki so I don't have to keep it in my braiiiiins.  [Apr 29 16:41:29 2008]
02:36 rmah joined #parrot
02:38 rmah left #parrot
02:40 Coke brains?
02:40 purl NO BRAINS FOR YOU! NEXT!
02:40 Coke braaaaains?
02:40 Coke -> abed
03:03 davidfetter joined #parrot
03:04 davidfetter joined #parrot
03:21 patspam joined #parrot
04:07 Patterner brainz?
04:07 purl brainz is http://www.urbandead.com/
04:08 tetragon branes?
04:08 purl Help me, help me! Q::E melted my braaaaane.
04:29 contingencyplan joined #parrot
04:30 tetragon joined #parrot
04:52 Psyche^ joined #parrot
05:42 Zaba_ joined #parrot
06:24 slightlyoff joined #parrot
06:59 Theory joined #parrot
08:08 jonathan morning all
08:08 purl morning, jonathan
08:14 iblechbot joined #parrot
09:04 wknight8111 joined #parrot
09:23 ambs joined #parrot
09:23 ambs good morning
09:23 purl Is it morning again?  YAWN...
09:29 jonathan morning ambs
09:34 barney joined #parrot
09:36 alex_ joined #parrot
09:37 alex_ left #parrot
09:37 dalek r27263 | jonathan++ | trunk:
09:37 dalek : [rakudo] Refactor storage of type information so we now store it in a general %!properties hash.
09:37 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27263
09:48 dalek r27264 | bernhard++ | trunk:
09:48 dalek : [Eclectus]
09:48 dalek : Add missing ',' in NQP-generation.
09:48 dalek : Make the 'gen_past_in_nqp' the default implementation.
09:48 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27264
09:51 nopaste joined #parrot
10:08 dalek r27265 | bernhard++ | trunk:
10:08 dalek : [Eclectus]
10:08 dalek : Rip out support for 'gen_past_in_pir'.
10:08 dalek : Add some notes in eclectus.pod.
10:08 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27265
10:48 Zaba joined #parrot
11:01 dalek r27266 | jonathan++ | trunk:
11:01 dalek : [rakudo] Basic implementation of WHENCE, though it certainly will need fleshing out later. This is the first step in being able to set initial attribute values of parent classes from the call to .new().
11:01 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27266
11:24 mire joined #parrot
11:26 kid51 joined #parrot
11:34 dalek r27267 | jonathan++ | trunk:
11:34 dalek : [rakudo] Refactor the Pair class so we no longer use the Parrot Pair PMC, which was mutable and seemed a tad broken too.
11:34 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27267
11:45 askie joined #parrot
12:24 ambs joined #parrot
13:05 dalek r27268 | jonathan++ | trunk:
13:06 dalek : [rakudo] Improve new method to take auto-vivification closures, and also to die if you specify a named parameter that doesn't correspond to an attribute. So now new(Foo{:x(42)}) style stuff works.
13:06 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27268
13:14 gryphon joined #parrot
13:15 Coke someone ate his wheaties this morning. =-)
13:22 Senaka joined #parrot
13:22 * Senaka likes the Parrot SW Foundation idea
13:23 Senaka seen infinoid
13:23 purl infinoid was last seen on purl 14 hours and 41 minutes ago, saying: <private message>
13:23 Senaka seen chromatic
13:23 purl chromatic was last seen on #parrot 1 day and 14 hours ago, saying: I'll update the wiki so I don't have to keep it in my braiiiiins.  [Apr 29 16:41:29 2008]
13:24 * Senaka mumbles....
13:43 dalek r27269 | jonathan++ | trunk:
13:43 dalek : [core] The copy opcode currently blows up if working with an anonymous class, since it has no type number. We'll choose to morph to an Undef instead for now; may not be perfect, but appears to work fine.
13:43 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27269
13:56 dalek r27270 | jonathan++ | trunk:
13:56 dalek : [rakudo] Small addition to new to use the current protoobject's WHENCE, so now you can do things like my $foo42 = Foo{ :x(42) }, and then anything you instantiate from $foo42 will have x as 42 by default.
13:56 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27270
14:10 iblechbot joined #parrot
14:40 cognominal joined #parrot
14:47 dalek r27271 | jonathan++ | trunk:
14:47 dalek : [rakudo] Make it so we can specify multiple parameters in the WHENCE. This also sets us up a little more for slices, but they are some way down the list yet. These set of patches to introduce WHENCE will handle the common case of initializing superclass attributes, but will need some further changes later as we're supposed to wind up with lazily evaluated closure semantics. That looks a tad trickier, though.
14:47 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27271
14:47 Senaka left #parrot
14:56 rhr joined #parrot
15:29 Senaka joined #parrot
15:30 Senaka left #parrot
15:30 Andy joined #parrot
15:39 Zaba joined #parrot
15:42 patspam joined #parrot
16:14 davidfetter joined #parrot
16:31 rdice joined #parrot
16:33 tewk seen pmichaud,jonathan
16:33 purl I haven't seen 'pmichaud,jonathan', tewk
16:33 tewk seen pmichaud
16:33 purl pmichaud was last seen on #parrot 18 hours and 45 minutes ago, saying: particle:  I have a gprs modem with kubuntu :-)
16:33 tewk seen jonathan
16:33 purl jonathan was last seen on #parrot 7 hours and 4 minutes ago, saying: morning ambs
16:34 jonathan twek: ping
16:35 tewk So I'm getting back into parrot, and I want error reporting to work. For example I'd like PGE to report the line of the grammar file that is failing, not just the pir.
16:36 tewk I've got a few tuits, just need someone to get me up to speed on what needs to be implemented/changed.
16:36 tewk I love PGE, I hate its error reporting.
16:38 jonathan Aha, OK. WE have a branch for working on PDD13 things at the moment. Infinoid is working on moving us over to using PMCs for packfile stuff.
16:39 jonathan But it may be possible to start getting some of the bits we need for the bytecode annotations in place.
16:39 nopaste "tewk" at 155.97.237.62 pasted "I'd like to add grammar.pg lines numbers intermingled to this" (16 lines) at http://nopaste.snit.ch/12869
16:39 jonathan The spec is here: http://www.parrotcode.org/d​ocs/pdd/pdd13_bytecode.html
16:40 jonathan The relevant part is "Annotations Segment"
16:41 jonathan This will give us the power to express line number, file, column and whatever else we need.
16:42 jonathan We need this Parrot-level support first, then there's the work to tie this into PGE, PCT and so forth.
16:49 tewk jonathan: so do we want labeled annotation segments like one for PIR and one for HLL
16:50 tewk I would really like a HLL backtrace and a PIR backtrace eventually.
16:50 Infinoid regarding the PDD13 work, I've got some stubs in place but no meat yet... once I understand the current .pbc file format, I can start implementing RT#53130, and then we can start thinking about jonathan's nifty new format
16:51 jonathan twek: yes, we will be able to have both.
16:52 jonathan Infinoid: did you stub in the annotations segment PMC yet?
16:53 Infinoid yes, all the PMCs are stubbed
16:53 Infinoid https://svn.perl.org/parrot/branches/pd​d13pbc/src/pmc/packfileannotations.pmc
16:53 shorten Infinoid's url is at http://xrl.us/bj2rq
16:53 tewk tewk checks out PDD13 branch
16:54 jonathan OK, cool.
16:54 * particle has thought PFAnnotations might be better than PackFileAnnotations, but that's lipstick
16:54 Infinoid it is a mouthful
17:03 * Coke does not tend to prefer abbreviations like htat.
17:03 Coke but I spent half of the last six years getting paid to work on java.
17:08 Coke Infinoid: what is #53130 for?
17:08 Coke (isn't load_bytecode "foo.pbc" readonly, e.g.?)
17:09 Infinoid Coke: PDD13 task: basically, reimplement src/packfile.c in PMC form
17:09 Infinoid I've broken the tasks out into RT tickets... #53130 is read support, #53140 is write support
17:17 Coke ah
17:21 Theory joined #parrot
17:52 ambs joined #parrot
17:57 Coke particle: ping. is http://rt.perl.org/rt3/Tic​ket/Display.html?id=45413 closable?
17:57 Coke (or anyone with win32/msvc)
17:58 ambs ney
17:58 ambs no msvc :)
17:59 ambs Determining whether python is installed.........................yes, 2.5.2.
17:59 ambs AAAAAAAAAAAAARGH!
18:00 Ivatar joined #parrot
18:01 Coke ?
18:01 dalek r27272 | ambs++ | trunk:
18:01 dalek : print version without the leading v
18:01 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27272
18:02 ambs Coke, parrot is detecting python. that can't be good
18:02 Coke is one of the languages using it? pretty sure we don't need it for anything core.
18:02 ambs probably
18:02 purl Really? Probably? Are you Certain it's not certain? Are you sure it's unsure? I think you need to look harder.
18:04 purl joined #parrot
18:05 ambs purl, seen schwern
18:05 purl schwern was last seen on #perl 15 hours and 24 minutes ago, saying: YoMama:  Microsoft Word Up!
18:06 ambs :-S
18:07 gryphon joined #parrot
18:09 Eevee does schwern work on parrot/perl6?
18:10 Coke nope.
18:10 Coke ambs needs him for other reasons.
18:11 Eevee ah
18:12 ambs sorry, I could just msg purl.
18:14 dalek r27273 | jonathan++ | trunk:
18:14 dalek : [rakudo] Make regexes in grammars end up in the right namespace. Also begin treating grammars more like classes, so we will be able to get inheritance working later on.
18:14 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27273
18:15 ambs hmms... opengl.pir library has hardcoded library paths. not like it much
18:15 jonathan ok y'all, dinner time...back in a bit
18:15 japhb ambs: I'm here
18:16 japhb damn, brb
18:16 * ambs grins
18:19 rillian so, I love that parrot has opengl bindings. but, er, why?
18:20 Eevee more interestingly, can they be easily used from rakudo
18:20 japhb ambs, rillian: I'm back
18:20 japhb OK, let me answer questions.
18:20 ambs japhb, tell me a thing
18:20 pmichaud Eevee: we don't have a good way to access the opengl stuff from rakudo yet
18:21 ambs japhb, that pathes on OpenGL.pir for loadlib, are generated during a config step? or are they always like that?
18:21 pmichaud in general, we haven't identified exactly where rakudo modules should go
18:21 Eevee ah
18:21 pmichaud (in the runtime path, that is.)
18:21 japhb ambs: I don't like it either, but right now there is no way to find the system headers for any other way than manually iterating over the possibilities.
18:22 Eevee be there really any good mechanism to call C from any p6 implementation?  (actually, I don't ever remember reading anything about how that's supposed to work)
18:22 japhb You'll notice that some of the library names are just file basenames, and other ones have full paths -- this is because of the "different" way that Mac OS X does runtime linking
18:23 pmichaud Eevee: at present it's not well defined, no.
18:23 ambs japhb, right. I am having some similar problem with pcre, I think
18:23 pmichaud at least not for rakudo.
18:23 ambs although not sure yet
18:23 japhb So OpenGL.pir iterates over the known ways that different operating systems refer to the OpenGL libs, and just uses the first one that works.
18:23 AndyA joined #parrot
18:24 * pmichaud ponders a temporary NCI.pm module....
18:24 japhb pmichaud, Eevee: jonathan has said he will put some effort into making it possible to access other language namespaces from Rakudo.  Once that works, we'll be golden.
18:25 japhb rillian: Two reasons.  1) I am in the camp proposing that Parrot should ship with wrappers for common things (and even if it doesn't *ship* with said wrappers, for now we need to incubate those wrappers in the Parrot repo, just like Rakudo incubates here), 2) Because OpenGL is the subsystem I care most about.  :-)
18:26 rillian I was mostly curious what you were doing with it
18:26 rillian rib compiler with scripting extensions? :)
18:27 pmichaud japhb: I've already got preliminary code to get PCT to access other hll namespaces -- just need to test and commit it.
18:27 pmichaud then Rakudo can use that.
18:28 pmichaud but the real issue at the moment is figuring out how to export symbols from one place to another
18:28 pmichaud and, in the case of OO libraries, getting the proper protoobjects in place for any given library
18:28 * pmichaud suddenly figures out a way to to do the latter.
18:29 pmichaud but I need lunch. bbl
18:29 japhb pmichaud: +1 to all four of your comments.  :-)
18:29 ambs what should a library .pir, like OpenGL or pcre do, when it fails to load a library?
18:29 japhb rillian: Right now, just spinning a triangle.  Eventually -- porting my Perl 5 3D engine to Perl 6 using Rakudo
18:30 japhb ambs: In my case, if every way I can load the library fails, I finally give up and die.
18:30 ambs japhb, how do we die? :D
18:31 * Eevee ponders re swig for rakudo?
18:31 rillian japhb: I love diversity! :)
18:31 japhb Eevee: something similar is the subject of a GSoC project
18:32 japhb ambs: see OpenGL.pir: load_lib_with_fallbacks, near the end of the sub
18:32 Eevee oh so it is
18:32 purl no it isn't
18:32 pmichaud (die)   use the die opcode
18:32 Zaba joined #parrot
18:32 Eevee that would be incredibly useful; c bindings and turing completeness are all you need to write anything  (see also php)
18:32 japhb ambs: I actually throw an exception, but top level parrot then dies
18:33 ambs japhb, found it.
18:33 * ambs will just die for now
18:33 pmichaud right -- just use the 'die' opcode
18:33 pmichaud that's what it's for.  :-)(
18:33 pmichaud er, :-)
18:33 japhb pmichaud: why not throw an exception?  I thought that was recommended for a module's behavior?
18:34 pmichaud japhb:   die === throw an exception
18:34 pmichaud die "foo"    throws an exception with a message of 'foo'
18:34 ambs nice
18:34 ambs japhb, you can remove three lines :D
18:34 pmichaud if nothing traps it, then parrot does a backtrace and dies
18:34 japhb pmichaud: Ah!  So it just saves the work of having to create the exception PMC manually
18:35 pmichaud japhb:  yes
18:35 pmichaud in PCT we actually generalize it to a panic method
18:35 japhb ambs, pmichaud: excellent.
18:35 pmichaud so one can do   $P0.panic('Exception: ', $S0, ' has been reached with ', $I0, ' status')
18:36 pmichaud and automatically stitch together the arguments into a string that is then thrown using 'die'
18:36 japhb I also found a place to save a few lines in a similar way in triangle.pir -- but I haven't had a chance to implement the needed change to glut_callbacks.c to make it work.  Damn $day_job!
18:36 japhb pmichaud: very nice!
18:36 pmichaud but in general, to throw an exception with a string is simply 'die'
18:36 pmichaud (unless the exceptions PDD has changed that recently)
18:37 pmichaud really gone this time.
18:37 pmichaud (lunch)
18:42 ambs hmms.. parrot doesn't have a -L flag, for library searching, right?
18:43 japhb ambs: I don't know exactly how parrot's dynamic loading works, actually.  What you see in OpenGL.pir was the result of a couple days hashing out with the MacOS X people trying to get something that would work for now.  It certainly seems less than ideal, to say the least.
18:44 ambs japhb, right
18:44 ambs also, I had to set DYLD_FALLBACK_LIBRARY_PATH so library.t find libpcre under /opt/local/lib
18:45 japhb ambs: I was thinking at one point of moving load_lib_with_fallbacks to runtime/parrot/library/NCI/ so that everyone could use it, but I didn't want to further cement this ugly hack.  I guess it depends on how long until the problem is dealt with cleanly.
18:46 japhb OK, afk for lunch myself.
18:46 ambs sure
18:48 dalek r27274 | ambs++ | trunk:
18:48 dalek : Fixed pcre.pir to die if library is not found.
18:48 dalek : Added SVN properties to auto_pcre-01.t
18:48 dalek : Removed trailing spaces on remaining files.
18:48 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27274
18:56 ambs who is the current parrot pumpkin? is there any?
18:57 grim_fandango joined #parrot
19:00 Coke we don't have one, per se.
19:00 Coke do you mean, "who is doing the next release?"
19:01 Coke or do you mean 'who makes sure stuff that gets checked in is sane'?
19:01 Coke the answer to the first one is chromatic.
19:03 ambs I know releases are cycling
19:03 ambs and my question is probably the second
19:04 Coke it's shared across all the committers; many of us follow the commits list and comment on commits.
19:04 slightlyoff joined #parrot
19:05 slightlyoff left #parrot
19:05 Coke that's just post-commit, though.
19:05 Infinoid "make test" is a pretty good starting point for pre-commit
19:06 Coke there's pre-commit work done too. Ultimately, it's up to allison, but most folks with a commit bit act autonomously at some lvel.
19:06 Coke Infinoid: that's a pretty good -ending- point. =-)
19:06 ambs nice.
19:06 Infinoid really?  if it doesn't pass tests, I don't bother people with "is this sane?" questions
19:07 Coke if it does pass tests, you're done, though, neh?
19:07 Infinoid or you haven't written enough tests yet :)
19:07 Coke I was alluding to the decision about what should even be -in- parrot, and then the implementation, and *then* the fact that it's tested.
19:08 Infinoid the first third of that statement seems a bit ambiguous
19:08 ambs ok, sent an email for discussion about dynamic loading
19:08 ambs now it is time for dinner
19:09 ambs and I'll be back to read the flames and answers
19:09 Infinoid heh, in that order.
19:11 Coke Infinoid: for example "should we have opengl bindings"
19:11 Coke or "should we provide transcendental math opcodes"
19:11 Coke some stuff gets checked in without a real design review.
19:12 Coke or architecture review, ftm.
19:13 Coke a lot of it is done post-commit. (Which I think has been working ok in the pre-1.0 stage.)
19:15 Infinoid ok.  I did get some flak for the opengl bindings :)
19:17 askie joined #parrot
19:20 Coke and, in an ideal world, you'd have gotten the flak before anything was committed!
19:20 Coke ... perhaps I should "platonic" there to avoid implications of my personal preference.
19:24 mire joined #parrot
19:30 cotto_work joined #parrot
19:35 * jonathan returns from dinner
19:40 ambs joined #parrot
19:41 sjansen joined #parrot
19:43 Coke pmichaud: is it possible that tryeq and tryok are meant to trap an exception, potentially useful when you're just starting out?
19:43 pmichaud meant to, perhaps.  But in the code they don't do that.
19:44 pmichaud as written they're local to arith.t, not testing in general.
19:44 Coke then by all means. You should have moritz make the SOC guy do that. =-)
19:44 pmichaud and in arith.t, any exceptions that occur would happen before tryeq/tryok are invoked.
19:45 pmichaud so they're kinda irrelevant.
19:46 pmichaud well, this came up in response to some questions from obra++, who is working on understanding the tests so he can put together a guide for people wanting to work on Perl 6 tests
19:46 pmichaud I agree with having the SOC guy work on it, but I also think there's plenty to do (and it's timely) that we can also handle it now
19:50 dalek r27275 | kjs++ | trunk:
19:50 dalek : [docs] update pir introductionary articles
19:50 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27275
19:53 ambs any fink user around?
19:57 ambs none around, it seems
19:58 jonathan I tweaked the spec tests a little today, but it's tedious and I don't feel I made much progress to getting us anywhere close to having a set of tests that we expect to pass when running make spectest, which is what I want.
20:01 rafl joined #parrot
20:02 davidfetter joined #parrot
20:04 ambs and chromatic is not around again
20:05 ambs well, sent an email
20:07 Zaba_ joined #parrot
20:07 ambs and another
20:08 * ambs waits for flames again
20:08 ambs :D
20:10 Infinoid funny, I thought the NCI stuff did dlopen(), rather than actually linking the binary against them
20:11 ambs Infinoid, they do dlopen
20:11 ambs but the binary is being linked as well
20:11 ambs those -l should be removed from the CC line used to compile parrot
20:12 wknight8111 joined #parrot
20:12 Infinoid if parrot links without them, we obviously don't need them
20:12 ambs I know
20:12 Infinoid so I agree :)
20:12 ambs we need to correct the configure system about that
20:12 ambs just that :)
20:12 Coke ambs: otool -arch all -L $*
20:13 Coke (my ~/bin/ldd script)
20:13 ambs oh, nice
20:13 ambs Coke, but that doesn't solve the problem :D
20:13 Coke no, but it will avoid all those nasty greps. =-)
20:13 ambs sure
20:13 ambs Coke++
20:24 jonathan pmichaud: Just looking into passing flags from PAST to another compiler (for passing on sigspace and so forth).
20:24 jonathan I don't see any way we can currently do this.
20:25 Tene Anyone have any comments on how to implement state vars in rakudo before I start hacking aimlessly?
20:25 jonathan Tene: I'd not really thought about that yet.
20:26 jonathan I can't think of a good way right off the top of my head.
20:27 Tene Neither can I.  I'll hack around and see what I can work out.
20:27 Tene :)
20:27 jonathan Good luck! :)
20:27 * jonathan hopes Tene works it out. :-)
20:27 pmichaud jonathan: there's not a way to do this yet.  It needs to be added.  It's in my brain as "things I know how to do but need time to write the code"
20:27 Tene I'm also looking at resuming work on cardinal.
20:28 pmichaud cardinal++  (this came up in my dfw.pm presentation on Tuesday)
20:28 Coke or tcl.
20:28 * Coke whistles innocently.
20:28 Tene Yes, or tc... eh?  I was?
20:28 Coke ^_^
20:28 Tene :)
20:29 jonathan pmichaud: In your brain in a, you can explain to me how you plan to do it in 2 minutes so I can write the code instead?
20:29 pmichaud jonathan: short answer:  add an "arguments" entry to the PAST::Var node
20:29 jonathan PAST::Var?
20:30 pmichaud sorry, PAST::Op
20:30 pmichaud or wherever compilers end up now
20:30 pmichaud I guess it's PAST::Block
20:30 jonathan Blocks.
20:30 jonathan :-)
20:30 jonathan OK, arguments entry takes a hash?
20:30 pmichaud yes
20:30 jonathan And we flatten that into options?
20:30 pmichaud just a hash, passed as :named :flat
20:30 pmichaud hadn't decided what to call it
20:30 pmichaud possibly compiler_args or compilerargs or something like that
20:31 jonathan compiler_args works for me...
20:31 pmichaud should be analogous to whatever the entry that identifies the compiler is
20:31 pmichaud it's rare enough that the name shouldn't be that significant, as long as it's clear.
20:31 pmichaud compiler_args it is, then.
20:31 jonathan :compiler
20:31 jonathan OK, cool.
20:31 pmichaud *or*
20:31 pmichaud oh, never mind
20:31 purl Okie dokie
20:31 jonathan :-)
20:31 pmichaud bad idea
20:32 Tene pmichaud: cardinal came up how?
20:32 pmichaud Tene: people were asking about what other languages were on Parrot, and there are a few people interested in ruby
20:32 pmichaud I said I was hoping that someone would pick up the cardinal effort again now that we have PCT available
20:36 Tene does anyone here actually speak ruby?
20:38 ambs not me
20:41 pmichaud I looked at it once and decided I could do JIT learning of it when I needed it :-)
20:42 Eevee "JIT learning" is the best thing I've heard all day
20:43 ambs then, pmichaud++ :)
20:45 particle "jit learning" aka open-book test
20:45 Theory joined #parrot
20:47 particle coke: re #45413: resolved.
20:47 pmichaud I wish I could take credit for the term -- but it comes from one of my best friends and colleagues (who is designing "jit learning" systems for handling medical trauma)
20:48 Coke particle: danke.
20:59 jonathan pmichaud: done.
20:59 dalek r27276 | jonathan++ | trunk:
20:59 dalek : [PCT] Allow PAST::Block to take a compiler_args argument, which we use to pass additional options on to a compiler.
20:59 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27276
21:00 Zaba joined #parrot
21:11 dalek r27277 | jonathan++ | trunk:
21:11 dalek : [rakudo] Make token and rule imply :s and :ratchet as they're meant to.
21:11 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27277
21:23 ambs night
21:23 ambs purl, good night
21:23 purl sleep fast, sleep tight, don't let the bed bugs bite
21:23 ambs better
21:23 ambs later :)
21:33 japhb joined #parrot
21:49 jonathan Write-up of what I did today on Rakudo:
21:49 jonathan http://use.perl.org/~Jonath​anWorthington/journal/36308
21:49 jonathan (Vienna.pm)++
21:51 Infinoid jonathan++
21:51 particle cla?
21:51 purl cla is Contributor License Agreement or http://www.perlfoundation.org/​contributor_license_agreement
21:54 jonathan particle: Was that for me?
21:54 particle no, it was for a user in another dimension. please ignore.
21:54 jonathan :-)
21:54 pmichaud jonathan++ is starting to make me feel inadequate.  :-)
21:55 jonathan Was gonna say, I'm sure I already signed one of those...
21:55 particle pmichaud++ # you're not inadequate yet :)
21:55 jonathan pmichaud: Oh, don't worry, I'm leaving you all the *hard* bits. ;-)
21:55 pmichaud heh
21:56 pmichaud I think we have a (wonderful) case where each of us thinks the other is working on the hard bits.  :-)
21:57 jonathan The docs on how you match against stuff in a grammar in S05 feels a bit sparse to me, or am I missing it?
21:57 pmichaud basically it's the TOP rule
21:57 jonathan I know smartmatch against it should match against TOP.
21:57 pmichaud everything else is by method
21:57 pmichaud e.g.:   'foo' ~~ / <Grammar::rule> /
21:58 pmichaud or perhaps
21:58 pmichaud Grammar::rule('foo')
21:58 pmichaud or even
21:58 pmichaud Grammar.rule('foo')
21:58 pmichaud or
21:58 jonathan OK, the third one is the only one I can see inheritance working on?
21:58 jonathan Or should it work somehow for all of 'em?
21:58 pmichaud first and third one
21:58 pmichaud I'm not sure about the second.
21:59 pmichaud PGE dtrt with respect to <Grammar::rul>
21:59 pmichaud er, <Grammar::rule>
21:59 jonathan OK, I should look at what it's Right Thing is to make Grammar.rule work
21:59 jonathan Also while I'm asking questions (for future implementation...)...
21:59 jonathan Should you be able to do things like grammar Foo { ... }; say Foo.WHAT()
22:00 jonathan If so, what should it report?
22:00 pmichaud I think so, since a grammar is just a class
22:00 pmichaud Foo.WHAT() would report 'Foo'
22:00 jonathan I'm trying to get my head around, how class-like grammars actually are.
22:00 jonathan OK, they are class like to the point that we may as well just call make_proto on them?
22:01 pmichaud at the moment I think 'identical with a few extra bits like TOP' is sufficient
22:01 jonathan And Foo is actually a proto-object?
22:01 particle grammars and classes are isomorphic
22:01 pmichaud and yes, make_proto makes sense to me
22:01 jonathan OK.
22:01 pmichaud internally I've been thinking of grammar as just another form of class
22:01 jonathan I tried that and it got in the way of the Foo::rule stuff.
22:02 jonathan So I got something to work and decided to leave making them more class like and doing inheritance and stuff for another day.
22:02 pmichaud PGE isn't smart enough to understand Foo::rule
22:02 jonathan :-)
22:02 pmichaud (it should be, but isn't)
22:02 pmichaud feel free to file a ticket on that and I'll take it
22:02 jonathan No, I meant in Perl 6 itself, outside of a rule.
22:02 jonathan I mainly wanted to get the rules to end up in the right namepace today, though, which I managed.
22:03 pmichaud using the 'grammar' option to Perl6Regex ?
22:03 pmichaud (or maybe it's 'namespace' -- i forget)
22:03 jonathan No, :namespace passed along to the compiler.
22:03 jonathan Well, not even in the compiler args, but you don't need them - POST was already passing namespace as an option.
22:04 pmichaud oh yes, right.
22:04 jonathan Perl6Regex does take a grammar option too, I spotted that earlier on today, but haven't looked into what it does.
22:04 pmichaud it's really just the same as 'namespace'
22:04 jonathan OK.
22:04 pmichaud except that it tells the rule what sort of object to return if the rule is invoked with a non-match object
22:04 jonathan Oh.
22:05 jonathan That's probably going to be rather useful for making the inheritance work.
22:05 pmichaud right now 'grammar' is Perl6Regex's equivalent of :namespace
22:05 pmichaud I've been thinking it should change to :namespace for consistency
22:05 jonathan It seems that it already takes namespace anyway.
22:06 pmichaud PGE does, or POST ?
22:06 pmichaud if passed a 'grammar' adverb, Perl6Regex puts the rule into the correct namespace
22:06 jonathan I believe PGE must; POST simply passes the namespace on to PGE, and doesn't emit anything itself.
22:06 pmichaud hmmmmm
22:06 jonathan I may be mis-remembering the code here, that was my impression.
22:06 pmichaud I need to review that
22:06 jonathan :-)
22:07 pmichaud I know my memory of it is a bit foggy at the moment
22:07 jonathan The other thing I need to work out is what actually goes into the namespace for a role.
22:07 jonathan At the moment it's just the Role PMC instance.
22:07 pmichaud wouldn't role methods show up there as well somehow?
22:07 jonathan Yes, I guess so.
22:08 jonathan But I mean, if I do
22:08 jonathan role Foo { }
22:08 jonathan Then Foo is just an instance of the Role PMc
22:08 pmichaud It's not a proto of some sort?
22:08 jonathan You can compose them with does, but that's it.
22:09 pmichaud (but what you wrote seems entirely reasonable to me)
22:09 jonathan Right, it's not a proto.
22:09 jonathan And you can't do .WHAT on it and so forth at the moment.
22:09 pmichaud does Perl 6 allow .WHAT on roles?
22:09 jonathan The idea of a proto role didn't quite fit nicely in my head since I see them as uninstantiable things.
22:09 jonathan I don't know.
22:09 jonathan I don't think S12 explicitly says it should.
22:10 pmichaud roles don't quite fit nicely into my head in general, but only because I have so little experience on them
22:10 pmichaud anyway, if Foo resolves to a Role PMC that seems like a reasonable first start for now
22:10 jonathan But you'd expect there is some way to introspect what methods they have and so forth.
22:10 jonathan OK, sounds good.
22:10 purl speakers so loud they blow women's clothing off!
22:10 jonathan ...I need to stop saying "sounds good" in this channel.
22:10 pmichaud or fix purl.
22:10 jonathan /kick purl
22:11 jonathan I need to go revisit attributes in roles.
22:11 pmichaud ...and you said you were leaving me the hard parts...:-)
22:11 jonathan I didn't really worry much about those, just methods, in the first go around.
22:11 pmichaud I agree, methods is good for the first go around
22:11 jonathan And I think Larry changed them since last time I looked at it.
22:11 particle purl, no, sounds good is |<reply>i seem to remember a line from "The Italian Job" about that.... ;)
22:11 purl OK, particle.
22:11 pmichaud He does that.  Shoot, he just changed S05 on me :-)
22:12 pmichaud (he did check with me first, however :-)
22:12 jonathan The hard bit I'm more worried about with roles is type parameterizing them.
22:12 Limbic_Region joined #parrot
22:12 jonathan I haven't given it much thought yet, though.
22:13 pmichaud that goes "way down the list" on milestones
22:13 jonathan Yeah.
22:13 pmichaud we can explicitly put "parameterized types" in the list if you want
22:13 jonathan I've no plans on doing it anytime soon.
22:13 particle jonathan: if you were to move on to something else, what would it be?
22:13 * jonathan wonders how general particle's question is
22:14 particle another rakudo roadmap item
22:14 pmichaud I'm expecting to get lots of coding time this next week
22:14 jonathan I'm currently trying to do stuff around the top.
22:14 jonathan Though I leave the very top two items to pmichaud
22:14 pmichaud my $otherjob clears up a bunch after this weekend
22:14 particle i don't mean living in uk/living in spain/living in ??
22:14 particle pmichaud: still aiming for HLL first?
22:15 jonathan Oh, I'm leaving Spain after next week anyway.
22:15 jonathan Moving to Bratislava.
22:15 pmichaud I have a long list of things atm
22:15 pmichaud updating parser for listop is near the very top
22:15 pmichaud I have a long list of "somewhat important and easy-to-do" things atm
22:15 particle that's a big win.
22:16 jonathan On roadmap, my plan is to get a bit more grammars stuff done (make them more class like, get inheritnace to work and so forth).
22:16 particle i'm going to put some tuits into the tests
22:16 pmichaud I want to update parser for listop, which means that we can get  sub foo($x = 'whatever')  { ... } working quickly
22:16 jonathan For OO stuff, there is tons and tons to do. Like today I did the first cut of WHENCE.
22:17 pmichaud as a general approach for now, I'm tending to work from the top of the milestone list down
22:17 particle we need tests for WHO WHAT WHENCE etc
22:17 jonathan We do.
22:17 pmichaud I'm very happy if jonathan++ picks-and-chooses the features that he's interested in at any moment
22:17 jonathan I would really, really love somebody to work on OO stuff.
22:17 jonathan erm
22:17 jonathan geck
22:17 jonathan to work on OO *tests*
22:18 jonathan Well, they can work on OO stuff too. But the tests would be great to have more of.
22:18 pmichaud put out a call in a blog entry, and on perl6-compiler, and possible perl6-language
22:18 jonathan And it would make me really, really happy to be able to type make spectest and get a clean sheet.
22:18 jonathan Or close enough that I can know I didn't break anything while adding feature X.
22:18 pmichaud jonathan: okay if there's lots of skips and todos?
22:19 pmichaud that's a good high-priority item -- updating t/spec with markers so that rakudo's make spectest passes
22:19 jonathan Yes, because they don't show up as failures in the final report.
22:19 jonathan I spent half an hour throwing in some more #?rakudo directives today.
22:19 pmichaud I think it's okay to add them a bit liberally at the moment
22:20 jonathan Yeah, it's just very tedious.
22:20 jonathan And there's no way to say "just skip this entire test file" with fudge, or I didn't see it.
22:20 pmichaud seems like there ought to be
22:21 pmichaud I thought we had discussed a way to do that?
22:22 jonathan I haven't been involved in any discussions about fudge at all really, I only really started trying to make use of it today.
22:22 pmichaud my question was more directed to particle
22:22 jonathan Ah, OK.
22:22 jonathan Is fixing fatarrow parsing on your list at all?
22:23 pmichaud yes
22:23 jonathan OK, cool.
22:23 pmichaud I should make a "Patrick's list" wiki page
22:23 jonathan What about :precedence('transparent')  ;-)
22:23 pmichaud ... do you mean colon pairs with postcircumfix or particularly :precedence ?
22:24 jonathan Particularly precedence.
22:24 pmichaud (or did I miss a reference?)
22:24 particle isn't there a skipall?
22:24 * particle checks
22:24 Eevee okay you need to all stop having the same length names
22:24 jonathan It's used for parsing hypers.
22:24 Infinoid Eevee: me too
22:24 Eevee gah
22:24 pmichaud Eevee: it could be worse.  We could all have nicks that begin with 'p'  :-)
22:25 Eevee half of you do!
22:25 ponathan hah
22:25 pnfinoid when I google for "postcircumfix", the entire first page of results is rakudo, perl6, and/or pugs
22:25 particle you've been pwned!
22:25 pnfinoid ph34r.
22:26 Eevee well now you just look like one person talking endlessly to emself
22:26 * particle laughs at his tab completion list for p
22:26 pmichaud I do that often, yes.
22:26 pmichaud (talk endlessly to myself)
22:26 pmichaud sometimes I even listen.
22:26 pknight8111 the conversation is better with yourself
22:26 pnfinoid as long as you say intelligent things, its a net plus for everyone
22:27 pmichaud jonathan:  for :precedence('transparent') -- that falls in with hyperoperators in ROADMAP :-)
22:27 pmichaud so it's a ways down on my list.
22:27 ponathan pmichaud: On the transpartent precedence - it's needed for parsing hyper ops, which is some way down the list, I know. I don't understand PGE well enough to know how hard that is.
22:27 pmichaud heh
22:27 Eevee when you vehemently disagree with yourself or ask yourself for clarification you start to look a bit nuts
22:27 pmichaud I'm thinking that hyperops will be outside of PGE somehow.
22:28 particle jonathan, iirc this won't overflow: #?rakudo 999 skip 'reason'
22:28 ponathan particle: That's sick, but works for me.
22:28 pmichaud particle: does it actually count 999 blocks?
22:28 pmichaud and/or tests, or whatever?
22:28 particle no
22:28 ponathan You'd have to add #?DOES 42 # or whatever the number of tests is
22:28 Jonathn GECK!
22:29 particle i mean, if there are more than 999, it'll work
22:29 particle less than 999, it'll be like skipall
22:29 Jonathan pmichaud: What do you mean by "outside of PGE"?
22:29 pmichaud Jonathan: I'm thinking that I'll consider hyperops in conjunction with also looking at LTM
22:29 teknomunk joined #parrot
22:30 pmichaud which may mean that the entire operator precedence parser may change
22:30 Jonathan Ah, OK.
22:30 Jonathan And that is certainly a Hard Thing that I'm happy to leave to you. :-)
22:30 pmichaud heh, yes, that definitely counts as a hard thing :-)
22:30 pmichaud anyway, time for me to go to dinner
22:31 Jonathan Basically, though, once you get us the ability to parse hypers and reductions and crosses, I don't see the rest being so hard (e.g. making them work).
22:31 Jonathan OK, enjoy.
22:31 pmichaud I agree
22:31 Jonathan I will sleep soon too.
22:31 pmichaud and I'm eager to see hypers and reductions also
22:31 Jonathan Sure, they're a cool thing.
22:31 pmichaud I've even though of having rakudo simply generate   >>X<< tokens for every X
22:32 pmichaud *thought
22:32 Jonathan That'd be one way.
22:32 pmichaud that would be a lot of tokens
22:32 Jonathan If LTM is planned for this summer, we can wait until them, IMO.
22:32 pmichaud my thinking exactly
22:32 Jonathan It's not like we've a shortage of other tasks.
22:33 pmichaud if ltm yields some obvious answers, I'll do it then -- if not, then we can do a couple of temporary workarounds
22:33 pmichaud anyway, gotta run
22:33 Jonathan Ok, enjoy dinner, cya
22:33 Eevee LTM?
22:33 purl LTM is longest token matching
22:33 Eevee that is the first time purl has told me anything relevant
22:35 * Infinoid pats purl
22:35 * purl pats Infinoid back, harder
22:35 Infinoid Jonathan: out of curiosity, is there any documentation that's reasonably relevant for the current .pbc format?
22:35 Infinoid PDD13 is obviously the goal, but docs/parrotbyte.pod also doesn't look quite right
22:35 Infinoid but if one of those is pretty close, I can use it
22:36 * Eevee glances over S12 again
22:36 Infinoid (learning the file format by reading the source is proving to be slow.)
22:38 particle Infinoid: the code is self-documenting.
22:38 Jonathan http://www.parrotcode.org/docs/parrotbyte.html is somewhat accurate
22:38 Zaba_ joined #parrot
22:38 Jonathan But we now have the header format of PDD13.
22:38 Jonathan But the other bits are accurate.
22:39 Infinoid oh, ok, great.  thanks!
22:39 Jonathan Or reasonably accurate.
22:39 Jonathan It's missing a section on the PIC segment.
22:40 Jonathan I asked leo to write one a few times, because I didn't understand it, but that never happened, and I still don't understand it. :-)
22:41 Jonathan However, I'm moving an hour away from him in a week and a half, so I can probably physically extract it from his braaaiiins. :-)
22:41 particle i'll send you a box of crazy straws.
22:41 Eevee then *he* won't understand it
22:42 Infinoid does he even understand himself?
22:42 Jonathan Well, he implemented it. ;-)
22:44 Infinoid well, I'm pretty sure I'll understand it after reimplementing it
22:44 Infinoid though, to be honest, I don't fully understand PDD13 either
22:44 Infinoid I think I sent you some questions about that. :)
22:44 Limbic_Region Win32/Cygwin is now passing 30.49% of rakudo spectest
22:44 Jonathan Oh, oops.
22:44 Limbic_Region :-)
22:45 Jonathan Limbic_Region: Given I develop primarily on Win32, Rakudo gets quite a bit of love there.
22:45 Jonathan Infinoid: Did you email them?
22:45 particle same here
22:45 Limbic_Region Jonathan - Win32/MinGW doesn't report the same though - I have no idea how much is passing/failing there
22:45 Jonathan Oh, curious.
22:45 * purl hands Jonathan a dead cat
22:45 Limbic_Region and I am not quite sure how it is possible to fail 200% of the tests
22:45 Infinoid Jonathan: good idea.  expect something in the next few days
22:46 Jonathan OK, email is the best way to give me stuff to do that I won't forget.
22:46 Limbic_Region Jonathan - would you like a nopaste of the output I see with Win32/MinGW?
22:46 Jonathan I'm normally not *this* bad, but in the last week I've had someone to visit, and at the same time been planning moving country, plus trying to work out what to speak about at two conferences...
22:47 Jonathan Limbic_Region: I'd be interested to know, if Parrot generally fails a lot of tests there.
22:47 Jonathan Though if it's 200%, then I suspect it may be a test harness issue.
22:47 Infinoid Jonathan: I always am that bad, if its not in the inbox, it doesn't exist for me... no worries.
22:47 Limbic_Region this is specific to Rakudo
22:47 Limbic_Region I don't run parrot's test suite except for the monthly release cycle
22:48 Jonathan OK, maybe email me them, I really need to sleep soon and I won't get chance to look at it any more tonight.
22:48 Infinoid no problem, I'm outta here anyway
22:48 Jonathan (that was for LR)
22:48 Limbic_Region right - will email you the nopaste link
22:48 Jonathan OK, cya
22:48 Infinoid oh.  seeya regardless :)
22:48 Jonathan :-)
22:49 Infinoid sushi &
22:49 Jonathan Limbic_Region: Thanks, may be able to make sense of it, don't have MinGW set up here.
22:49 Limbic_Region purl nopaste
22:49 purl somebody said nopaste was at http://nopaste.snit.ch/ (ask TonyC for new channels) or http://rafb.net/paste or http://paste.husk.org/ or http://poundperl.pastebin.com/ or http://paste.scsys.co.uk/ or don't bother me while I'm eating
22:51 nopaste "Limbic_Region" at 68.49.236.220 pasted "For Jonathan - Rakudo spectest output on Win32/MinGW - note, no summary" (997 lines) at http://nopaste.snit.ch/12870
22:52 tetragon joined #parrot
22:55 Limbic_Region email sent
22:56 Limbic_Region purl Jonathan
22:56 purl Jonathan is mailto:jnthn@jnthn.net
22:56 Limbic_Region hrm
22:57 Limbic_Region that's not the email address in CREDITS
22:57 Limbic_Region *shrug*
22:59 Jonathan What's in CREDITS?
22:59 Jonathan The one purl gave you is right.
23:02 Jonathan Updated CREDITS.
23:02 dalek r27278 | jonathan++ | trunk:
23:02 dalek : Update my CREDITS entry to have correct email and website.
23:02 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27278
23:02 Jonathan Limbic_Region: please resend to the one purl gave
23:03 Limbic_Region Jonathan - ok - I already sent to 2
23:03 Limbic_Region will send to that one too
23:03 Jonathan OK. :)
23:04 Limbic_Region and my subject isn't quite accurate
23:04 Limbic_Region it is producing summary info
23:04 Limbic_Region but it isn't useful
23:10 Jonathan ok, thanks
23:10 Jonathan sleep now
23:10 * Jonathan &
23:22 obra joined #parrot
23:23 obra rakudo-folks: what's the current expected output of 'make spectest'
23:23 obra ?
23:30 particle many many failures
23:31 particle we need to add more #?rakudo skip 'parsefail' and similar directives
23:31 pmichaud obra: we were just discussing that we should probably decorate most of the existing t/spec files so that 'make spectest' is more useful on rakudo
23:31 pmichaud (about 60 minutes ago :-)
23:32 particle Jonathan did some of that today, but he did way too much work
23:32 particle he added #?DOES 3 etc everywhere, and we don't generally need that
23:32 pmichaud I agree
23:33 particle he also deleted some pod we should be able to parse
23:33 teknomunk joined #parrot
23:33 pmichaud also, instead of #?rakudo 999 skip 'reason'   I think we should use 99999
23:34 particle /pugs> svn diff -c 20340
23:34 pmichaud easier to search for, less likely to hit 100000 tests than 1000
23:34 particle i *think* we caus #?rakudo eval 'somethingorother'
23:34 particle s/caus/can/
23:35 particle maybe eval exit;
23:36 pmichaud can we support eval yet?  I'd be a little surprised about that.
23:36 particle no, it's a fudge directive
23:36 pmichaud right, but since it depends on a conditional parse....
23:36 particle it doesn't write 'eval' in the generated code
23:37 pmichaud then how does it work?
23:37 particle it writes what's after the fudge directive called 'eval'
23:37 particle iirc
23:37 pmichaud #?implname [num] eval 'reason'
23:37 pmichaud eval num tests or blocks and skip(num) on parsefail
23:37 particle ah, yep it does eval
23:38 pmichaud we have an implementation of eval, but it doesn't understand outer scoped lexicals yet
23:39 obra Where does the Test.pm which Rakduo uses live?
23:39 pmichaud languages/perl6/
23:39 pmichaud (top level in that dir)
23:39 pmichaud particle++ was going to see about updating it a bit, I think
23:39 obra ..right in front of my nose
23:40 pmichaud it uses arity-based multisubs to avoid the need for optional params
23:40 particle but we can handle optional subs now
23:41 pmichaud we can handle optional params w/o initializers now
23:41 particle i mean... optional args
23:41 pmichaud sub foo($x?) { ... } # ok
23:41 pmichaud sub foo($x = 4) { ... } # not yet impl
23:41 kid51 joined #parrot
23:41 Eevee that's can't be too hard, can it?
23:41 pmichaud the tricky part is parsing the expression following the '='
23:41 particle sub ok($cond, $desc?, :$todo) # works
23:42 pmichaud eek~
23:42 pmichaud get rid of that :$todo
23:42 pmichaud evil
23:42 pmichaud stop it
23:42 pmichaud icky
23:42 particle hee
23:42 pmichaud it's now
23:42 particle i put it there just for you
23:42 pmichaud todo('reason'); ok('whatever')
23:42 particle yes.
23:42 pmichaud but yes, named parameters are properly optional
23:43 particle sub ok($cond, $desc?) # will now parse in rakudo
23:43 pmichaud Eevee: it's not too hard to do the '=' part, though, no.  It's on my high-priority list.
23:43 pmichaud as in, I think I will get to it sun or mon
23:43 pmichaud (it would be sooner but I have to travel/work fri/sat)
23:43 Eevee ah okay
23:44 particle multi sub ok($cond, $desc) {
23:44 particle proclaim($cond, $desc);
23:44 particle }
23:44 particle multi sub ok($cond) { ok($cond, ''); }
23:44 particle can be replaced with
23:45 particle multi sub ok($cond, $desc) {
23:45 particle $desc //= '';
23:45 particle proclaim($cond, $desc);
23:45 particle }
23:45 particle but, if by sunday, that can be
23:45 particle multi sub ok($cond, $desc = '')
23:45 particle or whatever the syntax is, i don't think it's worth changing now
23:48 pmichaud is it worth converting things to = '' syntax, or should we just leave them as they are now?
23:48 particle after = '' is in, i say we use it
23:48 particle it's more DRY
23:48 pmichaud okay.  I'm trying to keep Test.pm on the simple side as well.  :-)
23:49 particle multi sub is($got, $expected) { is($got, $expected, ''); }
23:49 particle hurts my eyes
23:49 pmichaud gee, I always thought that was kinda elegant :-)
23:50 particle unnecessary use of word 'multi'. five yards. repeat down.
23:50 Eevee elegrant grossness
23:50 Eevee sorta like the nonword "elegrant"
23:50 Eevee which I may now coin to cover my typo
23:50 obra heh
23:51 particle flagrant use of elegance. 10 yards. loss of down.
23:51 pmichaud flagrant use of football metaphors.  15 yards, ejection from channel.
23:51 Eevee (is this good or bad I don't watch much baseball)
23:52 obra arith......1/188 get_bignum() not implemented in class 'Float'
23:52 obra current instr.: 'infix:+' pc 8651 (src/gen_builtins.pir:6074)
23:52 was kicked by particle: *take that!*
23:52 particle joined #parrot
23:52 Eevee you sure showed you
23:53 particle sometimes, i get so high, i jump back, and kick myself.
23:53 obra any idea what horrors I have brouught upon myself?
23:53 pmichaud obra:  I don't think Parrot (or Rakudo) seamlessly handles bignum conversions yet
23:53 pmichaud I'm a little surprised to see that, though
23:54 obra I've been dumbing down arith.t
23:54 obra the only questionable thing I've done so far is to comment out "undefine $a"
23:54 obra not actually knowing perl 6, I don't know if that's a fuction in Pugs Test.pm or a missing builtin
23:55 pmichaud I guess the numbers are going outside of Parrot's Float range somehow
23:55 obra well, it's very carefully constructing insanely large numbers
23:55 pmichaud I was thinking it was perhaps cribbed from the p5 test suite
23:56 pmichaud anyway, I would #?rakudo skip those until we get bignum support in
23:56 obra ok( abs( 13e21 %  4e21 -  1e21) < $limit);
23:56 obra is test 5
23:56 Ademan joined #parrot
23:56 pmichaud I think I still prefer
23:56 pmichaud is_approx( 13e21 % 4e21 - 1e21, 0 );
23:56 particle is_approx++
23:57 pmichaud I don't know if Pugs' Test.pm has is_approx though
23:57 pmichaud nor do I know how important it is to be able to test to the limit
23:57 obra this test file had its own variant thereof
23:57 pmichaud that's another case where I wonder if it was cribbed from an equivalent p5 test
23:57 obra what's the ETA on parrot giving sane line numbers / stack traces for failures like that?
23:58 pmichaud I'm guessing 3-4 weeks
23:58 pmichaud it needs some parrot support
23:58 * obra nods
23:58 pmichaud I could see about prioritizing a workaround, but I keep hearing noises about people fixing the bytecode format so that I won't need the workaround
23:59 * obra nods
23:59 pmichaud it's important enough that a workaround might be worthwhile
23:59 particle fudge supports is_approx, so i say we use it
23:59 particle if pugs' doesn't have it, it'll have to implement one
23:59 obra arith......1/188 Null PMC access in invoke()
23:59 particle is|ok|is_deeply|is_approx|isnt|like​|unlike|eval_dies_ok|cmp_ok|isa_ok|​use_ok|throws_ok|dies_ok|pass|flunk

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

Parrot | source cross referenced