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