|
Parrot 1.3.0 "Andean Swift" released | parrot.org Set by moderator on 23 June 2009. |
|||
|
00:02
tetragon joined
00:08
patspam joined
|
|||
| Infinoid | seen flh | 00:18 | |
| purl | flh was last seen on #parrot 1 days, 13 hours, 6 minutes and 9 seconds ago, saying: usually, I get this error when I try to get a sub into $P0 using a get_* opcode, but the sub is not found [Jun 27 11:07:43 2009] | ||
|
00:52
brbrooks joined
|
|||
| Infinoid | Can anyone sanity check the patch in TT #798? I'm having trouble installing sdl-ttf | 00:53 | |
| chromatic | I'll take a look. | 00:56 | |
| dalek | ose: r13 | austin_h...@yahoo.com++ | wiki/WelcomeToClose.wiki: Created wiki page through web user interface. |
01:03 | |
| ose: r14 | austin_h...@yahoo.com++ | wiki/WelcomeToClose.wiki: Edited wiki page through web user interface. |
01:08 | ||
| ose: r15 | austin_h...@yahoo.com++ | wiki/WelcomeToClose.wiki: Edited wiki page through web user interface. |
|||
|
01:16
Axle joined
|
|||
| Axle | what is the proper way to use readall | 01:17 | |
| cotto | The easiest way is: | 01:18 | |
| $P0 = new ['FileHandle'] | |||
| $S0 = $P0.'readall'('file.txt') | |||
| That way is nice because it automatically closes the file, although error checking is still a good idea. | 01:19 | ||
| Axle | what are the [] brackets for? | 01:21 | |
| ch03 in the book gives "$P0 = new 'Filehandle'" as an example | 01:22 | ||
| bacek | "new = 'Filehandle'" is short-cut for "new ['Filehandle']". Which is shortcut for "new ['parrot';'Filehandle']" | 01:24 | |
|
01:52
snarkyboojum joined
02:02
brbrooks joined
02:06
Axle left
|
|||
| dalek | rrot: r39817 | Infinoid++ | trunk/t/op/globals.t: Apply globals.t_to_pir.patch from flh++ in TT #796. |
02:07 | |
| rrot: r39818 | Infinoid++ | trunk/tools/dev/fetch_languages.pl: Apply patch from s1n++ in TT #779. |
|||
| ose: r16 | austin_h...@yahoo.com++ | trunk/ (3 files): Got :phylum(str) working |
02:08 | ||
| TT #779 closed by Infinoid++: [tools] modify fetch_languages.pl to only fetch a specific language | 02:09 | ||
| Infinoid | msg flh I applied one of your #796 patches, but the other one shows some failures. I posted a reply to the ticket, can you please take a look? | 02:11 | |
| purl | Message for flh stored. | ||
|
02:41
janus joined
|
|||
| cotto | bacek, ping | 03:12 | |
|
03:12
magnachef joined
03:16
magnachef_ joined
|
|||
| dalek | ose: r17 | austin_h...@yahoo.com++ | trunk/src/parser/ (2 files): Fixed errors with :multi() |
03:33 | |
| ose: r18 | austin_h...@yahoo.com++ | trunk/src/PCT (3 files): Added PCT test project |
|||
| ose: r19 | austin_h...@yahoo.com++ | trunk/build/Makefile.in: Added PCT test target to makefile |
|||
| ose: r20 | austin_h...@yahoo.com++ | trunk: Set svn:ignore for Makefile in root |
|||
| bacek | cotto: pong. I'm slightly busy atm, so it can be long delays. | 03:45 | |
| afk # yet another meeting... | 03:47 | ||
| cotto | Hmm. I forgot what I was going to ask. | 04:08 | |
| bacek | cotto: :) | ||
| cotto | It had something to do with asking for a roadmap for your pmcc-less pmc migration. | 04:25 | |
| s/pmc migration/L1 conversion/ | 04:34 | ||
|
04:40
tetragon joined
|
|||
| bacek | cotto: still can't remember? | 05:03 | |
| cotto | basically I want to know how much of a plan you have | ||
|
05:14
flh joined
05:17
Andy joined
05:21
tetragon joined
05:29
workbench joined
|
|||
| dalek | rrot: r39819 | petdance++ | trunk/compilers/imcc/reg_alloc.c: consting and localizing |
05:32 | |
|
05:36
davidfetter joined
|
|||
| cotto | bacek, a good proof of concept for your proposal would be to implement a core PMC in nqp or PIR. I see the appeal of reusing an existing compiler instead of having a custom compiler in pmcc, but the core PMCs need a lot of boilerplate C code. | 05:51 | |
| I don't think you can currently replace that boilerplate code (i.e. class_init and vtable initialization) with nqp or pir. | 05:52 | ||
| bacek, I feel sleep coming on, but I see some holes in your approach. They may well be addressable, but I'm not convinced that it's a good idea to stop working on pmcc. | 05:55 | ||
| night | |||
| bacek | cotto: hold on! | 06:00 | |
| I'm here already :) | |||
| "class_init" related only to "C" PMCs. | 06:01 | ||
| dalek | rrot: r39820 | petdance++ | trunk/compilers/imcc/reg_alloc.c: use NULL instead of 0 for pointers |
06:03 | |
|
06:05
uniejo joined
|
|||
| dalek | rrot: r39821 | petdance++ | trunk/compilers/imcc/reg_alloc.c: optimize out a call to instruction_reads() if we don't actually need it |
06:10 | |
| kudo: d3e040f | (Alex Elsayed)++ | (2 files): Slurpy generators for series operator Signed-off-by: moritz <moritz@faui2k3.org> |
06:18 | ||
| shorten | dalek's url is at xrl.us/beywsp | ||
|
06:31
iblechbot joined
|
|||
| dalek | rrot: r39822 | petdance++ | trunk/compilers/imcc/optimizer.c: use NULL for null pointers |
06:40 | |
| rrot: r39823 | petdance++ | trunk/compilers/imcc (3 files): update the annotations for splint |
06:47 | ||
|
07:13
tetragon joined
|
|||
| dalek | rrot: r39824 | petdance++ | trunk/compilers/imcc/optimizer.c: adding splint annotations. Removed an unnecessary const-removing cast |
07:14 | |
|
07:19
krunen joined
|
|||
| dalek | rrot: r39825 | petdance++ | trunk/compilers/imcc/pbc.c: consting and splint annotating |
07:27 | |
|
07:30
clinton joined
07:36
krunen joined
07:52
uniejo joined
08:12
flh joined
|
|||
| dalek | kudo: 13b1ff5 | moritz++ | build/gen_junction_pir.pl: don't generate junction for infix:<eqv> which lives in the setting anyway. jnthn++ |
08:16 | |
| shorten | dalek's url is at xrl.us/beywwt | ||
|
08:19
snarkyboojum joined
|
|||
| dalek | kudo: d95def2 | moritz++ | (2 files): test infix:<eqv>. Added variant for Code objects |
08:27 | |
| shorten | dalek's url is at xrl.us/beyww9 | ||
|
08:32
bacek_ joined
|
|||
| bacek_ | o hai | 08:33 | |
|
08:36
cogno joined
08:47
tetragon joined
|
|||
| mikehh | pre/post config, smolder and fulltest all PASS at r39825 - Ubuntu 9.04 Amd64 | 09:10 | |
| wow fulltest now runs in 11:23 on my new system | 09:11 | ||
|
09:23
tetragon joined,
masak joined
|
|||
| dalek | rrot: r39826 | bacek++ | branches/tt761_keys_revamp/t/pmc/pmc.t: [t] Put StringIterator into non-testable without initializer. |
09:58 | |
| rrot: r39827 | bacek++ | branches/tt761_keys_revamp/src/pmc (2 files): [pmc] Add OrderedHashIterator |
|||
| rrot: r39828 | bacek++ | branches/tt761_keys_revamp/t/pmc/orderedhash.t: [t] Fix orderedhash test |
10:01 | ||
| rrot: r39829 | bacek++ | branches/tt761_keys_revamp/t/native_pbc (4 files): Rebuild native PBCs... |
10:05 | ||
| rrot: r39830 | bacek++ | branches/tt761_keys_revamp/t/pmc/pmc.t: [t] Add OrderedHashIterator into non-testable without init. |
10:11 | ||
|
10:16
JC1 joined
|
|||
| masak | Infinoid: would it be possible to make a request for dalek to report november-commits to #november-wiki on freenode? | 10:56 | |
| moritz | masak: btw source code is at github.com/Infinoid/dalek-plugins/tree/master | 10:57 | |
| masak: so you can easily write a patch for him | 10:58 | ||
| masak | excellent. | ||
| Infinoid | seen diakopter | 10:59 | |
| purl | diakopter was last seen on #parrot 88 days, 9 hours, 15 minutes and 32 seconds ago, saying: Branch has been merged into trunk and? [Apr 2 01:39:15 2009] | ||
| Infinoid | ok, guess I can't ask him for permission to add a channel to dalek, guess I'll just do it | 11:00 | |
| masak: Yeah, that would be trivial; look at rakudolog.pm for an example | |||
| masak | Infinoid: I'll be back with a patch. | ||
| Infinoid | Great. I'm bottlenecked for time, but just keep harassing me and I'll apply your patches :) | 11:01 | |
| masak | deal. | 11:02 | |
| Infinoid | (glad to see November's doing well, btw! masak++) | ||
| masak | yes, we recently got our first real user, so things are shaping up again. :) | ||
| moritz | masak: you mean lichtkind? | 11:03 | |
| masak | I do. | ||
| he's been submitting a whole host of issues to the November-wiki issue tracker on github, and viklund++ has been fixing many of them, and I a few. | 11:04 | ||
| all in all, it's been very beneficial for the project. | |||
| moritz | I can see some kind of analogy with Rakudo and November :-) | 11:05 | |
| masak | there definitely is. | 11:09 | |
| reality is a fractal. | |||
|
11:19
tetragon joined
|
|||
| masak | Infinoid: I've made a commit over at github.com/masak/dalek-plugins/ that I think will work. I've fought for a couple of minutes with github so that I could make a real pull request, but I couldn't get that to work. :/ so I'll nag you this way instead. | 11:34 | |
| in theory pull requests are really simple, as explained by this page: github.com/guides/pull-requests -- in practice, I can't find the button in step 1. :/ | 11:35 | ||
|
11:40
tetragon joined
11:42
bacek_ joined
11:51
burmas joined,
kid51 joined
11:54
tetragon joined
11:59
Whiteknight joined
12:04
clinton1 joined
|
|||
| Whiteknight | good morning parrot | 12:09 | |
| (this is the first time in a week I've logged on in the morning and purl hasn't attacked me with like a dozen messages) | 12:13 | ||
| moritz | you must be doing something wrong :-) | ||
| Whiteknight | I'm usually doing something wrong :) | 12:23 | |
|
12:27
skids joined,
clinton joined
12:34
tetragon joined
13:09
kgilmer joined
13:44
jdv79 joined
13:49
ruoso joined
14:02
kj joined
14:03
PacoLinux joined
14:18
chromatic joined
|
|||
| dalek | ose: r21 | austin_h...@yahoo.com++ | trunk/ (3 files): Tweaked long_ident for better hll/namespace handling |
14:46 | |
|
15:14
jdv79 joined
15:20
brbrooks joined
15:31
jdv79 joined
15:53
silug joined
16:03
kj left
16:19
Andy joined
|
|||
| dalek | kudo: 6c7e546 | jnthn++ | src/parser/actions.pm: The implicit *%_ for methods should be in the Signature object too. Plus a little code re-ordering so the signature is set up early enough for us to do this. |
16:38 | |
| shorten | dalek's url is at xrl.us/beyybx | ||
| dalek | kudo: 3c2e872 | jnthn++ | src/parser/ (2 files): Parse traits before handling the block open, so we can look for some that affect the compile. Also, attatch them to the package so PAST node so we can look for those we care about later. |
||
| shorten | dalek's url is at xrl.us/beyybz | ||
| dalek | kudo: f278725 | jnthn++ | src/parser/actions.pm: Get is rw on classes and a first cut of is hidden in place (is hidden only surpresses generation of *%_ for now, rather than affecting nextsame etc). |
||
| shorten | dalek's url is at xrl.us/beyyb3 | ||
| dalek | kudo: 11d479e | jnthn++ | t/spectest.data: We now pass all of S12-class/rw.t, so add it to spectest.data. Also add the new S12-class/interface-consistency.t. |
||
| shorten | dalek's url is at xrl.us/beyyb5 | ||
| dalek | kudo: e069931 | jnthn++ | src/parser/ (2 files): Start to get our trait parsing more in line with STD.pm. We now call it trait_mod in the grammar and have got just one rule now, but it's very much a surface change at the moment. |
||
| shorten | dalek's url is at xrl.us/beyyb7 | ||
| dalek | kudo: 1831bd1 | jnthn++ | : Merge branch 'master' of git@github.com:rakudo/rakudo |
||
| shorten | dalek's url is at xrl.us/beyyb9 | ||
|
16:39
Whiteknight_ joined
16:41
Psyche^ joined
17:03
Theory joined
17:07
darbelo joined
|
|||
| dalek | cnum-dynpmcs: r92 | darbelo++ | trunk/t/add.t: What is 'apply' and why is it breaking my add tests? |
17:26 | |
|
17:36
flh joined
17:49
ruoso joined
17:50
rblackwe joined
17:51
ruoso joined
17:53
ruoso joined
17:54
ruoso joined
18:07
abesapien joined
18:36
itrekkie joined
18:39
bacek_ joined
18:54
japhb joined
19:00
abesapien joined
|
|||
| darbelo | cotto: ping | 19:05 | |
| dalek | cnum-dynpmcs: r93 | darbelo++ | trunk/src/pmc/decnum.pmc: Avoid excepting on Overflow/Underflow. |
19:07 | |
|
19:23
davidfetter joined
19:26
jevin joined
19:32
flh joined
19:33
magnachef joined
19:34
AndyA joined
19:49
Theory joined
19:55
khisanth_ joined
20:15
magnachef_ joined
20:44
masak joined
20:58
Theory joined
21:30
Whiteknight joined
21:37
AndyA joined
21:51
skids joined
|
|||
| cotto | darbelo, pong | 21:52 | |
|
21:55
kid51 joined
|
|||
| kid51 has finally returned to Sliceville from YAPC | 21:55 | ||
| darbelo | Crap, I forgot what I was going to ask you. | ||
| cotto | It seems to be a theme. | 21:57 | |
| something about the parser or 'apply' perhaps? | |||
| darbelo | I remember now, I wanted to ask you something about exceptions. | 21:58 | |
| kid51 | seen pmichaud | 21:59 | |
| purl | pmichaud was last seen on #parrot 1 days, 19 minutes and 34 seconds ago, saying: good afternoon, #parrot [Jun 28 21:34:54 2009] | ||
| kid51 | seen particle | ||
| purl | particle was last seen on #parrot 10 days, 22 hours, 14 minutes and 4 seconds ago, saying: i'll have to wait :) [Jun 18 23:40:30 2009] | ||
|
21:59
athomason joined
|
|||
| kid51 | seen rblackwe | 21:59 | |
| purl | rblackwe was last seen on IRC 2 hours, 28 minutes and 56 seconds ago, saying: <private message> | ||
| cotto | ok. What's your exceptional question? | 22:00 | |
| darbelo | All of our operations check some bits in the status field of the decContext structure, and throw an exception if they're set. | 22:04 | |
| afk # phone | 22:05 | ||
| cotto feels like he's been left hanging | |||
| darbelo | back | 22:08 | |
| I started out by throwing if *any* bit was set. But that turned out to be too exceptional, as it threw exceptions on operations that were rounded, like 1 / 3. | 22:10 | ||
| Once I noticed that I reduced it to what the decNumber library calls the DEC_Errors, but I can think of situations were that might be too broad too. | 22:12 | ||
|
22:12
ruoso joined
|
|||
| darbelo | So now I've reduced the PMC's to throwing only on invalid operations and internal library errors (Division byt zero, out of memory, etc.) | 22:13 | |
|
22:14
ruoso joined
22:15
ruoso joined
|
|||
| cotto | Is there a question there? ;) | 22:15 | |
| darbelo | But, I'm starting to think that maybe I've gone too far. So, here's the question: Is this sane behaviour or should I just leave a sane default and make this user modifiable? | 22:16 | |
| cotto | lemme check what all conditions cause bits to be set | 22:17 | |
| darbelo | Right now, DEC_IEEE_754_Division_by_zero and DEC_IEEE_754_Invalid_operation as defined on decContext.h | ||
|
22:17
whoppix joined
|
|||
| cotto | My advice would be to make your best guess as to what conditions a user would want to catch, but make it configurable. | 22:21 | |
| darbelo | That's my guess, but I'm not sure what the interface for that should be. | 22:24 | |
| cotto | What you're doing now sounds sane, although I'd expect the user to want to know about over/underflow/ | ||
| s/\\//./ | |||
| darbelo | I'll make that the default again then. But I'm not sure what's the best way to expose this to the users. | 22:28 | |
| cotto | as for the interface, what's wrong with the obvious solution: | ||
| $I0 = FLAG1 | FLAG2 | FLAG3 | 22:29 | ||
| $P0.'set_exception_conditions'($I0) #or whatever name makes sense | |||
| darbelo | That would probably need a $P0.'get_exception_conditions'() to let the user know what are we currently throwing on. | 22:31 | |
| NotFound | Or $P0.'exception_conditions'($i0 :optional) | 22:32 | |
| darbelo | The catch is that all the status bits you're ignoring get set anyways and will blow up on your face if whan you change the flags. | 22:33 | |
|
22:34
rg1 joined
|
|||
| darbelo | unless you $P0.'clear_status'() which erases *all* set flags. | 22:35 | |
| Hmm. But I can change that to P0.'clear_status'($I0) and only clear the ones the user passes in. | 22:36 | ||
| cotto | and the inverse | 22:40 | |
| darbelo | $P0.'set_status'() ? That seems overkill. | 22:41 | |
| I don't like users who fake errors. | 22:42 | ||
| If they want the status field to show a division by zero, then they can go and divide by zero themselves :) | 22:43 | ||
| cotto | Sorry. I meant that you should be able to cause the PMC to throw an exception on certain conditions by using that method | 22:46 | |
| darbelo | Unless you meant $I0 = $P0.'get_status'() that returns the status field. | 22:47 | |
| I'm not entirely sure I understand what you mean can you throw some PIR at me? | 22:50 | ||
|
22:52
Limbic_Region joined
|
|||
| cotto | Ok. Let's say that overflow doesn't usually cause an exception. | 22:56 | |
| When you call $P0.'set_status'(DEC_Overflow) on a DecContext and perform an operation that would cause an overflow, it'll throw an exception. | |||
| darbelo | That's what your $P0.'set_exception_conditions'($I0) method would do. | 22:58 | |
| cotto | yup | 22:59 | |
| darbelo | I'm thinking of three methods set_exception_conditions that determines the errors we except on, an get_exception_conditions method to remind us in case we forget, and a get_status method to tell us about the non-exceptional conditions that have ocurred so far. | 23:00 | |
| In additon to a clear_status method that makes us forget all the conditions (exceptional or otherwise) that have ocurred so far. | 23:01 | ||
| cotto | That has the smell of sanity. | 23:02 | |
| darbelo | Thanks. We insane people usually like to hear that from (presumably) sane people :) | 23:04 | |
|
23:04
tetragon joined
23:07
bacek_ joined
23:34
[1]Limbic_Region joined
|
|||
| particle1 | darbelo, cotto: presumably you'll have a default, some of which throw exceptions, some of which provide status codes. i suggest you provide either one general method with two named parameters to set :exceptions and :status, or two methods, one for each. | 23:41 | |
| particle | ...and also a clear way to see what error types provide which result. | 23:42 | |
| .'set_error_result'( 'exception' => PARROT_DECNUM_EXCEPTION_OVERFLOW, 'return-code' => PARROT_DECNUM_DIVIDE_BY_ZERO ) # example for one method setter | 23:44 | ||
|
23:45
patspam joined
|
|||
| s1n | particle: ping | 23:45 | |
| darbelo | particle: the problem here is that the status and the exceptions field are different, the status field can be inspected (to see what happened) or cleared (to forget what happened), and the exception field can be inspected (to see what will cause an exception) or set/cleared (to define what wil cause an exception) | ||
| particle | darbelo: are they not opposites? | 23:46 | |
| meaning that if it does throw an exception, it doesn't return a status, and vice versa | |||
| s1n: pong | |||
| darbelo | nope. If something exceptional occurs then the status bit for that exceptional condition gets set. Unconditionally, by the decNumber library. The exceptions field let's the user decide if that exceptional condition is exceptional enough to him that we have to translate it in to a full-blown parrot exception. | 23:49 | |
|
23:49
snarkyboojum joined
|
|||
| particle | oic | 23:51 | |
| darbelo | oic? | 23:52 | |
| purl | "OIC," he cried out, trying to dislodge the chicken bone from his gullet. Nurse paid him no mind and continued to work on her crewel, unaware of the horrible irony. | ||
| particle | oh, i see. | ||
| s1n | Whiteknight: ping | ||
| darbelo | Oh, I see. | 23:53 | |
| particle | well, if it's always returning status, then you only need to deal with exception handling | ||
| so, you could provide a method that sets ignored, warnings, and fatal exception handlers for the various codes | 23:54 | ||
| for these error types, set this exception handler. | 23:55 | ||
| Whiteknight | s1n: pong | 23:57 | |
| darbelo | particle: Parrot can do that? Cool. | 23:58 | |
| particle | exceptions are invokable pmcs | 23:59 | |
| chromatic | www.mikeash.com/?page=pyblog/friday...grind.html | ||
| darbelo | Okay, I totally missed that part of the docs. | ||