Parrot 3.6.0 "P�jaros del Caribe" released | parrot.org | Log: irclog.perlgeek.de/parrot/today | #parrotsketch meeting Tuesday 19:30 UTC
Set by moderator on 31 July 2011.
00:02 whiteknight left
dalek tracwiki: v1 | cotto++ | HBDBPlanning 00:07
tracwiki: original schedule
tracwiki: trac.parrot.org/parrot/wiki/HBDBPla...ction=diff
kudo/nom: c26878d | tadzik++ | src/core/Parameter.pm:
Fill in some Parameter accessors
00:21
kudo/nom: 124bec3 | tadzik++ | src/core/Parameter.pm:
Fix Parameter.named, add Parameter.slurpy
00:30 Kulag left
Coke cotto_work: pong 00:30
00:35 theory left 00:36 Kulag joined
cotto_work Coke: dukeleto answered my question 00:37
dalek tracwiki: v2 | cotto++ | HBDBPlanning 00:38
tracwiki: remove timeline items that don't list specific features
tracwiki: trac.parrot.org/parrot/wiki/HBDBPla...ction=diff
00:44 Kulag left 00:55 rdesfo left
Coke cotto_work: unpong. 01:06
01:13 preflex left
Felipe unpong, that's new. 01:16
cotto_work That's what happens when you forget to unping someone.
Felipe hehe 01:17
01:21 bubaflub joined
bubaflub ~ 01:21
Felipe ~
01:27 GodFather joined 01:32 woosley joined 01:33 GodFather left
cotto ~~ 01:48
01:50 kid51 joined 02:10 jsut joined 02:14 jsut_ left 02:16 preflex joined 02:33 daniel-s joined 02:48 theory joined 02:49 kid51 left
Tene In cotto's recent blog post, it took me several readings of "C89 Implementation" to understand that it was an implementation of M0 written in C89, and not what I initially read it as, an implementation of C89 in M0 02:55
dalek TT #2169 created by jkeenan++: tools/dev/parrot_api.pl: What is this program meant to do? Do we still ... 02:59
TT #2169: trac.parrot.org/parrot/ticket/2169
cotto Tene, fixed (I hope) 03:04
Now both people who read it in the future will be less confused. 03:18
03:26 rdesfo joined 03:29 theory left 03:31 theory joined 03:32 rdesfo left 03:49 theory left 03:52 theory joined 05:01 woosley left
dalek rrot: 7db4473 | dukeleto++ | / (4 files):
[TT#2169] Removed useless,untested and broken nm.pl and parrot_api.pl
05:20
TT #2169 closed by dukeleto++: tools/dev/parrot_api.pl: What is this program meant to do? Do we still ... 05:21
TT #2169: trac.parrot.org/parrot/ticket/2169
05:27 rdesfo joined 05:33 rdesfo left 05:48 theory left 06:32 dngor left 06:34 dngor joined 06:55 fperrad joined
cotto dukeleto, you up? 07:00
07:10 mj41 joined 07:27 rdesfo joined 07:33 rdesfo left
dalek rrot/m0-spec: fc4b167 | cotto++ | docs/pdds/draft/pdd32_m0.pod:
describe primitive string layout, make INSP sizes less self-contradictory
07:42
07:42 contingencyplan joined 07:58 rdesfo joined, rdesfo left, cosimo left
dalek rrot/m0-spec: 8af0e30 | cotto++ | docs/pdds/draft/pdd32_m0.pod:
tighten conversion semantics
08:07
rrot/m0-spec: 6e776a4 | cotto++ | docs/pdds/draft/pdd32_m0.pod:
specify what happens with out-of-range conversions
08:13 dafrito joined
dafrito ~~ 08:14
08:16 lucian joined 08:42 dngor left
dalek kudo/nom: 2dd618f | moritz++ | tools/lib/NQP/Configure.pm:
[build] fix lookup of defined-but-false configure options while generating the Makefile
09:57
kudo/nom: 293215f | moritz++ | README:
fix thinko on README, mls++
09:58 contingencyplan left 10:07 lucian left 10:24 lucian joined
Felipe morning 10:48
11:10 darbelo left 11:13 Kulag joined
dalek TT #2096 closed by jkeenan++: t/dynoplibs/debug.t: fails one test on some Darwin 11:53
TT #2096: trac.parrot.org/parrot/ticket/2096
12:19 jsut_ joined 12:20 jsut left 12:28 dngor joined 12:29 dngor left, dngor joined 12:32 whiteknight joined, Coke left, Coke joined 12:37 cosimo joined 12:38 dngor left
whiteknight good morning, #parrot 12:40
tadzik good morning whiteknight 12:41
whiteknight hello tadzik
tadzik how are things? 12:42
whiteknight bleh. You?
tadzik pretty good
the gsoc project got a decent progress hit recently, even got mentioned on the Perl Weekly Newsletter
whiteknight yeah, I've been seeing some news about it 12:43
congrats about getting merged into nom
tadzik thanks 12:44
12:47 dngor joined 12:54 darbelo joined 13:00 darbelo left
bubaflub ~ 13:00
whiteknight good morning, bubaflub 13:04
bubaflub morning whiteknight
13:05 kurahaupo left
whiteknight msg soh_cah_toa I'm playing with hbdb here and it's looking like it works pretty well. step, run, quit, and list operations all work as expected. I am seeing what you are talking about with breakpoints. I'll look at it and do what I can 13:12
aloha OK. I'll deliver the message.
13:20 cosimo left 13:21 darbelo joined 13:22 cosimo joined 13:27 lucian_ joined 13:33 lucian left
whiteknight msg soh_cah_toa Look at src/sub.c The functions Parrot_sub_get_line_from_pc and Parrot_sub_get_filename_from_pc look promising. See also Parrot_sub_context_get_infostr for an idea of how things go together. Take those things, put together a line-number breakpoint system, and we will fix it till it works 13:48
aloha OK. I'll deliver the message. 13:49
dalek kudo/nom: d9323d4 | moritz++ | t/spectest.data:
comb.t needs ICU
13:57
13:59 Casan joined
dalek kudo/nom: ffe522a | Coke++ | t/spectest.data:
track failure modes
14:06
14:08 Felipe left 14:14 davidfetter left 14:15 woosley joined
dalek kudo/nom: b3869b4 | Coke++ | t/spectest.data:
run another fudged test
14:17
14:21 daniel-s left 14:25 MvG joined 14:26 Felipe joined
MvG Hi! I've just pushed a fix for TT2107 to github, and wanted to add a comment to the ticket itself. Registered and logged in, but still get no comment tex box. Are newly registered users by default forbidden to comment on existing tickets? 14:27
moritz MvG: seems like, in response to massive spamming 14:28
MvG Could someone powerful enough please add a link to github.com/parrot/parrot/pull/144 to that ticket? Unless you plan to merge that pull request into master pretty soon, that is.
moritz MvG: what's your trac username?
somebody might give you permission
MvG Or grant me the required permissions, but I guess that would take someone with even more permissions than adding a simple comment.
I've registered as "gagern".
whiteknight Mvg: try it now 14:30
moritz I"ve added a comment
MvG Yes, comment box is there now. Thanks, moritz! 14:31
Coke whiteknight++ # trac adminning so I can sleep. 14:32
whiteknight sleep++
atrodo sleep++
Coke (I'm not actually sleeping) 14:33
dalek rrot: ff9ad45 | (Martin von Gagern)++ | src/dynext.c:
[TT#2107] Fix dynloading of libraries from exact file name.
14:47
rrot: 2d6e52a | jimmy++ | src/dynext.c:
Merge pull request #144 from gagern/tt2107-dynext-get_path

  [TT#2107] Fix dynloading of libraries from exact file name.
whiteknight MvG++
MvG Thanks! 14:50
moritz does prefix ! has looser precdence than comparison operators (<=) in C? 14:55
or asked differently, does that patch parse as !(STRING_length(lib) >= 3) && ... 14:56
or as (!STRING_length(lib)) >= 3 ?
whiteknight the ! binds more closely than >= 14:58
he removed them, because they were nonsensical there
moritz ok 14:59
15:01 rdesfo joined 15:05 JimmyZ joined 15:08 rdesfo left 15:50 woosley left 15:55 cosimo left 16:08 lucian_ left 16:10 spinclad_ left 16:15 mj41 left 16:28 darbelo left 16:32 theory joined 16:38 JimmyZ left 16:44 lucian joined 16:51 jsut joined, jsut_ left
benabik Are all of parrot's tests written in perl? 16:52
bubaflub benabik: nope - there are some in PIR and PASM and even a few in NQP 16:54
17:02 rdesfo joined, Casan left 17:11 rdesfo left 17:12 darbelo joined 17:15 jsut_ joined
Coke the general goal is (was) to move tests to PIR to avoid having N invocations of parrot per test file. 17:18
and also to eat our own dogfood.
benabik All the tests in t/compilers/pct are in Perl… Is there a PIR test I should copy the style of instead? 17:20
17:20 jsut left
NotFound benabik: $ ack '!\\./parrot$' t/ 17:25
benabik NotFound: Yeah, I did something similar already.
Coke t/pmc/boolean.t, e.g.
benabik Although mine involved a pipe with find, read, head, and grep...
NotFound benabik: ack is great 17:26
benabik NotFound: I don't know a way to get ack to print the first line of all files matching *.t
NotFound: Since I didn't know beforehand what the #! line would be for PIR tests...
benabik supposes he could have used ack '#!' 17:27
NotFound benabik: you can also write tests with winxed, but there is none of that kind in core yet. 17:28
benabik NotFound: Learning winxed is on my TODO list, but I'm sticking with PIR and NQP for GSoC.
NotFound I tend to use winxed just the avoid to write pir by hand. 17:30
cotto_work ~~
whiteknight Unfortunately, in Parrot core you don't have Rosella around to make tests easy 17:31
</shameless plug>
atrodo That's quite the shame
NotFound For things that are usually done in PIR, winxed and Test/More is easy enough. 17:32
whiteknight NotFound: I have some questions for you, if you have a minute 17:34
NotFound Shot 17:35
whiteknight NotFound: Did those __CLASS__ and __NAMESPACE__ additions make it into the snapshot yet?
I haven't had time to look, but I didn't see them in the commits list
NotFound whiteknight: no, sorry, I forgot you wanted it.
whiteknight it's no big deal, I haven't had time yet to use it
NotFound: Also, how hard would it be to create an easier syntax for closures, like C# lambdas? 17:36
(var x) => { ... }
maybe not exactly like that, but shorter than the function syntax? 17:37
NotFound I've thought about it, but it looks like people are not exactly claming for more syntax.
whiteknight okay
The one thing I like most about NQP is the short block syntax: { ... } 17:38
of course, they don't have hash literal syntax, so it is a trade-off
NotFound I'm refreshing a bit my java skills, maybe I find some inspiration from it.
Yes. the hash and array literal syntax makes difficult to borrow some constructs from other languages. 17:39
whiteknight yeah 17:40
A syntax like => { ... } would be like function() { .. } but shorter
or -> {...}
NotFound But people have to learn it. function () is almost self-teaching.
lucian i think fun or fn would be enough of an improvement 17:41
fn(){} vs CoffeeScript's () -> 17:42
pretty good if you ask me
whiteknight I would be fine with a syntax that didn't take parameters, like NQP blocks 17:43
NotFound I think the potential user base of winxed cares more for simple and easy syntax than for brevity.
whiteknight nqp pointy blocks are fine too
NotFound Key question: there is any functionality hard to reach with the current means, or is just brevity and style? 17:45
whiteknight just brevity and style
Next question: Do you have any other big changes planned for winxed? 17:46
lucian fwiw, js harmony folks think a short lambda syntax is important
they're planning to copy CS's i think 17:47
NotFound I'm still working in scope search and using statements, not sure if some change related to that may be big-
17:47 jsut joined
whiteknight I have everything I need from winxed in terms of syntax and features. It's a very good language so far 17:49
lucian nods
NotFound lucian: I stop worrying about javascript variants and proposals in the early stages of winxed design, when I realized that a high degree of compatibility will not be doable. 17:50
lucian NotFound: yes, of course. my point was on general language design (i.e. "short lambdas are desirable") rather than any particular compatibility with js
NotFound My view on that is that adding an alternate syntax with no real difference between it and the current way is just confusing. 17:52
17:52 jsut_ left
lucian yes, perhaps 17:52
NotFound Confusing for beginners. And I need beginners, there are no long experienced winxed users ;) 17:53
lucian nods 17:54
benabik whiteknight: PackfileView's perldoc has a METHOD trigger(STRING *flag), but it doesn't appear to be in the code.
lucian although the argument could be made that the language is young enough for such changes to be beneficial
NotFound whiteknight: the biggest change in the horizon may be the addition of multi, but I've not even looked at that, and maybe I'll wait after 6model introduction. 17:55
benabik NotFound: No multi? Ouch. That's a very commonly used feature in PCT. 17:56
NotFound: Does it handle multiple return values? (NQP doesn't to my irritation)
NotFound benabik: yes, there is specific syntax for that. 17:57
lucian benabik: yes
the syntax isn't particularly nice or intuitive
but it works :)
NotFound I failed to find a clean way to enable it without adding syntax.
17:59 kurahaupo joined
NotFound The problem was the need to enable all calling conventions modifiers. Without that, the functionality will be poor. 18:00
benabik Huh?
NotFound optional, named... 18:01
benabik With multi?
NotFound With multiple return.
lucian NotFound: yeah, i realise that 18:03
whiteknight Multi is actually one thing I really do want still 18:08
I am getting along without it, but I have lots of functions with similar names
lucian i've been wondering for a while if python/js style function references and function overloading could be made to work together 18:09
NotFound I'm also thinking about some way of generics or templates, but that I'm positively sure must wait after 6model.
whiteknight yes, 6model is an important enabler for that 18:10
NotFound Also, I'm re-reading "The Design and Evolution of C++" to learn how to deal with the demands of the users ;) 18:14
18:16 lucian left
whiteknight I'm not demanding! Who's demanding? 18:17
18:18 lucian joined
NotFound I'm just being preventive. 18:18
18:24 darbelo left
atrodo NotFound> You mean ignoring users? 18:24
18:25 darbelo joined
NotFound atrodo: you have not readed the book, haven't you? 18:25
whiteknight that is a book I need to get a copy of some day
atrodo NotFound> Actually, not
lucian whiteknight: me too. i'm curious how on earth such an atrocious language grew so popular 18:26
whiteknight you can't deny it's power or its performance, in general 18:27
NotFound Long story short: he recommend hear the users, but not be afraid of saying "No".
lucian sound advice
18:28 lucian left
whiteknight and so long as you don't try to throw exceptions from destructors, or actually overload operators, or abuse polymorphism in ways that are unreadable or untraceable, or try to interact with software compiled by a different C++ compiler, try to interact with most C code, or do a bunch of other stuff, it's awesome 18:28
NotFound lucian: try to rewrite winxed stage 0 in C, and you'll know why C++ got popular.
atrodo I'd be quite glad to be able to call one language from another language, for any pair of languages
whiteknight Object-oriented features, if you cut out all the crufty old C-style code, and you are very cautious about using templates, can actually be quite nice 18:30
and operator overloading. I've never seen a single example of operator overloading that did anything more than obscure the code and make it less readable 18:31
NotFound whiteknight << "Here is one";
benabik Operator overloading is useful iff you're defining a mathmatical object.
whiteknight NotFound: I disagree strongly. I hate that overloading
18:31 contingencyplan joined
NotFound whiteknight: You hate less printf, sprintf, and family? 18:32
18:32 lucian joined
benabik complex c1(0,1), c2(1,0), c3; c3 = c1 + c2 18:32
whiteknight NotFound: yes, I like printf and sprintf
benabik: maybe, sure. But then what happens when you're adding c1 + d1, a double? or c1 + i1 an integer?
NotFound whiteknight: One day I must make a recount of the number of bugs in printf-alike parrot functions I've fixed. 18:33
whiteknight And what if one of the arguments is the result of a templating STL operation, and the type of the operands is not obvious from reading it?
benabik whiteknight: There are rules for designing implicit casting for those situations, IIRC.
whiteknight NotFound: buggy implementation says nothing about the goodness of the interface
benabik: my point is, it's extremely easy for such a simple case to spiral out of control 18:34
NotFound whiteknight: bugs in its usages, wich says a lot about the interface.
whiteknight and even then, if the operator throws some kind of exception, or has side-effects, or...
benabik Being complicated is not a good reason to toss it out wholesale. Problems about types are the same for operators as they are for methods. Ditto exceptions and side-effects. 18:35
NotFound The more frequent one: using %s instead of s with parrot strings.
%Sa 18:36
Urgh.
%Ss
whiteknight there's a difference between the Parrot_sprintf and the sprintf_s_s_p opcode 18:37
C-level interfaces throughout Parrot are all shitty, but the idea of sprintf is not a bad idea
and it's obvious that it's a function call
NotFound Anyway, I like more the C++ approach than the java style tostring everyhting. 18:38
whiteknight Java is certainly not the best alternative to C++
18:42 lucian left
NotFound Well, if you plan to read the book, Stroustrup will explain you his rationale far better than me. 18:42
atrodo I'm no longer sure where I lay on the operator overloading argument. Clearly C++ is wrong, the shift operator is not a pipe, print(concat(concat("but", "I"), concat("can", "relate"))) to the noise the lack creates 18:43
whiteknight I will, one day. I have a long reading list
NotFound That remembers me, I'm still not sure if iI should add the , operator to winxed. 18:46
(Someone has noticed its absence?)
(The point that makes me remeber it: was one of the alternatives considered for <<) 18:49
whiteknight what would that operator do?
same as in C (nothing)?
NotFound Aye
18:50 lucian joined
NotFound The only important use case I have in mind is if for loops. 18:50
I had the idea of adding an special case for that, but nobody asked. 18:51
lucian whiteknight: r.e. Java, in fact it has the exact same thing if you know where to look
18:51 dmalcolm joined
benabik Now that I think about it, my biggest usage of operator overloading in C++ recently has been making an iterator look like a pointer. 18:52
18:52 Eclesia joined
Eclesia hi 18:52
whiteknight hello Eclesia 18:55
Eclesia whiteknight: do you have something in rosella to manipulate zip,tar or whatever archove ? 18:56
archive*
whiteknight Eclesia: No. Parrot doesn't always have those things. You need to compile specially with the right dependencies
Rosella tries to avoid dependencies
Eclesia whiteknight: ho, that would explain the : "load_bytecode" couldn't find file 'gziphandle.pbc' 18:57
whiteknight yeah, you need optional dependencies 18:58
I don't remember what. libtar-dev or something like that
Eclesia :'(
whiteknight yeah, it's a pain and is not documented well enough 18:59
Eclesia dynpmc/gziphandle.pmc 19:01
Need a parrot built with zlib 19:02
damn
whiteknight yeah 19:03
19:04 alester joined 19:05 rdesfo joined 19:12 rdesfo left
cotto_work almost forgot about #ps in 18 19:14
whiteknight oh shoot, I almost forgot too
atrodo It is Tuesday, isn't it?
nopaste "Eclesia" at 192.168.1.3 pasted "rosella installation missing file for whiteknight" (25 lines) at nopaste.snit.ch/66684
whiteknight Eclesia: damn. I thought I fixed that yesterday 19:15
cotto_work www.isittuesday.co.uk/
atrodo cotto_work++ 19:17
Eclesia whiteknight: I've pulled parrot and rosella a few minutes ago. 19:18
whiteknight Eclesia: okay, let me take a look at it 19:20
Eclesia whiteknight: It's not urgent ... even if I now have prrot with zlib, I still don't know how to zip and unzip files :D 19:21
whiteknight I don't like to leave it broken 19:22
benabik imcc-- 19:23
whiteknight benabik: what's that for?
benabik whiteknight: Debugging PCT is a huge pain because of the line numbers. 19:24
whiteknight benabik: do you have any example PIR files handy where the line numbers are wrong?
benabik whiteknight: Inserting debug statements involve re-bootstrapping and recompiling large portions of parrot.
whiteknight: Apparently compilers/pct/src/PAST.pir 19:25
NotFound whiteknight: I have a short one: compile setup.winxed to pbc. Only the first sub get correct numbers.
benabik whiteknight: But that's a huge concatenation of other PIR files.
whiteknight ok 19:26
NotFound Well, at least pbc_disassemble doesn't show them correct. Don't know if the problem is in the pbc or in the disassembler. 19:27
whiteknight Eclesia: Can you try git pull Rosella again? I fixed that bug yesterday 19:29
cotto_work #ps in 2 19:30
Eclesia testing
whiteknight: Already up-to-date. :/
whiteknight Eclesia: damn. Can you nopaste your setup.winxed file?
#ps in now 19:31
cotto_work d'oh. slow clock
nopaste "Eclesia" at 192.168.1.3 pasted "setup.winxed" (514 lines) at nopaste.snit.ch/66688
Eclesia whiteknight: here it is
whiteknight Eclesia: Very weird. test.nqp.winxed doesn't appear there 19:32
er, test.nqp.template
Eclesia for some reason it now passes ... clean build install ... exact same call 19:33
weird
have to go ++ 19:36
19:36 Eclesia left 19:37 MvG left
dalek kudo/nom: 20edd76 | moritz++ | NOMMAP.markdown:
update NOMMAP
19:38
19:39 mikehh joined
benabik NotFound: As a note about :multi in Winxed… that would prevent me from writing any of the Compiler classes from PCT in Winxed. Which is a shame, because I think it would work better in some cases than NQP. 19:39
lucian morepypy.blogspot.com/2011/08/pypy-...tring.html 19:40
whiteknight lucian: yeah, I saw that
lucian the previous post is also interesting 19:41
benabik Did NQP (non -rx) turn $a.push($b) and new('c') into pir::push($a, $b) and pit::new('c')? 19:49
Because the PBC generation code has lots of things where I look at it and go "how did this ever work?" 19:50
19:58 alester left
moritz benabik: I think $a.push($b) simply calls a method on the PMC 20:00
whiteknight yeah, I think so
benabik moritz: You are correct, but bacek's code seems to think it will call the VTABLE. So I'm wondering why.
whiteknight the method calls the vtable 20:03
it is the circle of life
20:04 kurahaupo left
benabik Except it doesn't. 20:04
Anyway...
moritz wouldn't the op also call the vtable in the end?
whiteknight teh failz!
it should all fall back to teh vtable
benabik Is the get_string VTABLE for $S0 = $P0, or is it for $P0['value']?
NotFound benabik: $S0 = $P0 20:05
moritz the former
the latter would be get_*_keyed_str
NotFound moritz: unfortunately, is not.
benabik Thanks...
NotFound $P0['value'] uses gte_*_keyed, wich can later be routed to keyed_str, depending on the PMC 20:07
whiteknight get_*_keyed_str are rarely used in practice 20:19
I've always maintained that they could probably be deprecated and removed
a handful of types fall back get_*_keyed to get_*_keyed_str, but otherwise it is not used
20:20 ambs joined
moritz if we keeped it, it should be the other way round 20:21
jnthn__ SixModelObject papers over that behavior.
It always unpacks a PMC key and delegates. 20:22
moritz $P0[$S0] calling get_*_keyed_str if it is defined, and falling back to _keyed otherwise
jnthn__ Even if you declare a override for the PMC vtable, it'll land up in get_*_keyed_str if it's originally come from a foo['bar']
NotFound Is used from C. 20:25
It will be complicated to always have to build a key in C usages. 20:26
jnthn__ NotFound: I'd like the op we compile to for foo['bar'] to always call the _str variant. 20:27
And the one for foo[0] to always use the int variant.
NotFound Me too
The int already does.
jnthn__ That's the semantics I've made SixModelObject emulate.
ah, I think it may well do, yes.
20:27 whiteknight left
NotFound string doesn't and I think num also doesn't 20:29
String is used a lot more than num, num is probably not important. 20:30
dalek rrot/NotFound/nci_as_string: 9192eb0 | NotFound++ | src/pmc/unmanagedstruct.pmc:
bare implementatiion of as_string, returning a null string
20:42
benabik msg whiteknight I'm getting a segfault in Parrot_pf_subs_by_flag. It appears that self is NULL. This is by way of $packfile.view().subs_by_flag('load'). I'm digging into it, but thought you might be able to figure it out faster. 20:47
aloha OK. I'll deliver the message.
20:47 lucian left 21:06 rdesfo joined
dalek TT #2170 created by NotFound++: as_string method to get strings from NCI results 21:07
TT #2170: trac.parrot.org/parrot/ticket/2170
21:09 lucian joined 21:14 AzureStone left, AzureSto_ joined
benabik msg whiteknight Hm. It appears I'm generating an invalid packfile. subs_by_flag still shouldn't segfault I'd think. 21:21
aloha OK. I'll deliver the message.
21:21 rdesfo left 21:26 lucian left 21:27 ambs left
dalek rrot/NotFound/nci_as_string: 5553bfa | NotFound++ | / (2 files):
implement as_string and add a minimal test for it
21:29
21:43 Psyche^ joined 21:47 fperrad left 21:49 Patterner left, Psyche^ is now known as Patterner 22:04 kurahaupo joined
dalek rrot/nqp_pct: 4c2c749 | benabik++ | compilers/pct/src/POST/Compiler.pm:
POST::Compiler - use pir::new instead of new()
22:06
rrot/nqp_pct: 6f099e3 | benabik++ | compilers/pct/Rules.mak:
PCT: include POST::VanillaAllocator in PAST.pbc
rrot/nqp_pct: 985baf2 | benabik++ | compilers/pct/src/P (23 files):
Rebootstrap PCT
Heuristic branch merge: pushed 40 commits to parrot/nqp_pct by Benabik 22:07
rrot/nqp_pct: 73577f7 | benabik++ | compilers/pct/Rules.mak:
[POST] Compile VanillaAllocator separately

This had triggered the default .pir.pbc rule, which turns out to be pretty useless. (It doesn't wait for $(PARROT) to be built.)
rrot/nqp_pct: 2053152 | benabik++ | compilers/pct/src/PAST/Compiler.pm:
War on Q:PIR - PAST::Compiler.as_post(Val)

This needs to generate POST::Val nodes, but converting it as is to NQP didn't take too long and makes a good starting point.
22:08
rrot/nqp_pct: 2bfeb7c | benabik++ | / (46 files):
Merge remote-tracking branch 'origin/master' into nqp_pct
rrot/nqp_pct: 43a292a | benabik++ | / (5 files):
Add PAST::NewCompiler

It compiles to newPOST instead of oldPOST. Needed because newPOST doesn't compile to PIR properly. :-(
22:09
rrot/nqp_pct: d57244a | benabik++ | / (7 files):
Split POST->PBC from POST->PIR
rrot/nqp_pct: 7082b8f | benabik++ | compilers/pct/src/POST/PBCCompiler.pm:
PBCCompiler - use PackfileView PMC

  whiteknight++ for his hard work on making this sensible
rrot/nqp_pct: 9949e55 | benabik++ | compilers/pct/src/P (2 files):
PCT::HLLCompiler - Add pbc and newpost stages

This allows an HLL to easily use PAST::NewCompiler and POST::PBCCompiler
rrot/nqp_pct: 5f2c12a | benabik++ | compilers/pct/src/POST/PBCCompiler.pm:
POST::PBCCompiler - use old method to compile

Use the code from bacek's PIR::Compiler to generate a PBC file.
rrot/nqp_pct: f8abf4c | benabik++ | compilers/pct/src/POST/PBCCompiler.pm:
POST::PBCCompiler - Use opcodes, not method calls

  - .push() doesn't always call the push viable
  - new() and defined() need pir:: to work
rrot/nqp_pct: ab6d017 | benabik++ | compilers/pct/src/POST/PBCCompiler.pm:
POST - Fix storing sub name in packfile
rrot/nqp_pct: d36426d | benabik++ | t/compilers/pct/newpost.t:
Test POST::PBCCompiler

This file will allow me to test newPOST one small portion at a time.
tadzik ...whoa
benabik I hadn't pushed in a while.
Done now.
(Partially because I've abandoned at least two lines of work along the way.)
tadzik I'd ++ you, but you may get sick :)
benabik Well, so far I'm not hugely pleased… It's generating invalid PBC. 22:11
tadzik that's only one step from valid PBC :)
benabik No, it's several steps... 22:13
newPOST isn't in the shape I had hoped it was.
dalek rrot/nqp_pct: f5c3560 | benabik++ | compilers/pct/src/P (25 files):
Re-bootstrap PCT

Forgot to include the changes from several of the previous commmits.
22:16
rrot/nqp_pct: 0a20e91 | benabik++ | MANIFEST:
Include new test file in MANIFEST
23:15 rdesfo joined 23:22 rdesfo left 23:39 dmalcolm left