Parrot 3.2.0 released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Parrot is accepted for GSoC 2011! Student application deadline is Apr 8 | Goals: Get more GSoC ideas on wiki; close tickets; stable 3.2 release; assess status of roadmap goals for 3/15 meeting.
Set by moderator on 18 March 2011.
00:05 janus left 00:10 samwho joined, samwho left
dalek sella/harness_refactor: 4107813 | Whiteknight++ | / (8 files):
move factory types to better names/namespaces.
00:20
sella/harness_refactor: b67cee6 | Whiteknight++ | src/tap_harness/ (2 files):
make sure the View displays the total amount of tests and files from all runs
sella/harness_refactor: 175937d | Whiteknight++ | src/tap_harness/View.winxed:
cleanups in the View. In the process, find and fix a bug when we're reporting failures
rrot: ffbd137 | petdance++ | / (10 files):
Overhauled the splint targets to be more forgiving, and easier to maintain. Added new function annotations. Make integer types match more exactly in a few places.
00:23
00:28 kurahaupo left 00:30 kurahaupo joined
Coke thought that parrot JFW again on strawberry perl 00:51
Coke tries a fresh install of strawberry 00:53
yup. my strawberry install was horked. getting much further... 01:17
01:50 woosley joined 01:52 whiteknight left 02:05 kid51 joined
Coke it died on the sha1 step. :( 02:12
I'll try to debug it later when time permits.
mikehh been trying to remove the warning messages from src/pmc/structview.pmc - figgur 02:15
f=iggured out where to put the defaults - now to put appropriate error messages 02:16
but I think I'll do that later - needs sleep 02:17
kid51 mikehh: That would be great. They form a high proportion of all warnings during 'make'.
mikehh kid51: yeah, just taking a lot longer than I thought it would 02:18
I managed to get a build with no swithch warning messages, and tests passed, but a few other warning messages 02:19
which I want to get ridf of
hah my typing has seriously deterioted or something 02:20
mikehh must sleep
kid51 petdance ping 02:21
petdance yessir
kid51 petdance++ on the splint work 02:22
petdance thank you
are you actually running splint?
I suspect I'm the only one.
kid51 ... but I'm wondering: Is there any way that could be put in a sub-file of its own
kid51 occasionally wonders whether config/gen/makefiles/root.in could be shortened
02:23 soh_cah_toa left
kid51 And, to answer your question, no, I'm not running splint. I doubt I'd know how to fix the problems it exposes. 02:23
wc -l config/gen/makefiles/root.in 3111 config/gen/makefiles/root.in 02:24
03:00 kid51 left
dalek rrot: bf51801 | mikehh++ | src/pmc/structview.pmc:
add default to all switch statements - first cut at removing warnings

have added defalut: - with break need to replace the breaks with exceptions as it never reach there
03:12
mikehh so much for going to sleep, maybe I can do that now 03:16
cotto ~~ 03:24
dukeleto ~~ 03:28
bacek_at_work !~~ 04:01
cotto !!~~ 04:23
04:43 robertpeters_WLS left 05:01 giwi left 05:06 kurahaupo left, kurahaupo joined 05:25 petdance left 05:28 petdance joined 05:30 alin joined 05:35 alin left 05:41 petdance left 05:47 alin joined 05:51 giwi joined 06:07 RonLinix joined 06:34 kurahaupo left 06:46 kurahaupo joined
bacek ~~ 06:51
06:53 alin left 07:05 rurban_ joined 07:07 rurban left, rurban_ is now known as rurban 07:22 fperrad joined 07:33 fperrad_ joined 07:36 fperrad left, fperrad_ is now known as fperrad 07:50 fperrad_ joined 07:52 fperrad left 07:53 fperrad_ is now known as fperrad 07:57 RonLinix left, Drossel left 07:58 Kulag joined 08:12 Eduardow left 08:15 alin joined 08:16 Eduardow joined 08:17 kurahaupo left
dalek rrot/opsc_llvm: 0e47a3a | bacek++ | / (2 files):
Add shortcuts to create few Parrot types.
08:22
08:29 kurahaupo joined 09:07 hudnix left, hudnix joined 09:16 hudnix left 09:19 hudnix joined
dalek rrot/jit_prototype: ff6ba19 | (luben karavelov)++ | t/library/llvm/03-constant.t:
more test for generating constants
09:21
rrot/jit_prototype: aa6f121 | (luben karavelov)++ | / (2 files):
Flesh out LLVM::Constant
rrot/jit_prototype: 1c76a45 | bacek++ | runtime/parrot/library/LLVM/Constant.pm:
Use bit of static typing in LLVM bindings.
rrot/jit_prototype: 0e47a3a | bacek++ | / (2 files):
Add shortcuts to create few Parrot types.
09:22
rrot/jit_prototype: 25cdb27 | bacek++ | / (4 files):
Merge branch 'opsc_llvm' into jit_prototype
rrot/jit_prototype: 8e99372 | bacek++ | runtime/parrot/library/LLVM/BasicBlock.pm:
Add LLVM::BasicBlock.insert_before();
rrot/jit_prototype: c220762 | bacek++ | t/jit/test.t:
Create llvm function for jitted sub
09:31 woosley left 09:37 alin left 09:38 alin joined 09:58 lucian joined 10:22 contingencyplan left 10:29 Eduardow left
dalek rrot/jit_prototype: 989835a | bacek++ | runtime/parrot/library/LLVM/Value.pm:
Return self from Value.name for simplify chained calls.
10:39
rrot/jit_prototype: 16a0448 | bacek++ | t/jit/test.t:
Handle params/returns
rrot/jit_prototype: 34472b3 | bacek++ | compilers/opsc/src/Ops/Trans/JIT.pm:
First actual JITting - handle 'goto offset' in LLVM::Trans::JIT.
rrot/jit_prototype: 881929c | bacek++ | runtime/parrot/library/LLVM/Type.pm:
Improve Type::PMC slightly.

LLVM doesn't like pointer(void). It should be replaced with pointer(int8()). Which makes sanse but still quite surprise.
rrot/jit_prototype: 0729979 | bacek++ | runtime/parrot/library/LLVM/Value.pm:
Fix typo
10:40
rrot/jit_prototype: 3a50185 | bacek++ | t/jit/test.t:
Add module.verify at the end of "JITting"
11:05 ambs joined
dalek rrot/jit_prototype: 9a5cbee | bacek++ | t/jit/jitted.ops:
Add few more ops to enable simple loops.
11:06
mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#12773) fulltest) at 3_2_0-34-gbf51801 - Ubuntu 10.10 i386 (g++-4.5) 11:32
11:50 lucian left 11:52 lucian joined 12:06 darbelo joined 12:09 woosley joined 12:16 woosley left 12:40 whiteknight joined, samwho joined 12:41 samwho left
whiteknight good morning, #parrot 12:52
12:56 plobsing left 12:58 bluescreen joined 13:24 plobsing joined 13:26 GodFather joined, kid51 joined
kid51 mikehh++ for reducing warnings in 'make' output from ~ 320 to 20. 13:29
mikehh kid51: still working on getting rid of the rest :-} 13:30
one of the problems seems to be that with .pmc's, especially with certain macros - line numbers fail to correspond 13:32
moritz the "fun" of textual macro substitution 13:33
mikehh moritz: yeah 13:34
but I keep getting distracted by $work :-{ 13:35
13:43 giwi left, giwi joined 13:51 cognominal left 14:08 dmalcolm joined 14:13 JimmyZ joined 14:16 giwi left 14:25 plobsing left 14:26 bluescreen left 14:27 darbelo left 14:34 giwi joined 14:36 hercynium joined 14:39 plobsing joined 14:42 mtk joined 14:43 clunker3__ joined 14:46 contingencyplan joined 14:53 whiteknight left 15:04 Eduardow joined, Andy_ joined 15:05 rurban_ joined 15:06 bluescreen joined 15:07 rurban left, rurban_ is now known as rurban 15:12 PacoLinux joined 15:17 whiteknight joined 15:23 Drossel joined, Kulag left 15:24 samwho joined, samwho left 15:25 kid51 left 15:33 ambs left 15:35 ambs joined
Coke msg dukeleto - there are tpf-gsoc lists. is parrot going to use parrot-dev? (which is fine with me) 15:37
aloha OK. I'll deliver the message.
whiteknight I assume we'll just use parrot-dev for GSoC, unless traffic becomes large 16:05
16:26 giwi left
cotto_work ~~ 16:26
moritz is traffic on parrot-users high enough to warrant a separate list, in retrospect? 16:27
16:27 giwi joined
moritz thinks he hasn't subscribed it 16:27
Coke you mean, is it worth having a separate -users list? certainly not just by traffic, no.
... but that wasn't the point of creating the users list.
16:34 bluescreen left
dukeleto Coke: parrot will use parrot-dev for gsoc stuff, for now 16:40
16:40 JimmyZ left 16:41 cognominal joined
Coke I like the idea of the posters that TPF put together. 16:50
whiteknight posters? 16:51
PerlJam Coke: you like the idea of the posters, but not the implementation? :)
Coke PerlJam: just trying to avoid bikeshedding discussions. 17:02
guess that backfired.
whiteknight: yes, on the tpf-gsoc* lists, links to pdfs of posters to hang up on college campuses.
moritz bikeposter discussions!
17:03 ShaneC left
PerlJam Coke: I care not the color of the shed. (as long as I don't have to paint it! :) 17:03
17:08 nwellnhof joined
nwellnhof ~ 17:08
17:13 alin left 17:15 Eduardow left 17:16 Themeruta joined 17:17 NotFound left 17:22 ShaneC joined 17:25 bluescreen joined 17:34 sjn joined 17:40 Eduardow2 joined 17:41 clunker3__ is now known as clunker3 17:47 Eduardow2 is now known as Eduardow 17:59 GodFather left 18:01 kurahaupo_mobi joined, kurahaupo left
dukeleto ~~ 18:13
18:16 jsut_ joined 18:21 jsut left 18:22 mj41 joined 18:27 dodathome joined 18:30 plobsing left 18:31 plobsing joined 18:32 janus joined 18:40 Themeruta is now known as NotFound 18:42 Patterner left 18:46 Psyche^ joined, Psyche^ is now known as Patterner
cotto_work I'd appreciate eyeballs on the M0 spec. I'm tired of there not being code and plan on writing some as soon as possible. 18:59
cotto_work heads to lunch
tadzik o/ 19:09
atrodo cotto_work> I was actually going to try and catch you and talk about m0-spec today
PerlJam where's the M0 spec? 19:10
atrodo github.com/parrot/parrot/blob/m0-s...d32_m0.pod 19:11
PerlJam danke 19:13
M0 doesn't need to know about GC ... does Lorito not know about GC? (I would assume that GC would be implemented in terms of lorito or some such?) 19:16
perhaps there's just an unnecessary link in my head between "objects" and "garbage collection" 19:18
atrodo I think that GC moves to a Lorito level of caring 19:19
so M0 has no instructions to handle GC is the way I think about it, if my thinking is correct
dukeleto PerlJam: M0 will know very little about the GC 19:21
PerlJam: but M1 will
PerlJam M0 I get ... it's the Lorito part I'm not sure about.
Lorito == M0 + object model
dukeleto PerlJam: not quite
PerlJam That's what the doc says: Lorito refers to the combination of M0, a meta-object model and the way that they're used as a foundation for Parrot. 19:22
oh, so it says "meta-object model"
dukeleto Lorito = \\sum_{i=0}^{\\inf} M_i
PerlJam What does that mean?
dukeleto: oh!
Well, that's not how I read it :) 19:23
dukeleto think in terms of a nested onion of languages, starting with M0, then M1 written in terms of M0, ...
PerlJam aye, that's how I had thought of it previously, but the M0 spec gave me the impression that Lorito was going to be a specific combination of things including M0. 19:24
dukeleto the term Lorito refers to Parrot rewritten in terms of these languages, instead of C+PASM+PIR
PerlJam: yes
Lorito is a hazy concept
PerlJam anyway, I'm good now. thanks for clarifying.
dukeleto M0 has a spec
atrodo Lorito is a lot of hand waving 19:25
dukeleto so we are concentrating on what is in M0 and what is not
atrodo: yes
dukeleto concentrates on M0, and actually has not a clue what "Lorito" will look like. But that is fine.
a MOP and the GC are perhaps the most important things to implement in terms of M0 (i.e. M1 level) 19:26
and no one quite knows if the GC tentacle beast get be disentangled from M0
19:26 Patterner left 19:27 Maddingue left
dukeleto i imagine we will have a very few extremely low level memory-related ops at M0 that the GC can be built up from 19:27
PerlJam then maybe take out the section that says "These [ops] are too magical..." and instead just say that GC will be built on top of M0, as will object creation/manipulation/destruction.
dukeleto PerlJam: that document is a work in progress
PerlJam: knowing what M0 is not is one of the main ways we are figuring out what M0 is :) 19:28
PerlJam: so that section is important
whiteknight I would be extremely hesitant to implement GC in terms of M0. That's needlessly wasteful 19:43
19:44 Maddingue joined
whiteknight the only thing GC would need to know, or need to be able to be told about, is the storage location for objects. that's the register sert 19:44
set
besides a handful of ops for that purpose, I wouldn't say that PIR "knows" about GC 19:45
19:52 jsut joined 19:57 alin joined, jsut_ left 20:00 hudnix left 20:01 hudnix joined 20:03 davidfetter joined 20:05 jsut_ joined 20:09 jsut left 20:18 bacek left 20:22 alin left 20:23 marcel_r joined 20:28 alin joined 20:29 alin left 20:30 bacek joined 20:36 whiteknight left
cotto_work ~~ 20:37
atrodo: I can pay partial attention now if you want to talk about the spec 20:39
atrodo cotto_work> sure, but I will have to take of soon-ish, but I'll be available again tonight 20:41
cotto_work ok 20:42
atrodo: what questions did you have? 20:44
atrodo cotto_work> I'm staring at the pdd trying to remember 20:45
cotto_work ok. I'll be around.
atrodo cotto_work> It seems to me that there's still a lot missing and a lot of details glossed over. That feelings normal, right? 20:46
dukeleto atrodo: yes 20:47
marcel_r allison: Regarding a new pynie implementation: if we're going to write a custom object system, in what level it'll be? PIR? C?
cotto_work atrodo: I think so. I don't expect that the spec is complete, but to me the best way to move it forward seems to be to try implememnting it.
*implementing 20:48
dukeleto marcel_r: i would suggest PIR or winxed 20:49
marcel_r dukeleto: Great. 20:50
dukeleto marcel_r: also, parrot has plans to implement a new MOP soon, so we definitely want to hear from pynie devs what they need in a MOP 20:51
marcel_r: exactly how objects and inheritance is defined, etc...
marcel_r: what is allowed at compile-time, what is allowed at run-time, ... 20:52
marcel_r dukeleto: Well, I'm not an expert, but I feel that if we have hash tables and pointers to subroutines, we can emulate pretty much everything OOP-related. 20:54
dukeleto: I'm trying to figure out how to do this in PIR.
dukeleto: But my approach would need heterogeneous hash tables, and I don't know if there is a PMC like this. 20:56
atrodo cotto_work> Is there value in trying to rectify my prototype and m0-spec? Or should the focus be on a new prototype?
dukeleto marcel_r: there is a Hash PMC in src/pmc/hash.pmc
marcel_r: heterogeneous as in the keys can be of different types?
marcel_r: you can emulate that by storing PMCs in Hash PMCs, probably 20:57
marcel_r dukeletos: heterogeneous as in the *values* can be of different types.
dukeleto marcel_r: and there is something called OrderedHash PMC as well, for an ordered hash
marcel_r: sure. same is true
dukeleto thinks so, anyway
cotto_work atrodo: there are some significant differences. I need to look at it again to figure out what'd be best.
dukeleto marcel_r: if not, we can make it true 20:58
marcel_r dukeleto: Awesome.
dukeleto marcel_r: for pointer-ish stuff, there are a few different solutions, depending on whether you want to do your own memory management
atrodo cotto_work> right, I've filled in a lot of questions long before any of the m0-spec started
lucian marcel_r: the idea is to do it in winxed, yes 20:59
dukeleto marcel_r: ManagedStruct, UnManagedStruct and PtrBuf
lucian marcel_r: python allows non-strings as attributes
dukeleto marcel_r: PtrBuf is the new hotness, but hasn't been tested as well. Most likely, you should use PtrBuf
21:00 alin joined
dukeleto lucian: where is this plan to use winxed written down? 21:00
lucian: is there a new pynie repo ?
lucian dukeleto: it's not, really
dukeleto lucian: ENOSPEC
lucian i haven't had time to work on it, but i will during gsoc
marcel_r dukeleto: Perhaps the pointer stuff can be done with the Sub PMC. Not really a pointer, just a way to bind a subroutine to a hash value. 21:01
lucian nods
atrodo cotto_work> And I took a slightly different approach to answering those questions. Instead of using how parrot does it to answer, I tried to answer with what would be the most efficient (fsdo), flexible, and friendly 21:03
(all based on my relatively biased perspective)
21:03 hudnix left 21:06 Andy_ left 21:07 sjn_ joined
atrodo heads out 21:08
marcel_r lucian: So, the idea is to write the object model in Winxed... Is it definitive? Is there some work already done?
21:09 marcel_r_ joined
lucian marcel_r: no to both 21:10
21:11 bluescreen left
lucian marcel_r: we had a lengthy discussion about what we could use to implement it 21:11
21:11 hercynium left
lucian doing it in C is slow, so not a good choice at least for prototyping 21:12
6model isn't ready, and it's appropriateness is dubious
PIR is annoying, since it's assembly
winxed is the only working parrot system language
21:13 alin left 21:14 marcel_r left, marcel_r_ is now known as marcel_r
marcel_r lucian: This seems like a good summary of the situation, thanks. 21:15
lucian marcel_r: ideally as much of pynie should be written in python 21:16
but at least now, only the compiler can easily be written in python
marcel_r lucian: Sure PIR is assembly, but I see some potential on the PMCs.
lucian marcel_r: yeah, hash should be enough. but since winxed just compiles to PIR, why not?
marcel_r lucian: I'm totally in for the idea of doing as much of the pynie code in Python as possible. Just worried about the adequacy of written some lower-level elements in HLL. 21:20
21:20 Andy_ joined
lucian marcel_r: i'm not :) 21:20
ideally, at some point the object system will be written in python as well 21:21
but that's hard and would take too much time to set up
21:21 mj41 left
marcel_r lucian: e.g. If we write object model code in Python, we can't use OOP features, because they depends exactly in the object model. So why do this in Python? 21:21
lucian (it would require writing two compilers)
marcel_r: it would necessarily be a subset of python
similar to nqp in scope, i guess
marcel_r Indeed, and that's why I don't see the point. If we can't use the useful features of Python, why don't we just write it in PIR? 21:23
Or Winxed...
21:25 alin joined, lucian_ joined
lucian_ marcel_r: sorry, my isp is crap 21:26
marcel_r lucian: No problem, it happens to me too. A lot.
21:27 lucian left 21:37 fperrad left 21:39 davidfetter left 21:42 marcel_r left 21:44 dodathome left 21:53 lucian_ left 21:57 lucian joined, lucian left 22:06 ambs left 22:07 alin left
bacek_at_work ~~ 22:07
dalek rrot/jit_prototype: 240d755 | bacek++ | / (2 files):
Add Type::function for create FunctionType
22:14
rrot/jit_prototype: 175b576 | bacek++ | runtime/parrot/library/LLVM/Module.pm:
Switch Module to use Type::function
22:19 kid51 joined 22:21 jsut joined 22:26 jsut_ left, jsut_ joined 22:31 jsut left
cotto_work We need to commit some images. GitHub supports diffs between them now. 22:33
github.com/cameronmcefee/Image-Dif...673d7cdad8 22:36
22:37 samwho joined 22:41 samwho left 22:50 theory left 22:55 giwi left, whiteknight joined, plobsing left
tadzik ohwow 23:02
bacek_at_work tadzik, ? 23:04
tadzik bacek_at_work: the image diff thing
23:05 rurban_ joined
bacek_at_work tadzik, yeah, really cool 23:05
23:07 rurban left, rurban_ is now known as rurban, davidfetter joined 23:20 plobsing joined 23:24 kid51 is now known as kid51_at_dinner 23:25 theory joined 23:33 sjn_ left 23:34 bubaflub joined 23:44 davidfetter left 23:56 theory left