Parrot 3.0.0 Released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Goals: Fix ipv6-related failures | Test imcc_interfaces and annotations-tree branches
Set by moderator on 31 January 2011.
00:04 NotFound_b left 00:15 plobsing joined
mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#7050) fulltest) at 3_0_0-443-gbe26ad5 - Ubuntu 10.04 (LTS) amd64 (g++) 00:35
cotto_work mikehh: glad to hear it. thanks. 00:36
mikehh cotto_work: got a whole bunch of different Ubuntu distros on my system (not VMed) and am just updatin' them 00:37
01:02 kid51 joined 01:06 wknight-phone joined 01:11 cosimo left 01:13 nwellnhof left 01:21 wknight-phone left
kid51 afk 01:21
mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#7054) fulltest) at 3_0_0-443-gbe26ad5 - Ubuntu 10.04 (LTS) amd64 (g++ with --optimize)
cotto ~~ 01:22
01:27 jsut_ joined 01:32 jsut left
bacek_at_work cotto: Method 'ACCEPTS' not found for invocant of class 'Human' :) 01:33
cotto Nobody accepts me. :(
bacek_at_work cotto, you choose wrong pill. Welcome to the real world! 01:36
cotto rl is hard. Let's go shopping. 01:38
whiteknight shopping is hard. especially with my wife 01:42
let's go drinking
cotto wfm
plobsing whiteknight: (imcc_compreg_pmc update) many segfaults now due to IMCC returning PMCNULL on failure in stead of using exceptions. combined with Null.get_pointer() not being terribly helpful, we try to use the pf even if IMCC failed the parse. 01:50
not sure if we want to rework IMCC to throw exceptions or callers to handle PMCNULL as failure 01:51
whiteknight yeah, I never reimplemented error messages. I guess I need to do that now 02:00
if imcc returns Null, we should pull an error message from imcc_get_last_error() (yet to be written), and throw that as an exception 02:01
I was hoping it wouldn't be high-priority for a while
We could also fix IMCC to throw exceptions, but that could be a huge mess 02:02
because we need to cleanup and free resources on error, so we can't just do that anywhere
plobsing IMCC doesn't appear to output the error messages until it has jumped back out of the parse 02:05
at least that's for the cases I'm seeing 02:06
we could use a stringbuilder to accumulate the error string
whiteknight we shouldn't need to do that, I think the error messages are in imcc->error_message or something like that 02:12
IMCC_fatal dumps a string to imcc->error_message and jumps to a makeshift error handler
02:12 Kristaba left
whiteknight IMCC_fataly is basically the same thing 02:13
plobsing IMCC may encounter several warnings leading up to a warning and also may have several levels of context to add to each of these 02:14
s/up to a warning/up to an error/
whiteknight Either way, I'm pretty convinced that the error text is already dumped into a single string 02:18
or dumped to stderr directly
whatever IMCC_warn does 02:19
in master, imcc->error_message (or whatever it's called) is checked for errors, and if it's not NULL the text of it is thrown as an exception 02:20
so I know there isn't a hell of a lot more than that from the libparrot side 02:21
whatever IMCC does is inconsequential. it can keep doing what it's always been doing: sucking 02:22
I mean, handling it's own error messages 02:24
plobsing IMCCompiler needs to identify and handle those exception cases though 02:25
continuing on as though we had a proper packfile is wrong
whiteknight right. Like I said, I hadn't gotten around to the error messages yet
plobsing admittedly, if Null.get_pointer() wasn't so stupid, we'd get that for free.
whiteknight it's hard to believe it does anything, much less something as bad as it does 02:26
It should return NULL
plobsing it shouldn't exist. "Null PMC access in get_pointer()". 02:27
I can see returning NULL as an alternative sane behaviour.
02:28 kid51 left
whiteknight I'll put together an imcc_get_last_error function tomorow morning and start throwing proper exceptions 02:30
maybe that will cleanup the test problems
plobsing Oh. I see why the get_pointer() is stupid. Its part of the LTA singletons system. 02:31
whiteknight oh. shit
stupid singletons
02:31 gg411 joined
whiteknight more like "simpletons" amirite? 02:32
sorry about that
I think that is probably what's causing my build problems too 02:33
02:33 AndChat| left
whiteknight anyway, I have to get moving off to bed. I'll talk to you tomorrow. Thanks for looking at this 02:33
mikehh rakudo (2666b6f) - builds on parrot (3_0_0-443-gbe26ad5)- make test, make spectest_smolder[(#7063), roast (fbe953c)] PASS - Ubuntu 10.04 (LTS) amd64 (g++ with --optimize)
27,623 ok, 0 failed, 612 todo, 1,837 skipped and 0 unexpectedly succeeded
cotto 'night whiteknight 02:37
I don't know what's up with the way pmc singletons work. 02:38
02:41 wknight-phone joined 02:42 wknight-phone left
plobsing I don't see why we have to enforce singletons at the pmc-object-system level. It should be possible for languages to implement that pattern themselves, and do so less poorly. 02:42
02:43 whiteknight left
cotto plobsing, +1 02:50
but Parrot's a different beast now than it was when they were first implemented
02:50 adu joined 03:24 cosimo joined
Andy FYI, we're having an ack 2.0 design mini-meeting in #ack 03:25
03:28 mikehh left
cotto sounds fun 03:30
04:14 plobsing_ joined 04:19 plobsing left 04:34 AndChat| joined 04:37 gg411 left 04:51 AndChat| left
PerlJam wonders what the results of the ack 2.0 design mini-meeting were 05:14
Andy we're still having it 05:15
pmichaud good evening, #perljam
Andy but you can check out ack2
pmichaud Andy++ # ack rulez
PerlJam greetings
Andy thanks
see github.com/petdance/ack2/blob/master/ackrc and github.com/petdance/ack2/blob/master/README.mkd
PerlJam cool 05:16
Andy++ # ackrc 05:20
Andy There will be no hardcoded anything in ack 2.0
dalek rrot/generational_gc: b6ff316 | bacek++ | src/ (2 files):
Add write barriers when we poke into Sub guts.
05:25
rrot/generational_gc: e7e6a23 | bacek++ | src/gc/gc_gms.c:
Temporary hack to paint old objects white
05:31 Andy left 05:36 Benabik joined 05:44 allison left 05:57 rurban_ joined 06:00 rurban left, rurban_ is now known as rurban
dalek rrot/generational_gc: b75e23a | bacek++ | src/pmc/nci.pmc:
Write barriering NCI in build_func.
06:04
rrot/generational_gc: e6eda43 | bacek++ | src/gc/gc_gms.c:
Add GMS self-validation function to recursively check that all reachable
06:05 mikehh joined 06:27 cottoo joined, cotto left, cottoo left, cottoo joined
dalek rrot/generational_gc: 403f10d | bacek++ | src/gc/gc_gms.c:
Seal objects moved out of dirty_list
06:28
rrot/generational_gc: cbe590b | bacek++ | src/gc/gc_gms.c:
Put explanation why "dirty_list cleanup" is wrong.
rrot/generational_gc: 6a2e975 | bacek++ | src/pmc/namespace.pmc:
Made Namespace PMC reuse Hash functionality.
bacek_at_work msg whiteknight github.com/parrot/parrot/commit/cbe590b445
aloha OK. I'll deliver the message.
cottoo flash-- 06:29
even sandboxing can't keep it from rendering fluxbox useless
06:30 cottoo left, cottoo joined, cottoo is now known as cotto, allison joined 06:38 cosimo left
cotto It seems like everything that's compatible with cachegrind is compatible in its own special way. 06:44
06:45 theory left
cotto It'd be nice if there were at least a standard they could violate. 06:47
stupid almost-useful tools 06:49
aloha, clock? 06:55
aloha cotto: LAX: Wed, 22:55 PST / CHI: Thu, 00:55 CST / NYC: Thu, 01:55 EST / UTC: Thu, 06:55 UTC / LON: Thu, 06:55 GMT / BER: Thu, 07:55 CET / TOK: Thu, 15:55 JST / SYD: Thu, 17:55 EST
cotto bacek, ping
bacek_at_work cotto, pong 06:56
cotto bacek, the changes to the namespace pmc in your gen gc branch look out of place.
are they related to the gc work?
bacek_at_work cotto, partially. It was one of "suspicious" PMCs which I look at. 06:57
cotto ok.
bacek_at_work We can cherry-pick into master
cotto I unlocked an achievement doing just that
:)
bacek_at_work Just test it carefully. gen_gc branch is terribly broken 07:00
cotto sure
That's why I want to isolate that change. Bugs could easily hide there until the branch get cleaned up. 07:01
looks good so far 07:02
not surprising, of course 07:03
bacek_at_work :) 07:04
cotto fakescience.tumblr.com/post/3034945...inary-code 07:05
bacek_at_work heh. Looks about all right :) 07:07
dalek rrot: e9db096 | bacek++ | src/pmc/namespace.pmc:
Made Namespace PMC reuse Hash functionality.
07:09
cotto cherry-pick ftw 07:10
bacek_at_work cotto, did you try to read algo in gc_gms? 07:17
cotto not since you've updated it
bacek_at_work cotto, it's quite different now :) 07:18
cotto It looked like you simplified it some.
bacek_at_work Quite significantly. 07:19
cotto I'll look now, though my weak fleshy brain will need to sleep soon.
bacek_at_work go to bed than :) 07:20
cotto github agrees
it seems to be under maintenance
3 seconds of maintenance, apparently 07:21
back now
Nice. It's two screenfulls of text. Is that what you're implementing/debugging? 07:23
I feel like I can understand this. That's really good. 07:27
bacek++
bacek_at_work (implementing) yes
dalek rrot/generational_gc: b8a9bfb | bacek++ | src/gc/gc_gms.c:
Attempt to fix "WRONG" bit in cleanup dirty_list.

