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.