If all children of PMC in same or older generation - remove it from dirty_list.
07:35
rrot/generational_gc: 2597c15 | bacek++ | src/gc/gc_gms.c:
Temorary reduce number of generations to 3.

It reduce amount of information from stats report and doesn't affect functionality testing.
07:38
rrot/generational_gc: 3b12abc | bacek++ | src/gc/gc_gms.c:
Fix stupid algo to select number of generations to collect
07:43
rrot/generational_gc: 079f6e6 | bacek++ | src/sub.c:
Write barrier proper Sub PMC.
08:05
rrot/generational_gc: e440aff | bacek++ | src/pmc/default.pmc:
Write barrier PMC_metadata in setprop
08:43
rrot/generational_gc: 128f58b | bacek++ | src/gc/gc_gms.c:
Treat metadata as child for desicion of moving object out of dirty_list
08:53
rrot/generational_gc: fe450b3 | bacek++ | src/pmc/capture.pmc:
Write barrier Capture after creating internal hash/array.
rrot/generational_gc: cd05325 | bacek++ | src/pmc/default.pmc:
Remove write barrier from default.setprop. It was a mistake.
11:04
rrot/generational_gc: 34dbcc7 | bacek++ | lib/Parrot/Pmc2c/PMCEmitter.pm:
Fix generation of WB variant vtable. I suspect that RO variant is also broken.
11:13 adu left 11:17 contingencyplan left 11:25 wknight-phone joined, wknight-phone left
dalek rrot/generational_gc: 04d0f6b | bacek++ | src/gc/gc_gms.c:
Reduce amount of stats output.
11:43
rrot/generational_gc: e56a64d | bacek++ | src/pmc/capture.pmc:
Fix write barrier in Capture.

GC can be triggered by allocating of hash/array. We should seal Capture after it, just before setting attribute. Otherwise we'll miss writebarrier in Gen0.
12:11 bluescreen joined 12:16 fperrad joined
dalek TT #1995 closed by gerd++: building a new release is broken; seem to be: "ops2c" is broken 12:23
TT #1995: trac.parrot.org/parrot/ticket/1995
rrot: aa43eb5 | mikehh++ | .gitignore:
add runtime/parrot/library/YAML/Tiny.pir to .gitignore
12:35
rrot: ac03598 | mikehh++ | MANIFEST.SKIP:
re-generate MANIFEST.SKIP
bacek Why we keep MANIFEST* in repo??? Can we just change "release manager guide" to generate them for release??? 12:39
moritz I thought MANIFEST.generated was the list of files to be installed, and manually maintained 12:40
bacek moritz, .generated - yes. Just MANIFEST and MANIFEST.SKIP always automatically generated 12:42
YAY!!!
~/src/parrot (generational_gc)$ make && echo 'HOORAY!!!'
/usr/bin/perl tools/build/pmc2c.pl --dump --no-lines src/pmc/default.pmc
make -C docs
make[1]: Entering directory `/home/bacek/src/parrot/docs'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/bacek/src/parrot/docs'
HOORAY!!!
bacek dancing around desk 12:43
12:43 cotto left
moritz \\o/ 12:43
bacek: now for 'make test' :-)
dalek rrot/generational_gc: cba8b69 | bacek++ | src/pmc/capture.pmc:
Remove redundant check for PMC_data in Capture.mark. We use auto_attrs which
rrot/generational_gc: a36cbd7 | bacek++ | src/pmc/object.pmc:
Write barrier Class when direct poking from Object
rrot/generational_gc: 4b84ccc | bacek++ | lib/Parrot/Pmc2c/PCCMETHOD.pm:
Put write barrier after PCCMethod body. If GC was triggered inside it we have to ensure that object is sealed properly
bacek moritz, in progress. But nqp built successfully
dalek rrot/generational_gc: 2eb457b | bacek++ | src/pmc.c:
Preserve old GC flags in pmc_reuse.
bacek moritz, and at least opsc
dalek rrot: 4f67ebc | (Gerd Pokorra)++ | docs/project/release_manager_guide.pod:
add a warning
12:50
nopaste "bacek" at 192.168.1.3 pasted "Test failures on generational_gc branch." (34 lines) at nopaste.snit.ch/30285 12:53
bacek moritz, nopaste.snit.ch/30285 12:54
Some of them are expected.
Few - not...
But it's a GOOD START! :)
moritz not too bad 12:55
dalek rrot/generational_gc: 58099b9 | bacek++ | src/gc/gc_gms.c:
Reorder checks in validate_objects.
13:00
rrot/generational_gc: a6ca6af | bacek++ | src/gc/gc_gms.c:
Remove unused empty functions.
rrot/generational_gc: 79e46bc | bacek++ | src/gc/gc_gms.c:
Update documentation on how we move objects out of "dirty_list".
rrot/generational_gc: 6c0f27f | bacek++ | src/gc/gc_gms.c:
Rerun headerizer and fix compilation after removing functions.
13:03
13:07 davidfetter joined
dalek rrot/generational_gc: d0f701e | bacek++ | src/gc/gc_gms.c:
Disable string pool compacting. NYI.
13:12
rrot/generational_gc: 0e8ab27 | bacek++ | src/gc/gc_gms.c:
Limit generation_to_collect to 3 generations.
Coke bacek: one thing MANIFEST does is verify you have everything for a source build if you're not in a git repo. 13:15
bacek Coke, put it in tarball. As part of release process
It's only official way to get parrot without git repo. 13:16
Coke I think at one point we supported rsync of latest.
I don't particularly care, but I know I always miss an edge case when I discuss ripping out one of those files.
13:18 davidfetter left
mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#7154) fulltest) at 3_0_0-446-gac03598 - Ubuntu 10.10 i386 (gcc-4.5 with --optimize) 13:19
opps - forgot to post that was sitting there waitin' 13:20
oops 13:21
Coke bot owners: can we get notified in this channel when we get a smoke with errors? 13:22
smolder.parrot.org/app/projects/feed/1/failed 13:23
I'll whip that up later today if no one beats me to it. 13:24
bacek Coke, if you create plugin for aloha I can put it in. 13:26
oh shi...
It's 0:26 already
dalek rrot/generational_gc: c3fdc64 | bacek++ | src/gc/gc_gms.c:
Rearrage functions and 'hide' validation functions under DETAILED_MEMORY_DEBUG
rrot/generational_gc: 676bbac | bacek++ | src/gc/gc_gms.c:
Skip dirty children in calculation of youngest generation
bacek msg nwellnhof I didn't check dynamic_threshold branch. My focus on gen_gc. 13:28
aloha OK. I'll deliver the message.
Coke bacek - will creating a plugin for aloha be easier than implementing my own bot? ;) 13:30
aloha, source?
aloha Coke: I give up.
Coke aloha, aloha? 13:31
aloha Coke: aloha is simple Bot::BasicBot::Pluggable hosted on github.com/bacek/aloha
Coke aloha, source is also github.com/bacek/aloha
aloha Coke: Okay.
bacek Coke, check Time module.
erm. plugin
anyway, sleep time 13:33
Coke aloha has a lot of requirements. ;) 13:45
bacek Coke, cpanm ftw :) 13:52
Coke yah. once I figured out how to upgrade perlbrew & perlbrew's cpanm, I was happy. 13:53
bacek wow... make test passed in nqp-rx on generational_gc branch. 13:54
moritz now rakudo's spectest... :-)
bacek moritz, rakudo can't even build for now :) 13:55
moritz bacek: does the write barrier thing require changes to dynpmcs and dynops?
bacek moritz, mostly - no. If you don't lie in VTABLE about semantic. 13:56
e.g. if get_pmc_keyed actually change guts than it will fail
13:57 rurban_ joined
bacek anyway. definitely time to sleep :) 13:58
1AM already
moritz good night codingrobot
14:00 rurban left, rurban_ is now known as rurban 14:06 bluescreen left
mikehh rakudo (2666b6f) - builds on parrot (3_0_0-446-gac03598) - make test, make spectest_smolder[(#7167), roast (fbe953c)] PASS - Ubuntu 10.10 i386 (gcc-4.5 with --optimize) 14:08
27,623 ok, 0 failed, 612 todo, 1,837 skipped and 0 unexpectedly succeeded
Coke aloha requires DBD:Pg, so fail here.
mikehh rakudo is taking longer to build and test, don't know if this is due to gc_threshold or not, but it is certainly using less memory 14:09
14:12 mtk0 joined 14:16 bluescreen joined 14:30 mtk0 left 14:31 whiteknight joined
whiteknight good morning, #parrot 14:34
mikehh hi whiteknight
whiteknight hello mikehh
14:35 whiteknight left
dalek rrot/whiteknight/imcc_compreg_pmc: 7c7360b | Whiteknight++ | compilers/imcc/main.c:
add functions to retrieve the last error message/code from IMCC
14:42
rrot/whiteknight/imcc_compreg_pmc: 209214a | Whiteknight++ | compilers/imcc/imc.h:
headerize
rrot/whiteknight/imcc_compreg_pmc: b0ea434 | Whiteknight++ | compilers/imcc/ (2 files):
fix name copy-pasteo, and re-headerizer
rrot/whiteknight/imcc_compreg_pmc: f294966 | Whiteknight++ | src/pmc/imccompiler.pmc:
when we have a compile error, throw an exception from the IMCCompiler PMC
rrot/whiteknight/imcc_compreg_pmc: 8142754 | Whiteknight++ | src/interp/inter_misc.c:
detect imcc errors and throw exceptions for them in Parrot_compile_file
14:43 whiteknight joined
whiteknight msg plobsing: I just pushed some logic for the imcc_compreg_pmc branch to check errors and throw exceptions. It doesn't appear to change the build or test situation at all on my machine. Any improvements on yours? 14:44
aloha OK. I'll deliver the message.
mikehh whiteknight: anything to merge before say Saturday?
whiteknight mikehh: nosiree
msg bacek that looks like a big problem to me. 14:45
aloha OK. I'll deliver the message.
whiteknight mikehh: This IMCC work won't be mergable for at least a week or two 14:47
maybe more, if I can't start debugging some of my problems
dalek umage: 0c4cda9 | fperrad++ | src/lib/Plumage/NQPUtil.nqp:
fix after github.com/parrot/parrot/commit/017...1791f0429f
14:48
mikehh whiteknight: that's fine, was just checking for anything going into 3.1 14:54
in fact I need to send a message to parrot-dev 14:55
14:56 mtk0 joined
whiteknight mikehh++ 14:58
14:58 mtk0 left 14:59 mtk0 joined, mtk left 15:00 mtk0 left, shortcir1uit left, shortcircuit joined, mtk joined 15:09 hudnix left 15:17 cotto joined
mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#7175) fulltest) at 3_0_0-447-g4f67ebc - Ubuntu 10.10 i386 (g++-4.5) 15:23
15:38 adu joined
cotto_work ~~ 15:59
16:03 adu left 16:07 theory joined 16:16 Psyche^ joined, Patterner left, Psyche^ is now known as Patterner
Hackbinary aloha time? 16:44
aloha Hackbinary: time is a lion, where i am a lamb.
Hackbinary aloha clock? 16:46
aloha Hackbinary: LAX: Thu, 08:46 PST / CHI: Thu, 10:46 CST / NYC: Thu, 11:46 EST / UTC: Thu, 16:46 UTC / LON: Thu, 16:46 GMT / BER: Thu, 17:46 CET / TOK: Fri, 01:46 JST / SYD: Fri, 03:46 EST
dalek nxed: r774 | NotFound++ | trunk/winxedst1.winxed:
delete operator for keyed cases in stage 1
16:48
nxed: r775 | NotFound++ | trunk/winxedst1.winxed:
fix string indexed in void context
17:26
nxed: r776 | NotFound++ | trunk/winxedst1.winxed:
check attempt of delete from string
17:36
17:39 nwellnhof joined 17:44 contingencyplan joined
dukeleto ~~ 17:54
18:05 sheant joined 18:06 bluescreen left, Benabik left 18:08 benabik joined 18:11 benabik left, benabik joined
dalek nxed: r777 | NotFound++ | trunk/ (3 files):
diagnose delete unsupported in stage 0 and refactor a bit unsupported messages
18:14
18:17 bluescreen joined
dalek rrot: b12ac89 | nwellnhof++ | t/pmc/ (2 files):
[t] Use '::1' instead of null for localhost IPv6 server address
18:20
dukeleto nwellnhof++ 18:21
18:37 nwellnhof left 18:42 vmspb joined
Coke dukeleto: any progress on quieting down your noisy smokes? 19:10
I have not done anything after opening that TT. 19:11
dukeleto Coke: noisy smokes? 19:40
Coke: i don't know what you mean?
19:45 vmspb left
Coke you are submitting failing smoke tests on a regular basis, no? 19:51
though it looks like the last one was updated on 2011-02-03T18:10:00Z 19:54
dukeleto Coke: i have two machines in the compile farm sending reports 19:59
Coke: and more will be added 20:00
Coke: what do you mean "quiet down my noisy smokes"? 20:01
dalek rdinal: 39f50f3 | (David Ross)++ | / (8 files):
Array.pir - could not add a _get_bool function, so no change

Integer.pir - updated ( added a get_bool function to always return 1 as only false and nil should return false for the Ruby spec )
NilClass.pir - updated ( added a get_bool function to always return 0 as only false and nil should return false for the Ruby spec )
Object.pir - updated ( added a get_bool function to always return 1 as only false and nil should return false for the Ruby spec )
String.pir - updated ( added a get_bool function to always return 1 as only false and nil should return false for the Ruby spec )
actions.pm - updated ( fixed unless else clause so that it now runs )
01-stmts.t - updated ( added tests for [unless 0], [if 0], [unless 0], [unless 1 == 0], [unless emptyArray], [if emtpyArray], [unless emptyString], [if emptyArrray] )
20:06
dukeleto nice to see some action in cardinal
dalek rdinal: ef158a2 | tene++ | src/classes/ (4 files):
Fix typos
20:07
Tene Hackbinary++
Good work.
20:22 vmspb joined 20:27 nwellnhof joined 20:30 spinclad left 20:37 mtk left 20:38 mtk joined 20:45 Eclesia joined
Eclesia hi 20:45
dukeleto Eclesia: hola 20:47
Tene Eclesia: Hi!
Eclesia I have a little something I would like to implement as a HLL on parrot. the idea is to have a single type 'number' for all numeric types, integers, floats, fractions ... something that doesn't suffer from 32/64 bit limits. but I don't now how to write this in my grammar file. 20:49
anyone have an idea how should i proceed ? 20:50
PerlJam Eclesia: I don't understand ... you don't know how to write the part that describes such numbers? 20:51
Eclesia hm, 10sec, I'll try to write a small example 20:54
dalek nxed: r778 | NotFound++ | trunk/winxed (2 files):
option noan in installed driver and compreg'ed object
20:55
20:57 Infinoid left
Eclesia PerlJam: pastebin.com/CZxrLxfR 20:57
PerlJam So, don't use a parrot I register
Eclesia a pmc ? 20:58
PerlJam Aye.
Make or find a PMC for arbitrary precision numbers.
(I think there may be such a thing somewhere already)
20:59 Themeruta joined
Eclesia how do I specify a pmc in the grammar/actions files ? 20:59
20:59 Themeruta is now known as NotFound_b
benabik Eclesia: I believe what you're looking for is called BigInt and BigNum: See docs.parrot.org/parrot/latest/html/pmc.html 21:00
PerlJam benabik++
dalek nxed: r779 | NotFound++ | trunk/ (3 files):
update installable files
Eclesia benabik: not exactly, since I want it to be something not necessarly evaluated. like for example 1/3 .
benabik Eclesia: Ah. There's no pre-made BigRat, although you should be able to make one from two BigInts. 21:02
Tene You could also look at Rakudo's Rat class
Eclesia ^^ not just rationals, it could be an complexe equation. the objective is to have absolute maths until some kind of solve function is called 21:03
benabik Ahhhh... Building a small CAS? That's exciting. I'd help more, but I've got to head off to class. 21:04
21:05 benabik is now known as benabik_school, benabik_school left
Tene Eclesia: I'm a bit confused because your original question seemed to be asking for help with a grammar, but now it looks like you're wanting advice on data structures. I think I must have missed something. :) 21:06
21:06 bluescreen left
Eclesia I'm a newbie with parrot, I don't really know where to start. I've the docs, so from what I understand I should start by some grammar files. yet I don't know how to describe what I want to do :D 21:07
I have read the docs*
dukeleto Eclesia: i think you want to create some grammar element which describes your Numbers 21:09
Tene Eclesia: Depending on how you look at it, there are roughly three levels you'll be working on.
dukeleto Eclesia: which means you tell it that anything, an integer or floating point, is a Number
Tene There's your high-level grammar, which describes the textual syntactic components of your language.
dukeleto Eclesia: your grammar doesn't know about the insides of a Number 21:10
Eclesia: all it knows is how to identify a Number in the source code
Tene The second stage takes a parsed syntax tree as input and transforms it into an abstract tree representing actual operations to perform.
The third level to look at is the data structures, subroutines, and other API that you build. 21:11
So you'd have rules in your grammar for number literals, and you'd compile those down to instructions for instantiating an abstract computation data type.
You'd have rules for parsing mathematical operations like +, and you'd compile that down to instructions to perform some operation on the abstract computation data type. 21:12
a method call, or subroutine call, that builds up a computation tree.
21:13 Infinoid joined
Tene Eclesia: Does that help any? 21:13
Sorry if that was not quite what you were asking, or otherwise unhelpful. 21:14
bacek ~~
Eclesia so far I understand the steps.
bacek msg whiteknight nm, I already fixed it :)
aloha OK. I'll deliver the message.
Eclesia so in the grammar i should have something like : rule number { stuff that match 3 , 5.566 ... } 21:15
but in the actions file which translate this in pir, I don't see how to handle it
Tene Eclesia: Usually, the 'number' rule would just dispatch out to individual rules for the different types of numbers, but approximately, yes.
Eclesia: the actions file doesn't deal with PIR, but just generates syntax tree nodes. 21:16
So that would be something like:
21:17 bluescreen joined
Tene PAST::Op.new(:pasttype('callmethod'), :name('new'), PAST::Something(<get your number class here>), 'new', $number); 21:17
PAST::Something would probably be somethign like: PAST::Var.new(:scope('global'), :name('SpecialNumber')) 21:18
that would end up compiling down to PIR for something like: $P0 = get_hll_global 'SpecialNumber'; $P1 = $P0.'new'('3'); 21:19
or whatever
21:19 bluescreen left
NotFound_b A closure can be a coroutine? 21:19
21:19 bluescreen joined
Tene NotFound_b: Yeah, I'd expect so. 21:19
NotFound_b An experiment with winxed fails. 21:20
Eclesia Tene : leave me a few minutes to decrypt what you just have written ^^
Coke dukeleto: we should not have any regularly failing tests. if a smoke report is red, repeatedly, that test should be todo'd and have a ticket opened, or fixed.
Tene Eclesia: Please let me know if you want a more-detailed explanation. I'm glad to help. :) 21:21
dukeleto Coke: i disagree
Coke then what is the point of smolder?
dukeleto Coke: a place for smoke reports to be sent 21:22
Coke (if we regularly have failing tests in smolder, then finding new failing tests is a problem. it's no different than having 'make test' pass all the time.
dukeleto Coke: i only think that failing tests should be TODOed for releases. I would rather see test failures, rather than bury them behind SKIPs and TODOs
Coke ok. Then I'll try to continue working on fixing or todo'ing those failures as time permits. 21:23
the TODOs are not buried if they have a ticket.
dukeleto Coke: i set up smoke machines. They send smoke reports. It is up to parrot devs to do something useful with those reports.
Coke ... i was not speaking to you as a smoker.
dukeleto Coke: i hear ya, but most of our TODO and SKIP tests don't have a TT
Coke I was speaking to you as a parrot dev who's also on the board.
nopaste "NotFound_b" at 192.168.1.3 pasted "closure coroutine in winxed fails" (29 lines) at nopaste.snit.ch/30351
Coke I am attempting to nudge things in the correct direction, not continue down a broken path. 21:24
dukeleto Coke: i guess i don't know what you are asking for
Coke but, nevermind. if you disagree, that's fine. I can spend my own tuits.
dukeleto: you seem to have that problem with me a lot. I wonder which one of us it is. ;)
dukeleto Coke: what can I do to improve the current situation ?
Coke: i don't know what you are asking me to do, other than "read all smoke reports and fix stuff that is broken", which I don't have time to do 21:25
Coke: which is why I spent my precious time setting up automated stuff
Coke: if you have a suggestion for a change in our smoking script, I am all ears 21:26
Coke: and I will of course take patches
Coke it has nothing to do with the smoking script.
except insofar as that has pointed out failing tests which need to have some action taken on them.
dukeleto Coke: do you want the smokers to email parrot-dev when a test suite passes? I assume people will get annoyed. We can send them to parrot-commits, instead, if you want 21:27
Coke No.
Not at all. we already have RSS feeds if people want to get notified.
... which is how I know about all the failing ones.
NotFound_b Can someone tell me if a closed coroutine works in other languages? 21:28
dukeleto Coke: if you have a specific task that you want me to do, that is great. But asking me to fix all test failures reported by smolder is not viable
Coke -> offline
dukeleto: I get that you are busy. Thanks.
21:28 perlite_ joined
dukeleto Coke: no worries 21:28
Coke Please forget I said anything whatsoever.
dukeleto Coke: i enjoy your feedback
Coke -> offline (For reals) 21:29
21:29 whiteknight left
dukeleto Coke: please let me know if I can improve stuff 21:29
Coke: laters
21:32 perlite left, perlite_ is now known as perlite
dalek rrot/generational_gc: 8e2d85b | bacek++ | / (3 files):
Remove unused wb_triggered flag.
21:37
rrot/generational_gc: 89d28fe | bacek++ | src/gc/gc_gms.c:
Remove painting of old objects white. It's not needed anymore.
nwellnhof sigh, you need admin rights to create a symlink on windows 21:54
dalek nxed: r780 | NotFound++ | trunk/winxedst1.winxed:
fix initializing from undeclared identifier
21:55 wknight-phone joined, fperrad left
dalek rrot/generational_gc: c1fab7d | bacek++ | / (58 files):
Merge branch 'master' into generational_gc

Conflicts:
  \tsrc/gc/api.c
  \tsrc/gc/fixed_allocator.h
21:57
21:58 rurban_ joined
dalek Heuristic branch merge: pushed 130 commits to parrot/nwellnhof/unicode_dynpmcs by nwellnhof 22:00
22:02 rurban left, rurban_ is now known as rurban 22:07 jsut joined 22:12 jsut_ left 22:16 jsut_ joined 22:21 jsut left
dalek nxed: r781 | NotFound++ | trunk/winxedst1.winxed:
coerce to destination type in +=
22:26
22:30 wknight-phone left
Hackbinary just learned --target=parse 22:34
what other cool debugging thing are there for PCT::HLLCompiler? Which documents would be good to read? 22:35
Eclesia anyone could give me a hint about what is wrong : pastebin.com/4Dt95q6Q ? 22:37
Hackbinary sorry Eclesia, I'm a newbie ... 22:40
Eclesia Hackbinary: so do I :D
Hackbinary you might need to post your source
:D
Eclesia ex-java develope, glad to meet another newbie
Hackbinary I've been doing some hacking on the cardinal ruby implementation 22:41
I've managed to do a couple fixes, but still a little tough going
just working through the hll tutorial 22:42
Eclesia same here. 22:43
dalek rrot/generational_gc: 67b3865 | bacek++ | lib/Parrot/Pmc2c/PMCEmitter.pm:
Emit declaration of default_wb_update_vtable
22:44
Tene Hackbinary: --target=past 22:46
might also be interesting to you
Eclesia the project ftp://ftp-developpez.com/jsorel/temp/eria2.zip 22:48
if someone can have a look
and tell me why it does compile
bacek_at_work ~~ 22:52
HOLEI SCHITT 22:53
Rakudo's make test passed on generational_gc branch!
tadzik \\o/
merge it!
:D
no, seriously? How about spectests?
bacek_at_work tadzik, didn't test it yet. 22:54
But it's a bit slow atm
tadzik sounds freaking awesome
bacek_at_work++
Coke bacek_at_work++ 22:55
bacek++, even.
bacek_at_work I just have to implement "strings part" of it. 22:57
And deprecate "RO" PMCs.
(Or figure out how to handle 3 versions of vtables...)
23:00 jan left
Hackbinary Eclesia 23:06
Eclesia that should be me
Hackbinary ln -s src/eria.pir seemed to fix
so
er 23:07
Eclesia yes, tene gived me the tip in private
Hackbinary parrot is not finding the eria.pir file
o.
:D
Eclesia but thanks :)
Hackbinary Tene: thanks ... I like that one :)
Eclesia Hackbinary: yet if you want a harder error, try ./installable_eria --target=parse test.eria 23:09
dalek nxed: r782 | NotFound++ | trunk/winxedst1.winxed:
refactor a bit op-assign operators and implement *= for string target
23:10
Tene Eclesia: looks like the first sub in eria.pir needs to be marked :init
Eclesia time to sleep +++ 23:16
23:16 Eclesia left
cotto_work bacek++ 23:19
Hackbinary bacek++
23:24 wknight-phone joined 23:27 whiteknight joined 23:31 wknight-phone left
dalek rrot/nwellnhof/unicode_dynpmcs: 9e67f89 | nwellnhof++ | / (5 files):
Implement Unicode readdir
23:32
whiteknight good evening, #parrot 23:34
Hackbinary good evening mr whiteknight 23:35
whiteknight bacek is a freaking magic robot
hello Hackbinary
just call me whiteknight. "Mr Whiteknight" is my father's name
Hackbinary dr whitenight? 23:36
whiteknight not yet. Need to go back to school for that
dalek rrot/nwellnhof/unicode_dynpmcs: 5a6a854 | nwellnhof++ | t/ (2 files):
[t] Fix broken tests on Win32
23:41
whiteknight I need to get bacek working on my branch to fix problems 23:44
wake up one day, and everything works perfectly 23:45
23:47 sheant left