www.parrot.org | Parrot 1.6.0 "half-pie" released: The JIT is dead! | Testing priorities: Exception and MultiSub
Set by moderator on 20 September 2009.
darbelo purl: bacek? 00:00
purl bacek is THE MANIAC or some sort of magical coding robot
bacek_at_work who blaming me? 00:01
darbelo points a ttbot 00:02
bacek_at_work No one can confirm failing on win32 :/
darbelo cotto_work was having different fail on win32.
00:07 kid51 joined 00:09 nopaste joined
kid51 kyle_l5l ping 00:10
kyle_l5l kid51, pong?
kid51 Your post in trac.parrot.org/parrot/ticket/1067: what OS/platform are you experiencing failure on?
kyle_l5l x86 (32 and 64bit), linux 00:11
kid51 And the test is dying at the same point as it did for me on darwin/ppc? 00:12
If so, could you post that info in the TT? I want to make sure whiteknight knows full scope of problem. 00:15
kyle_l5l hm, no, I'm not seeing failures on objects.t
kid51 So was your post in TT #1067 intended for some other TT?
kyle_l5l perhaps I was too hasty - I've run into bugs with HLLs because of Parrot_gc_mark_PMC_alive_fun(), and that patch helped 00:16
kid51 well, if you could clarify that in the TT, that would be good. 00:17
Or, perhaps, open a separate ticket with the failures of Parrot_gc_mark_PMC_alive_fun() that you have experienced elsewhere. 00:18
00:18 Zak joined
kyle_l5l aye 00:19
00:54 zerhash joined
ash_ so, Lorito, is that still in planning 01:02
?
chromatic Yes. 01:03
ash_ is the plan for a sort of meta-circular approach? 01:04
chromatic Yes. 01:05
ash_ or, are you guys still considering linking to an already made jit?
ah, okay
chromatic We won't write our own JIT. That way lies madness.
Otherwise, metacircular.
ash_ but i am confused, if your not writing your own jit, whats the meta-circular approach for then? (probably missing the point of meta-circular stuff) 01:06
chromatic We'll write our PMCs and ops (all but the Lorito ops) in a little language parsed by PCT and emit Lorito ops. 01:07
We'll either execute Lorito ops directly with a standard op dispatch system, where each op is a small chunk of C code, or JIT them, as they'll be easy to JIT. 01:08
ash_ okay, i see now 01:09
darbelo dukeleto: ping
ash_ but your JIT system could influence this a bit i'd think, for instance, if you used the llvm then you could just compile the current op codes as llvm-ir codes and jit them right now, it can translates C into its jit bytecode 01:10
chromatic That works great for platforms with LLVM. 01:11
ash_ but you don't want to require the llvm as a jit then? 01:12
chromatic Right.
We may want to run in places where LLVM is not available or where a JIT is not appropriate.
01:13 TiMBuS joined
ash_ but you can still have it written in plain C so you can just compile the same code as statically compiled code instead of leaving it as llvm-ir code 01:14
chromatic You mean compile the Lorito ops with LLVM instead of emitting LLVM IR manually? That's an idea.
ash_ I think what I am trying to say is you can do that with the current runcore though, sorta of skipping the Lorito step in the process 01:17
chromatic Right, but that doesn't help as much as you might think.
ash_ compile the current PASM ops as llvm-ir code (when the system supports it) then you can load them in through the llvm jit system, and if you don't have it, just compile the C code statically 01:18
oh
chromatic You can't JIT across the boundary between PIR and C right now.
ash_ but doesn't pir translate into pasm opt code calls? 01:19
chromatic It does. 01:20
purl stays quiet
chromatic Those PASM ops call a lot of C code.
Some of that C code calls back into PASM ops.
ash_ but if you got it to translate the PASM into the IR Form using the llvm builder functions you could call it at that point as llvm-ir and run it directly with the jit along with the other stuff that might of been left in llvm-ir form 01:22
chromatic We'd have to compile all of Parrot into LLVM-IR for that to help.
ash_ wouldn't you only need the PMC's for that to help? 01:23
the PMC's are turned into the PASM op codes, i thought
chromatic Nope.
We have ~70 PMCs written in C.
ash_ yeah, i see what you mean now 01:25
chromatic You get some benefit from JITting just ops, but it won't be much more than our previous attempt at a JIT. 01:26
ash_ So, which parts would you have to re-implement in lorito? 01:27
chromatic PMCs and ops, to start. 01:29
Ultimately everything.
purl ultimately everything is digital
01:29 darbelo left
kid51 is amazed at how many source code files have been touched in the last 24 hours. 01:30
... and yet there were 0 posts to the list
ash_ so, i guess your going to be keeping backwards compatability for a while, till you have time to re-do everything 01:32
01:32 Zak joined
chromatic In theory, there should be no backwards compatibility concerns with this approach. 01:32
... except for having a nicer language in which to write ops and PMCs, true. 01:33
01:33 japhb joined
ash_ so you'd have to reimplement an awful lot of C though, i'd think, since PMC's have C's syntax, how would you do calls to external libraries? 01:34
chromatic Some sort of FFI/NCI system.
ash_ how is this going to be compiled? just wondering, like pmc2c? will it be pmc2lorito, then have a lorito compiler? 01:36
chromatic I'm planning to have src/ops/lorito.ops, then reimplement everything else in terms of that. 01:37
pmc2lorito sounds right.
ash_ so, will it be HLL -> pir -> pasm -> lorito at this point? 01:39
01:42 rhr joined
chromatic There's really no conversion from PIR -> PASM, but basically yes. 01:42
ash_ well, then HLL -> pir -> lorito then?
chromatic Yes. 01:43
ash_ Will lorito run dynamically or be compiled? 01:44
chromatic I don't understand the question. 01:46
ash_ like, lorito code, is it going to be compiled code? or will say the parrot executable be able to run it? 01:47
cotto ash_, yes ;)
ash_ lol, so both?
cotto for jitting purposes, it'll be compiled into native instructions
without jitting, Parrot will run some C code for each op 01:48
(the idea is to have a single implementation of each op that can be automagically translated into C, llvm ir or whatever) 01:49
ash_ i guess i am missing something, i still don't see why thats not possible now 01:50
dalek rrot: r41544 | jkeenan++ | trunk (6 files):
Remove config step auto::funcptr, associated probe and test file. Per trac.parrot.org/parrot/attachment/ticket/1058.
chromatic It's indeed possible now.
chromatic It doesn't help us much now is the problem.
ash_ I guess i am missing how lorito helps, what purpose does this intermediate representation server thats all 01:52
cotto once lorito is working, we want to write as much of Parrot as possible in it
chromatic We have ~1200 ops.
Slang (the bootstrapping layer for Squeak Smalltalk) has ~40.
Most of our ~1200 ops call into C code. We can't JIT or inline or optimize across that boundary. 01:53
ash_ if they are in llvm-ir form you can
chromatic Only if we compile all of Parrot into LLVM-IR.
That strategy doesn't accomplish all of our goals for the long term. 01:54
ash_ okay, i think i get it a bit more now
chromatic The less code we have written in C, the better our JIT can perform. 01:55
cotto once we have a sufficiently powerful lorito, we can start rewriting C code in (something that compiles to) lorito and analyzing/optimizing it 01:56
since anything that Parrot compiles will compile to lorito, there's potential for some really nice self-hosting to occur, even for HLLs 01:57
ttbot Parrot trunk/ r41544 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/108325.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) 01:58
cotto remembers that he wanted to check out PyPy 02:00
kid51 Has anyone been able to reproduce that build failure that ttbot is reporting? 02:03
chromatic Not me. 02:04
cotto I'll play with it some at work, but I think the win32/gcc build worked fine for me there. 02:05
ash_ If i wanted to learn more about JIT systems and the approach you guys are taking with parrot is there any recommended reading I should look into? I have been looking for the smalltalk squeak stuff about slang 02:10
Tene cconstantine: ping 02:12
cotto Interesting. It looks like PyPy has some overlap with our goal as a vm for dynamic languages. 02:13
Tene japhb: I just committed my downloader library draft and a little wget-alike that uses it. invoke it from the main plumage dir, not the probes/ dir.
chromatic ash_, some of the resources and papers around Mozilla's TraceMonkey may be very enlightening. "Trace Trees" is a good subject. 02:14
japhb Tene, Cool, looking ....
Tene japhb: also, I'm not sure if probes/ is a good place for it. Just wanted to save it somewhere. It'll go away after I tie it into plumage.
japhb Tene, nodnod
Tene, ah, nice, real exporting and all. 02:16
Tene cconstantine: They're for libraries... 'library' defines a library, 'export' lists a symbol in a library as available for being imported, import loads a library, and there's nothing called 'hll' in steme. There's 'hllimport', though, which loads a library from a different HLL.
japhb: I should add 'use' to Glue.pir. ;)
japhb Tene, yes, definitely. load_bytecode is ... not as cool. :-) 02:23
02:23 rhr joined
japhb Tene, oh, did you ever figure out the performance problem? 02:25
Tene japhb: I'm not sure if I can replicate them or not. It seems to work okay now. 02:28
02:34 rhr joined
cconstantine Tene: thanks. Sorry I keep using you as a reference manual 02:40
02:41 janus joined
Tene cconstantine: that's fine. 02:46
cconstantine: did I answer your question?
02:48 Austin joined
cconstantine I think so, when I get a chance I'll play around with them 02:48
02:49 ash_ joined 02:55 rg1 joined 03:01 zerhash joined
nopaste "tene" at 12.190.38.210 pasted "library/import example for cconstantine" (8 lines) at nopaste.snit.ch/18107 03:01
Austin Is that based on 'Exporter' pmc? 03:06
03:11 payload joined
Tene Austin: no. I didn't even know there was an Exporter pmc. 03:12
Austin :)
Tene Is it new?
Austin It's experimental, per the docs. I have no idea how new. 03:13
But I don't think so.
Tene It uses the HLL interop conventions.
Austin I don't suppose you have a good nqp export/import package, do you?
Tene Austin: No, but I could add one very quickly if I had approval from pmichaud. Last I remember, I was waiting on feedback on where to implement it. 03:14
Austin I was thinking less "changes to syntax" and more "code that works right now."
Tene Austin: Sure, just tell me wha tinterface you want, and I'll get something for you tonight. Post an NQP example that you'd want to work, or something. Look at gitorious.org/parrot-plumage/parrot...e0bc83de0f for a corresponding example in PIR. 03:16
shorten Tene's url is at xrl.us/bfov6p
Austin how about 2 import Foo::Bar: # get functions from foo:bar nsp ?? 03:17
Tene It's... blue?
Why is it blue? 03:18
Austin Separate code from text.
Tene Ah.
Austin %C2 .... %O
Tene How would you feel about import('Foo::Bar'); instead?
Austin At least in chatzilla
That would work just fine.
Tene and for exporting? export('sub1 sub2 sub3 sub4'); ?
Austin I hadn't aspired to exporting. I'd settle for bringing in everything. 03:19
But your way looks fine.
Tene Okay, I'll work on it tonight. AFK dinner.
Austin So I see 2 c.'import'('Plumage::Downloader') in your nopaste. 03:20
*nopaste = git blob
Tene Right.
also look at .sub 'load' in Downloader.pir
that's where I list the exported sub. 03:21
If I hadn't done that, it would just import everything.
Austin Okay.
Tene (which is okay sometimes, sure)
Austin I've got a bunch of functions, like ASSERT and NOTE and DUMP that I want to import into a gajillion namespaces.
03:22 ash_ left
Austin Is that all in Glue.pir? 03:22
Tene if you look at runtime/library/languages/parrot/parrot.pir, you'll see that it supports specifying the namespace to import to.
No, it's in the 'parrot' langauge, so that it can be used from *any* language. 03:23
That's how the following works in rakudo: use Foo:from<parrot>;
Austin ah
Tene That fetches the 'parrot' compiler, calls the 'load_library' method on it, and it returns a hash containing symbols etc. 03:24
see the 'import' method in parrot.pir
Austin *library/languages = languages 03:25
Tene yeah 03:26
Tene getting dressed to go get dinner, isn't typing accurately. :P
actually, *library/languages = parrot/languages
but close enough
any other questions before I really go afk? 03:27
Austin Nope. Thanks. That's enough for me to work with.
Is that your code?
Tene Yes. 03:28
Also the corresponding code in Rakudo, Cardinal, etc.
Austin Today's worthless word for the day is, "tralatitious" 03:29
Tene afk
dalek rrot: r41545 | pmichaud++ | branches/pct-rx (8 files):
[pct-rx]: Updates to add greedy + ratchet quantifiers; improve alt.
03:49
04:15 theory joined
dalek rrot: r41546 | pmichaud++ | branches/pct-rx (2 files):
[pct-rx]: Add frugal quantifier.
04:58
Austin Is there any way from PIR to cache the getinterp stack, in such a way as to know in my sub if a particular caller is still on the stack? (In essence, to cache the stack frame?) 05:45
bacek_at_work Austin: parrot is CPS-style VM. So, technically speaking, there is no stack 05:50
Austin Okay.
s/stack/list-of-recent-invokers/
cotto There's not a stack, but there is a "stack". 05:51
Austin Sure. 05:52
How can I tell if caller[$n] is the same thing it was last time?
Ideally, without rolling back up the "stack" to figure out $n 05:53
Hmm. That's it. 05:54
06:00 fperrad joined 06:10 uniejo joined
dalek a: 58f2fb2 | fperrad++ | src/pmc/luauserdata.pmc:
more robust curr_func()
06:26
shorten dalek's url is at xrl.us/bfoxkf
jrtayloriv Austin, all three of these do exactly the same thing, right: pastebin.com/d2864d939 ... 06:29
Austin Yes.
jrtayloriv ok, thanks 06:30
(just making sure I'm understanding correctly)
Austin Hmm. No.
The second one does not.
I think the default HLL is parrot, and the default namespace is $HLL/ 06:31
So #2 is twice wrong.
(I think)
japhb Tene, are you still working on integrating the HTTP fetcher into plumage tonight? Or did that get pushed off to tomorrow?
dalek a: 8d8cdb8 | fperrad++ | src/pmc/lua (5 files):
refactor with PMC_IS_NULL
shorten dalek's url is at xrl.us/bfoxp4
jrtayloriv Austin, sorry -- I meant to have .HLL 'phemer' at top of second, but I don't understand the second part -- i.e. I thought get_global looked in currently selected namespace, and that get_hll_global is what used .HLL 06:34
Austin Right.
jrtayloriv so, if I do .namespace [], doesn't get_global look in 'parrot' namespace as default, not $HLL? 06:35
Austin So if #2 was in .HLL phemer, then it would be accessing $ROOT/phemer/phemer/Grammar/Actions
jrtayloriv oh, I see now. OK
oops!
Austin FWIW, I hate this part of the namespace stuff. 06:36
jrtayloriv I think I'm getting close to grokking it finally, though. I'm having more troubles with lexicals (but understanding that *way* better, as well) 06:37
Austin Cool.
So let's talk about symbols.
How's your grammar? 06:39
jrtayloriv Sorry -- afk for a second. My grammar is complete (I think) 06:41
Austin And the actions?
purl i guess the actions is what it's all about
dalek a: 6b82566 | fperrad++ | src/pmc/luauserdata.pmc:
typo
06:42
shorten dalek's url is at xrl.us/bfoxyi
jrtayloriv Austin, actions do just about nothing. All it is doing at this point is evaluating string and integer constants.
I got blocked on symbols.
Austin Well, let's unblock you. 06:43
jrtayloriv I really need to have that figured out properly, so that I can implement lists/pairs/cons cells properly
By all means :)
Austin What's a function that defines variables internally? 06:44
What's the name of a scheme function that creates name->value bindings inside its scope. Is that 'let'?
jrtayloriv let creates a new block AND adds lexicals in it. 06:45
Austin Okay.
Is that a good starting point?
jrtayloriv Austin, Not really, because let is really derived from more primitive functions. 06:47
Austin Such as?
(This is me not knowing scheme...)
jrtayloriv Austin, lambda
dalek a: 4696621 | fperrad++ | src/pmc/luathread.pmc:
more robust getcurrenv
shorten dalek's url is at xrl.us/bfox3q
Austin okay. And what does lambda do?
mikehh All tests PASS (pre/post-config, smoke (#28282), fulltest) at r41546 - Ubuntu 9.04 amd64 06:48
Austin okay, got it. 06:49
(lambda (args...) (expr...))
jrtayloriv Austin, lambda creates a closure around current env. at time it was created
Austin Returns an anon sub
jrtayloriv yes
Austin Is lambda fundamental, or is there anything below it? 06:50
jrtayloriv I wanted to write a builtins.scm that had let defined in terms of lambda( which would be in primitives.pir)
Austin, fundamental
Austin Okay.
So what does it do? 06:51
jrtayloriv lambda?
purl i heard lambda was a variable or an anonymous function in Lisp
Austin The args to lambda are two lists, right?
jrtayloriv a list and an expression 06:52
Austin Can I do meta-lambda ing?
jrtayloriv the expression can be a list
but it doesn't have to be
it can be any s-expr
what do you mean by meta-lambda'ing? 06:53
Austin (define X "(args)") (define Y "(display args)") (lambda X Y)
Or some such...
jrtayloriv Austin, One moment ... working on an example 06:55
chromatic Ergh....
purl it has been said that ergh is swahili for "Look! In the sky! It's a... awe shit. It fell down."
jrtayloriv Austin, You mean, define X to be a list containing the args, and define Y to be the procedure (display args)? 06:57
Austin, Because you'd have to use lambda to return the procedure (display args) to store in in Y with define 06:58
Austin I think what I really mean is, "Is lambda itself a function?" in the sense of being callable with parameters?
jrtayloriv no -- it's a special form. At least, that's what I understand.
Austin So we don't have to worry about somebody doing (define foo lambda) (foo (args) expr) ? 06:59
06:59 barney joined
mikehh partcl r745 builds on parrot r41546 - make test PASS (smolder #28283) - ubuntu 9.04 amd64 07:00
jrtayloriv Austin, Don't think so -- I'm working on making sure of that. 07:01
brb
Austin, No, I'm pretty sure you can't do that. 07:02
Austin So lambda is something you can implement in the parser, yes? 07:03
chromatic The parser needs to understand it specially. 07:04
jrtayloriv Austin, I'm going to ask someone really quickly about this. I was told that dealing with words like "define" and "lambda" in the parser will cause you to get warts on the backs of your hands.
Austin chromatic: Thank god. I was wondering when the turtles were going to run out.
chromatic There are some seven special forms, but I can only remember def, lambda, let, if, and quote.
jrtayloriv Maybe I misunderstood though ... wait ...
They were probably talking about the grammar. Never mind. Yes, you could do it in the parser. 07:05
chromatic, let can be defined in terms of lambda, I believe. Let me doublecheck that. Pretty sure I saw that in one of my scheme books here ... 07:06
mikehh rakudo (0331d60) builds on parrot r41546 - make test / make spectest_smolder (up to r28490 -> #28284) PASS - Ubuntu 9.04 amd64
chromatic That may be true, but I don't see an easy way to do that at the moment.
jrtayloriv chromatic, www.scheme.com/tspl2d/binding.html ... search for string "shows the typical derivation of let from lambda. " 07:09
anyhow, I really think that the best place to start would be with lambda, set!, and define.
chromatic I bet no production-worthy Scheme implements let that way though.... 07:10
jrtayloriv true.
jrtayloriv goes off to see how PLT scheme implemented let ... 07:11
Austin Whoa. I'm not smart enough to read that.
Ah. It "transforms" (let (name value) (stuff)) into (call (lambda (name) stuff) args) 07:13
*args = value
jrtayloriv Austin, chromatic has a very good point. I guess my brain was set in stupid-mode ... i.e. "because you can define let in terms of lambda, you should ..."
Austin The plus side is that if you implement lambda, you can just type "The remainder is left as an exercise for the interested reader..." 07:14
Anyway, let's talk about adding lambda to the grammar. 07:15
(which should be trivial)
jrtayloriv The think is, regardless of how I implement let, I still think that I should start with lambda, set!, and define, since they are really the most fundamental special forms
Austin And about adding lambda to the compiler.
jrtayloriv Austin, ok.
07:16 skv joined
Austin It's going to be a declaration-block, right? Because this is a subroutine that can be stored and invoked later? 07:16
(BTW: Is your svn tree up-to-date with whatever work you've put in lately?
) 07:17
jrtayloriv Yes. a lambda expression should just return a reference to an anonymous sub, that is a closure around the current lexical environment at the time of the sub's creation.
Austin, let me check (on svn)
yes, it is 07:19
Austin So, go thou and parse lambda!
jrtayloriv it compiles and runs, but there's a lot of 'me experimenting with PAST/NQP' in there right now
07:26 iblechbot joined, jsut_ joined
dalek rrot: r41547 | dukeleto++ | trunk (2 files):
[t] Add coverage for ExceptionHandler objects in a new PIR test file
07:29
jrtayloriv Austin, The meaning of lambda can be changed with define-syntax. 07:30
Austin But can some other name become lambda?
jrtayloriv (define lambda 5) 07:33
lambda
5
Austin Okay. That's fine.
But what about this:
(define lambda 5) (let ((a (lambda () 1))) a) 07:35
Or maybe it has to be (a) at the end?
ttbot Parrot trunk/ r41547 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/108394.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) 07:37
jrtayloriv Austin, no, that would try to call the procedure stored in a
Austin, but lambda breaks in your example
It's just a miserable little integer now
Austin Which argues that lambda isn't a special form. 07:38
jrtayloriv This is why I wanted to initialize a symbol table of some sort with lambda, define, etc mapped to anonymous subs.
Austin Sure. But what does the sub DO?
chromatic It is a special form, but you can override the name binding.
Austin Okay, so the parser just assembles a bunch of lists, and it falls to lambda to compile them? 07:39
More f*****g turtles. 07:40
jrtayloriv Austin, the sub would return a reference to an anonymous subroutine that can be stored in another symbol, by using define and set!
chromatic Welcome to Lisp.
Austin Well, bacek has been doing some interesting work with generating PBC files from PIR... 07:41
Okay, jrtayloriv. It looks like you're boned. 07:47
Let's take it from the other end.
Pretend there's a builtin called _phemer::lambda. What args does it take? 07:48
chromatic Two cons.
Austin What's a con?
purl i heard a con was french for cunt. A very derogative word or short for convention
chromatic A list.
Austin ResizablePMCArray?
chromatic Sure.
Austin Okay.
And the first cons is full of 'symbol's, no? 07:49
jrtayloriv chromatic, It takes a list and an sexpr, I think. For instance: (lambda () 5)
the sexpr can be a list, but also a symbol or a constant 07:50
Austin But ultimately, Jesse, that second part is "expr1 expr2 expr3..", which is a list.
jrtayloriv (lambda () '(expr1 expr2 expr3)) would be it taking a list ... or am I not understanding something? 07:51
Austin (lambda (a b c) 1 2 3) 07:52
Returns 3, right?
jrtayloriv no, but ((lambda () 1 2 3)) does 07:53
which is what I think you meant, anyway
Austin Okay.
So you've got two lists there: the parameters list, and the expressions list. The expressions list cannot be empty, can it? 07:54
chromatic I don't see why not.
Austin chromatic: What would it evaluate to?
Silly me. Undef, of course. :( 07:55
jrtayloriv a procedure that does something like .sub foo .return() .end, right?
Austin yep
jrtayloriv it would not be undef, it would be a sub PMC that does nothing
chromatic I say it'd be an empty cons, but that's my bias showing.
jrtayloriv chromatic, what do you mean? 07:56
chromatic That depends on what you mean. 07:57
(lambda () ()) evaluates to a Sub that evaluates to an empty cons, I think. 07:58
Austin Okay.
But what does (lambda ()) evaluate to?
chromatic An error.
purl chromatic: Too many links
Austin So the expressions list can't be empty.
jrtayloriv chromatic, I see now.
thanks
chromatic Right.
Austin So, jrtayloriv, here's your mission: write a sub, in NQP, called 'lambda'. It should accept two lists as parameters, and (for now) return a past block with the parameters from the first list declared. 08:00
chromatic Also, destroy IMCC with fire.
jrtayloriv :)
Austin That's on you and pmichaud, c 08:01
chromatic I don't think I can add your .lex redeclaration without rewriting a lot of IMCC's symbol handling code. 08:02
redeclaration ERROR that is
Austin Really? I just doesn't notice? 08:03
*It just...
chromatic Oh, it's easy to notice.
The problem is the way IMCC stores information about symbols. 08:04
It doesn't store symbols conveniently attached to individual compilation units, oh no.
jrtayloriv Austin++, thanks for spending the time to explain things to me ... again
and chromatic++ for bringing me one step closer to grokking lisp
chromatic I can give you the error if anyone in the current *file* has declared a lexical with the same name. 08:05
You may guess that such behavior would be unwelcome in many corners.
Austin jrtayloriv: Don't thank me yet.
chromatic :)
chromatic I'd explain exactly how and why it's wrong, but you don't want to know and, despite my reputation for barbaric and unprovoked hostility, I respect your blissful ignorance of this small evil. 08:07
Austin Thank you. 08:08
Plus, I'm afraid to reopen the subject.
08:09 bacek joined, Zak joined
chromatic An error makes a lot of sense. I'll add a TODO test, file a TT, and put my hate into pirc instead. 08:09
Austin The last time I brought it up, Patrick threatened to rewrite PCT.
08:10 masak joined
dalek tracwiki: v38 | moritz++ | ParrotQuotes 08:15
tracwiki: Evilness comment by chromatic++
tracwiki: trac.parrot.org/parrot/wiki/Parrot...ction=diff
shorten dalek's url is at xrl.us/bfozqr
dalek TT #1073 created by chromatic++: Lexical redeclarations in subs should throw exceptions 08:18
rrot: r41548 | chromatic++ | trunk/t/compilers/imcc/syn/clash.t:
[t] Added TODO test for exception when redeclaring a lexical in the same sub.
08:20
ttbot Parrot trunk/ r41548 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/108438.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) 08:26
jrtayloriv Austin, pastebin.ca/1584007 ... basically, I should have the lambda sub accept a '$formals' parameter as well, correct? 09:02
Since if i do (lambda x (doo some ting to x)), then I can have any number of args passed in and it will store them in a list in x 09:03
Austin That's not relevant.
jrtayloriv versus if i do (lambda (x) (+ 1 x)), ... note parens around formal 'x', which says I can only pass in one arg, and it will be stored locally in 'x' 09:04
Austin Right now, all I want is a lambda sub in NQP that takes a list of args, and declares them lexical, then returns the PAST::Block
Should take you 20 minutes. 09:05
jrtayloriv pastebin.com/d1dd11b7f
something similar to that, right ... but actually working, of course :)
Austin You win.
Except for sigils. 09:06
Now for the fun part. 09:07
Change the lexical to parameter, add :isdecl.
purl Austin: that doesn't look right
Austin Never mind, purl.
purl Austin: excuse me?
09:10 kyle_l5l left
jrtayloriv Austin, What did you mean "except for sigils", was @($arg_list) wrong? (i wasn't sure if I did that right) 09:11
Austin Just change $arg_list to @arglist 09:12
+_
for @arg_list { ... }
jrtayloriv pastebin.ca/1584017 09:13
(oops, forgot to change $expr_list to @expr_list ...
Austin Okay. Change $expr_list, to be consistent, and then move on: After the args are declared, insert code that prints each one out. 09:14
purl Austin: that doesn't look right
Austin Sorry, purl.
purl It's okay, Austin.
Austin To be clear: that's PAST code that prints the params, not in-line NQP that prints 'em 09:18
jrtayloriv I think I understood -- You meant a PAST::Op node of pasttype 'call' that calls some sort of 'say' function, correct? 09:19
Austin correct
And the default builtins.pir provides a say function, so that'll work
Now that you've declared the parameters as :scope('parameter'), be aware that all subsequent references need to be :scope('lexical') 09:21
dalek TT #1074 created by carlin++: Parrot fails to build with gcc when using --optimize on OpenSolaris 09:22
jrtayloriv How can I call something in a different namespace from a PAST::Op node? do I just add a :namespace attribute to it?
Austin Put it in a lower node as a Past::Var, with a namespace
(Op pasttype=call (Var name=say namespace=...) (Val returns=String value=Hello, world)) 09:23
jrtayloriv Just to make sure I understand what's happening: So the op node will take in the Var node, and look for the symbol "say" in the namespace provided, and call that as a sub, and then the following values are just the args as usual, correct? 09:25
bacek jrtayloriv: nope. PCT will just generate PIR with call to "say" 09:30
09:30 pdcawley_ joined
bacek and "following values" will be handled by ".sub 'say'" 09:30
o hai, btw 09:31
jrtayloriv bacek, got it, thanks
and OHHAIHOWRUDOIN?
Austin jrtaylor: You had it right the first time. 09:32
jrtayloriv:
jrtayloriv Austin, Is this close? : pastebin.com/df1e77ee 09:33
actually, I don't think that's right.
Austin Is phemer an HLL or a namespace?
The push of ~ $_ is dodgy. I'd rather that be a Val node. And you don't want to do $op.ast, just $op. It *is* an ast. 09:35
jrtayloriv Austin, here's one area where I was fuzzy on namespaces: say.pir has .namespace [] at top in say.pir, but it's included in gen_builtins.pir in .namespace [ 'phemer::Compiler' ] in phemer.pir
Austin The PIR compiler will see the namespace[] and reset to root. 09:36
jrtayloriv so would I just do :namespace(''), instead?
Austin Sure.
jrtayloriv ok
Why would you rather it be a Val node, by the way? 09:37
Austin Because pushing strings inline bit someone, I think it was cconstantine, recently.
Plus, if it's a node, I can attach things to it.
jrtayloriv $op.push(PAST::Val.new(:returns('String'), :value(~ $_) ) ); ... right? But do I need :returns String, really? 09:39
Austin It's the default.
And you don't need to stringify $_, since they're symbols.
09:39 clinton joined
jrtayloriv ok, I see. So :returns('Integer') just does int->string conversion ... 09:40
other way :)
Austin string->int
:)
jrtayloriv is having the do the 36 hour marathon right now to get his sleep schedule back to normal ...
Austin, OK, so now I have --> pastebin.com/d5bcce73 ... brb -- coffee refill and checking-on-my-qemu-build time 09:43
Austin Sweet. 09:44
dalek rrot: r41549 | bacek++ | trunk/t/pmc/exception.t:
[t] Add one more test to exception.t and file coda.
09:48
Austin Next step: call your compiler's post, pir, and evalpmc phases on the result of lambda. 09:50
ttbot Parrot trunk/ r41549 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/108514.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) 09:54
Austin Bacek, is there any way to attach data to a Sub in a running Parrot? 09:55
bacek Austin: no. And I don't think that it should be any. Subs are constants 09:56
Austin Well, can I use them as keys in something?
bacek Austin: hm. Yes. 10:04
At least in Hash.
Not sure about default Subs stringification, btw.
Austin Bacek, they stringify wrong - to the subname - so that doesn't work. 10:05
Aha. Properties.
mikehh bacek: what is the url of those cover reports? 10:06
bacek Hm... It doesn't work across namespaces. 10:10
Ok, what are you trying to do?
bacek wave from dark land of GC failures related to "constant" PMCs...
TapTinder?
purl somebody said TapTinder was software development tool - taptinder.org . For Parrot project running on tt.perl6.cz/ and reporting build failures to #parrot channel as ttbot.
bacek purl: TapTinder?
purl TapTinder is software development tool - taptinder.org . For Parrot project running on tt.perl6.cz/ and reporting build failures to #parrot channel as ttbot.
bacek Hey, where is this lazy girl? 10:11
10:11 mokurai left
Austin Trying to cache debug settings for caller 10:11
bacek mikehh: tapir2.ro.vutbr.cz/cover/cover-results
Austin Right now I look up the stack, find the caller, decode the sub's name and namespace, look in a hash, return an array.
mikehh bacek: thanks
Austin I want to store the array on the caller, so I can stop with the other stuff. 10:12
bacek Austin: you can attributes to Context (if it suitable) 10:15
Austin Context?
Very short perldoc. :( 10:16
Is that like stack frame?
bacek Ah. Sorry. It's not exposed yet
Yes, Context is something like stack frame
Austin jrtayloriv: Your coffee done yet? 10:17
bacek Austin: are you ready to pay upgrade taxes? I can expose Context PMC very quickly. 10:18
Actually I'm doing it now. 10:19
Austin bacek: Not for a while, I'm afraid.
jrtayloriv yes. sorry, been trying to figure out how to use the lambda function (unsuccessfully) -- here, have a look: pastebin.com/dac97a56
For some reason, (lambda 1 2 3) parses correctly, but I only get an PAST::Node in --target=past 10:20
oops
nm -- yep, I'm doing something stupid :)
(as in, nevermind I didn't figure it out. I thought I saw why it wasn't working, but didn't) 10:21
Austin Grab this piece of code: 2 my $compiler := Q:PIR { %r = compreg 'phemer' }; and save it someplace.
bacek Austin: you shoudn't be afraid! You should be scared! :)
Austin Bacek: Paranoid.
purl Why do you ask, Austin
Austin jrtayloriv: Inject a call to "TEST()" at the top of your TOP action. 10:23
jrtayloriv Could not find non-existent sub TEST 10:24
Austin Progress.
purl rumour has it progress is progress
Austin Now write test.
Call lambda( (a, b, c), null)
PCT::HLLCompiler.dumper() on the result. 10:25
I want to see something that works! 10:28
jrtayloriv You lost me at "Now write test". 10:30
Austin Write the test sub
jrtayloriv right
Austin Have it call lambda
jrtayloriv why the test sub? why not just call lambda directly?
Austin pass three strings for args, null for exprs
Because I don't want to totally clutter up your TOP action, just insert a little hook 10:31
Store the result, and dump it.
10:34 bacek joined
bacek Austin: where is Close hosted? 10:34
Austin google code 10:35
purl google code is code.google.com, run by Chris DiBona.
Austin close?
purl it has been said that close is close file (or pipe or socket) handle or bad on sockets, use shutdown() instead or horseshoes or grenades or nuclear weapons or code.google.com/p/close/
mj41 cover reports? 10:36
purl hmmm... cover reports is cv.perl6.cz
dalek rrot: r41550 | bacek++ | trunk/t/pmc/parrotinterpreter.t:
[t] Add more tests for ParrotInterp
10:37
rrot: r41551 | bacek++ | trunk (2 files):
[core] Expose Context from ParrotInterp
ttbot Parrot trunk/ r41551 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/108571.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) 10:39
bacek mj41: what is configuration of this failing windows box? 10:40
mj41 bacek: WinXP 32bit, mingw32, on 64 bit Intel 10:41
bacek mj41: Strawberry or ActiveState?
mj41 bacek: strawberry 10:42
purl it has been said that strawberry is a Perl for Windows that works just like Perl everywhere else. See win32.perl.org/wiki/index.php?title...berry_Perl or well where is RAWBERRY
bacek mj41: yak... I have no idea why my commit broke it :-/ 10:43
Austin: # Failed test 'sanity-1: output of program' 10:52
# sh: ./parrot: No such file or directory
Austin :(
Don't go there. Nothing works.
bacek As you wish. JFYI, Close built successfully on bleeding-edge Parrot 10:56
Austin Sweet. 10:57
Thank you
mikehh All tests PASS (pre/post-config, smoke (#28296), fulltest) at r41551 - Ubuntu 9.04 amd64 11:05
mj41 bacek: I have no idea too.I run build process manually and it finished ok. I just restart tt clients and we will see. 11:08
bacek mj41: ok. Thanks anyway. ttbot is really annoying. Which is good :) 11:09
jrtayloriv Austin, Sorry, I went away for a bit to work on my qemu install, to try to give my brain a break. No luck. You said to use PCT::HLLCompiler.dumper, but I can't make it work. I've looked at the sources for it, and it should take a ResizablePMCArray, or a Match object. But lambda returns a PAST::Block. How am I supposed to use dumper() on it? Here's what I tried: pastebin.com/d1bc2ee1f ... 11:13
mikehh partcl r745 builds on parrot r41551 - make test PASS (smolder #28299) - ubuntu 9.04 amd64
Austin Where's the rest of the backtrace? 11:14
jrtayloriv that's all I got
here, threw in lambda for reference: pastebin.com/d464ea9a9 11:15
Austin I always pass two args, an object and a string label. But even with just one it should work.
jrtayloriv I tried with a string too. 11:16
oops -- got it.
Austin What was it? 11:17
jrtayloriv This is why Jesse's are supposed to sleep. I did :name('foo'), instead of just "foo" as the string arg to dumper. Why? Who knows .....
Where did :name come from 8\\
Austin Whoops. 11:18
jrtayloriv but here is the output: pastebin.com/d593aabaf
Austin Okay, do you have a PAST tree?
Rock on. 11:19
purl The rock is jammed at the 'puree' setting.
Austin For your next trick, compile the past.
my $compiler := Q:PIR { compreg 'phemer' };
$compiler.post($past) 11:20
$compiler.pir($post)
jrtayloriv In test()?
Austin Sure.
(See why I didn't want to do this in TOP?)
mikehh rakudo (0331d60) builds on parrot r41551 - make test / make spectest_smolder (up to r28494 -> #28300) PASS - Ubuntu 9.04 amd64 11:21
jrtayloriv yes, I do now :)
moritz is currently very please with parrot development - no major rakudo breakages in the last few weeks
everyone++
jrtayloriv Austin, I'm getting an error from that inline PIR pastebin.com/d37f43f85 ... And how should I eval the PIR output from $compiler.pir($post) ? 11:28
Austin Dump it 11:29
Maybe a space before the } ?
And, is that the name of your language? 11:30
According to phemer.pir, which registers the name?
jrtayloriv $P1.'language'('phemer')
Austin Okay.
jrtayloriv And I've tried spaces
And Q:PIR {{ ... }}
Austin Extra parent in call to lambda 11:32
paren
(( ) ))
my $pir := $compiler.pir(...) ; say($pir) 11:33
jrtayloriv grrrr :) 11:34
Austin It's what teh interwebs is for
jrtayloriv pastebin.com/d4ea0f7a5 11:42
I think it must be a problem in the way I did lambda.
11:42 bacek joined
Austin That's a compilation problem, because there's no scope on say. 11:42
Assign say :scope('package') 11:43
(Guess who has made this mistake a whole bunch of times?)
jrtayloriv is reading the docs on :scope('package') ... 11:44
Austin Package = function, or global variable.
11:44 quek joined
jrtayloriv right -- anything that I want to grab out of another namespace basically, right? 11:45
Austin yes
jrtayloriv ok
Austin If it has a namespace, it must be package. The other scopes don't have namespaces.
dalek rrot: r41552 | bacek++ | trunk (2 files):
[core] Expose some Context fields into PIR.
11:47
jrtayloriv Right.
Sweet --> pastebin.com/d4fe1a4bd
11:47 bacek_ joined
Austin ugh. say is better than dump for this. 11:47
bacek_ moritz: just because I was quite busy last few weeks :)
Austin cheers! 11:48
jrtayloriv OK. .... Sweet --> pastebin.com/d6fcef81e
Austin Congratulations, Jesse. You can has cheezburger.
jrtayloriv mmmm
moritz s/s/z/ please :-)
Austin But I notice no namespace in there.
bacek_ "s/s/z/ pleaze"? :) 11:49
jrtayloriv Austin, How do you mean?
Austin On the "say" lookups, there's no namespaces. Did you mean to specify that say was in a different namespace?
bacek_ mj41: looks like reboot didn't help... 11:50
jrtayloriv Austin, Oh, yeah -- that's leftovers from earlier ... here --> pastebin.com/d2bd4f19c 11:51
wait.
It was correct before.
Austin :)
mj41 bacek: didn't? tt.ro.vutbr.cz/buildstatus/pr-Parrot/rp-trunk 11:53
bacek mj41: ah! Good. r41552 finally built! 11:54
mj41++
Austin jrtayloriv: Next question: Within the context of a lambda, does (x) always mean "run x as a subroutine" ? 11:58
jrtayloriv Austin, as in (lambda () (x))? 11:59
Austin Yes.
jrtayloriv yes
(anything) without a ' before the left paren is always a procedure call
(inside the body of lambda) 12:00
Austin So there's your next step. Parse the expressions list, generating calls.
jrtayloriv ok
bacek jrtayloriv: not quite true.
Austin Of course not. Here comes more turtles. 12:01
jrtayloriv bacek, Really?
bacek (...) produces S-Expr. lambda just evaluate it
Austin When is it not true, bacek?
bacek 'a is quoting.
jrtayloriv right, but without the quotes, doesn't a bare s-expr always mean procedure call?
12:01 kid51 joined
jrtayloriv (foo bar baz) is always calling foo right? 12:01
bacek that's what I mean by "no compile time"
jrtayloriv: nope. 12:02
jrtayloriv lights his hair on fire and carves parentheses into his chest
Austin LOL
bacek people.csail.mit.edu/jaffer/r5rs_6.html 12:03
12:03 whiteknight joined, Ron joined
dalek rrot: r41553 | bacek++ | trunk (2 files):
[core] Expose Context.current_HLL into PIR
12:04
jrtayloriv Oh, I could define syntax such that it's not a procedure call ...
fun
bacek whiteknight: good evening 12:05
whiteknight good evening bacek
Austin Sorry, bacek, I must be slow.What counter-example did I miss?
whiteknight I got a submission for the challenge I put on my blog: a NCI frame builder using libJIT
and it's impressive 12:06
Austin whiteknight: Woot! And how does it look?
bacek jrtayloriv: S-Expr is what lisp about. You can construct them in run-time and then evaluate it. Or do whatever you want with them
whiteknight Austin: the patch is like 2500 lines, and it's hot
bacek whiteknight: how many beers for first prize?
Austin 24 Yuenglings, but you have to come here to collect. 12:07
whiteknight bacek: I've only got one submission right now, so I haven't considered "first place" or "prize" yet
if Parrot had T-Shirts or something for sale, I would send one of those 12:09
but NO! Parrot apparently doesn't want a merchandise-based revenue stream
Austin jrtayloriv: Assume each entry in the expr list is an array, and generate a call to the first item in the array, with the remainder as args. 12:10
moritz whiteknight: that could easily be changed. pmichaud currently has a spreadshirt.com shop (and on other sites too) for selling rakudo and Perl 6 goodies (t-shirts, ties)
whiteknight: all you need is a large image or vector graphic of the parrot, and maybe a good idea or two for a nice text 12:11
and then start the shop, and if you have a bit of an income you just donate it to parrot foundation
whiteknight That's really not such a bad idea
Austin "Sure, it's buggy and slow, but at least there's poor documentation." 12:12
moritz and then advertise on your blog, on the parrot homepage etc.
12:13 ruoso joined
whiteknight is spreadshirt.com a good place? I've only dealt with cafepress in the past 12:13
moritz whiteknight: best talk to pmichaud about that (he also has a cafepress and a zazzle store) 12:15
whiteknight pmichaud: ping! 12:16
12:18 payload joined 12:19 iblechbot joined
mj41 bacek: I just deleted bad client sessions related data. 12:21
bacek: Nobody can blame you :-). 12:22
bacek mj41: THANK YOU VERY MUCH! :) 12:23
jrtayloriv Austin, like so? --> pastebin.com/d128324b0 12:26
dalek rrot: r41554 | bacek++ | trunk (2 files):
[core] Implement Context.backtrace
12:28
Austin jrtayloriv: It's a good start. How does it run? 12:33
Moo. I needed to scroll down. 12:38
pmichaud whiteknight: pong 12:40
I've already been told it's okay to set up a shop for parrot goodies
I just need a good vector graphic
whiteknight pmichaud: where would you recommend a shop be set up?
I'm willing to do legwork, just looking for suggestions
I just posted a blog post where I am offering free T-Shirts as prizes, so I need to get a T-Shirt supplier! 12:41
Austin You should have offered beer. 12:42
whiteknight I live in PA. Beer+Mail doesn't mix
and most applicants aren't close enough to drive
Austin It mixes great.
And D.G.Yeungling's Sons makes some fine brew.
12:44 bacek joined
dalek rrot: r41555 | bacek++ | trunk/src/pmc (2 files):
[core] Implement Exception.backtrace in terms of Context.backtrace
12:45
pmichaud whiteknight: I've made storefronts at spreadshirt, cafepress, and zazzle
I haven't actually ordered anything yet, though.
whiteknight yeah, I heard. Which one is best do you think?
or are they equivalent?
pmichaud rumor has it that spreadshirt is the better one
whiteknight unfounded rumor you say? That's all I need to hear 12:46
moritz wardley.org/computers/parrot/logo.html <-- maybe contact that person if he would make vector graphics (or high resolution images) available...
whiteknight his logos are available for non-commercial use only 12:48
although I will ask him if he would make an exception?
pmichaud why not the parrot that is at parrot.org ? 12:49
whiteknight pmichaud: of course, we'll use that one first
but we want more then just one design!
bacek "Everything pluggable"! 12:50
purl "everything pluggable" is, like, a good goal
dalek tracwiki: v2 | bacek++ | ContextPMCUses 12:53
tracwiki: Context.backtrace is implemented now
tracwiki: trac.parrot.org/parrot/wiki/Contex...ction=diff
shorten dalek's url is at xrl.us/bfo6rx
12:56 elmex_ joined
Austin pmichaud: In NQP, if I call $node.foo(), and within that method I call self.foo, what is being called? 13:01
pmichaud I think that would be a recursive call 13:02
because inside of $node.foo(), self is $node
Austin Because I think I've been doing it, but I haven't been overflowing the stack.
13:03 bluescreen joined
Austin Are you sure you don't automatically go on to the next higher caller? 13:03
Sorry.
To the next higher superclass.
pmichaud it shouldn't, no
my simple test case gives me "maximum recursion depth exceeded" 13:05
Austin (Speaking of which, is there a way to do a super call in nqp?)
pmichaud I don't think nqp supports it yet. When it does, it's likely to be self.SuperClass::foo() 13:06
Austin Hmm.
Does self.Package::sub() work now?
pmichaud not likely
but it will get added, undoubtedly
dalek rrot: r41556 | bacek++ | trunk (2 files):
[core] Implement Context.current_hll to fetch stringified current_HLL
13:08
kudo: 9792a2e | moritz++ | :
Merge branch 'master' of git@github.com:rakudo/rakudo
13:09
shorten dalek's url is at xrl.us/bfo7eq
whiteknight eventually NQP will be just QP, and then it will be P6 13:20
pmichaud nah 13:21
NQP will always lack the library
and it's unlikely that it will implement P6's multimethod model, unless Parrot adopts it at core
whiteknight you say that now, but whiney compiler-writers like Austin and myself will always be begging for the next new feature
pmichaud the question about what NQP gets versus doesn't get is dependent on what Parrot supports at native core 13:22
whiteknight There are some places where Parrot could use a significant capability enhancements
bacek thinking about weird things. 13:24
Like... implementing PCC in PIR
:)
Austin bacek++
Solves a bunch of problems. 13:25
Every sub takes one arg. Build whatever data structure you want.
whiteknight After the PCC refactor, if CallSignatures are visible from PIR and subclassable, there's no reason why you wouldn't be able to handle all your own argument processing
bacek Austin: you've spend too much time with lisp :)
Austin NFW. No turtles over here. 13:26
13:26 payload joined
Austin That's jrtayloriv's baby. 13:26
bacek whiteknight: it's already visible, btw. 13:27
whiteknight bacek: CallSignature?
bacek whiteknight: yes
whiteknight Are CallSignatures even in Trunk?
bacek whiteknight: yes. 13:29
whiteknight okay, what I mean is that the call signatures used in an actual call be visible
you can create an empty one, but you can't really access the current one
and most PCC calls don't generate them anyway
bacek you can. Starting from next commit you can read it :) 13:30
13:30 ash_ joined
whiteknight bacek: you can read it maybe, but it isn't used in trunk yet for anything 13:30
bacek whiteknight: it's not true. 13:32
it IS used
dalek rrot: r41557 | bacek++ | trunk/src/pmc/context.pmc:
[core] Expose Context.results_signature into PIR.
bacek whiteknight: check Parrot_pcc_get_results_signature usage 13:33
13:33 cconstantine joined
Austin pmichaud: Any chance of getting some unspace into nqp? 13:35
whiteknight bacek: it is used from Parrot_pcc_invoke_sub_*, but that isn't used in a lot of places 13:38
and it's definitely not used in PIR->PIR calls 13:39
bacek whiteknight: indeed. But it's used at least somewhere :)
whiteknight eventually it will be used everywhere
and then it will be good
bacek "and on seventh day..." :) 13:40
whiteknight the biggest problem I've found on the pcc_testing branch is that there is no support for :slurpy return values 13:41
if we add that, a LOT of tests will pass
:named returns too, I think
pmichaud Austin: unspace, yes. 13:47
NQP is getting a major makeover.
but I need protoregexes first
and that's what I'm working on now
bacek pmichaud: did you see my msg about POST::Macro? 13:48
Austin "I need protoregexes." Hmp! That's what they all say.
pmichaud bacek: I did, but I'm not sure I agree with it.
macro doesn't seem to belong in POST
bacek But they are in it. Something like '.lex "foo"' 13:49
pmichaud that's not a "macro"
that's a declaration or a directive
moritz other failures in hll_unify: t/pmc/fixedintegerarray.t uses parrot;Test;More;throws_like which needs PGE, but PGE isn't built yet 13:50
bacek Oookey. Let's call it POST::Decl
moritz (at least not with 'make corevm')
pmichaud I think POST::Var or POST::Reg would make more sense
bacek pmichaud: What about .const?
pmichaud that's just declaring a register also 13:51
.lex, .local, .const all declare register symbols
bacek .get_results?
pmichaud .lex has a side effect of populating the LexInfo
allison thinks .get_results was a mistake (I agree) -- we shouldn't bring that into POST 13:52
sorry, .get_results is a mistake for exceptions; perhaps not in general
bacek How to handle exceptions without it?
pmichaud at any rate, I would think that .get_results should end up being opcodes.
bacek we don't have "PCC style" opcodes, afaik 13:53
like "get_results $P0 :slurpy" 13:54
pmichaud I'd wait to see how the new pcc branch ends up before trying to exactly mimic the existing PIR
bacek ok, fair enough 13:55
Let's wait till after Christmas...
anyway, $bedtime 13:57
bacek wave from tomorrow
14:02 AndyA joined
whiteknight purl msg bacek eventually exception handlers will be Subs, not labels, and we will be able to use normal .param to get the exception object. 14:03
purl Message for bacek stored.
masak whiteknight: sounds like a fairly substantial change. 14:07
whiteknight masak: yes, but it will help to solve some fairly substantial problems
14:08 allison joined
whiteknight ...and cleanup some fairly ugly code and corner cases 14:08
14:09 quek left
whiteknight good morning allison 14:09
masak whiteknight: when I think about it, a sub sounds much more reasonable than a label. 14:11
whiteknight masak: a sub forces you to explicitly resume, die, or rethrow 14:12
moritz it sounds like it will make handling of exceptions inside exception handlers much saner
whiteknight that's what I was hoping
masak aye.
Austin Man, the problem with named args is that I keep forgetting to close the parens. 14:14
Something about them just short-circuits my brain...
whiteknight yeah, if it weren't for the stupid syntax we could have all sorts of working programs
Austin: what are you doing this weekend? 14:15
Austin Your hours are flexible! Even better, so are the women you're undressing... <Ooooh!>
(Mr. Department Store Mannikin Dresser-upper) 14:16
whiteknight haha, nice
Austin Bud Light. A million commercials, all funny. (Except for like two.)
Shame about the beer.
whiteknight Bud Light: Great commercials, lousy beer
Austin This weekend, I'll be hacking close. And barbecuing at my buddy's house. And doing lawnwork. 14:17
You?
purl You is very bed in engrish too
Austin yuk foo, purl.
purl Austin: excuse me?
whiteknight Wife is booked solid, baby shower then bachelorette party. I'm free to hack all day
Austin What are you working on now-a-days? 14:18
whiteknight no idea, really
Austin :?!
How is that possible?
whiteknight I have a todo list that's so long that I don't even bother writing it down
Austin :> 14:19
That's better
brbxsft
whiteknight Matrixy stuff that I've been avoiding, GC stuff, PCC stuff, JIT stuff, documentation, book, etc
and that's just Parrot, I do a lot of MediaWiki-related development too, under contract
moritz PCC! 14:20
whiteknight moritz: I think I have the root causes of a bunch of test failures in that branch figured out, just haven't been able to put a fix together
not all failures, of course, there is some weirdness with exception handlers that I don't understand yet 14:21
Austin I remember you mentioning something about the mediawiki thing at yapc.
Maybe that's why you're the DBA, too. 14:22
whiteknight yeah, great
Austin Why haven't the bash guys added ** as a directory matching operator for globs, yet? 14:26
14:28 Psyche^ joined, pdcawley__ joined 14:50 ash_ joined 14:56 bluescreen joined
dalek rrot: r41558 | mikehh++ | trunk/src/pmc/context.pmc:
codetest failure - trailing whitespace
15:06
rrot: r41559 | pmichaud++ | branches/pct-rx (3 files):
[pct-rx]: Infrastructure for inlined cursor operations, reduce actions.
15:14
kudo: c8181aa | masak++ | (5 files):
Moved <, >, <=, and >= into the Setting

had to be removed. This includes the nice autogeneration of subs in gen_whatever_pir, which unfortunately translates to eight quite similar methods in the Setting. Improvements welcome.
15:31
15:32 kjeldahl_ joined
shorten dalek's url is at xrl.us/bfo8db
mikehh All tests PASS (pre/post-config, smoke (#28314), fulltest) at r41559 - Ubuntu 9.04 amd64 15:33
dalek rrot: r41560 | NotFound++ | trunk/DEPRECATED.pod:
[cage] add deprecation notice for use of undocumented variables in class_init, TT #918
15:43
mikehh partcl r745 builds on parrot r41559 - make test PASS (smolder #28315) - ubuntu 9.04 amd64
jrtayloriv bacek_at_work, ping 15:47
mikehh rakudo (c8181aa) builds on parrot r41559 - make test / make spectest_smolder (up to r28496 -> #28316) PASS - Ubuntu 9.04 amd64 16:04
messages 16:05
dukeleto messages
16:16 theory joined
dukeleto 'ello 16:18
16:25 janus joined 16:29 darbelo joined
whiteknight hello dukeleto 16:31
darbelo dukeleto: ping 16:34
japhb whiteknight, In your blog post: "give me your shit size" 16:40
whiteknight ...well that doesn't seem too polite 16:41
moritz in the t/pmc/complex.t tests, is there a good reason to to use 'set' instead of = in many places? 16:42
whiteknight moritz: probably just a bad translation from old PASM 16:43
moritz whiteknight: ok, thanks
cotto_work I'm seeing some failures in t/pmc/object-meths.t on ubuntu x64 16:44
moritz imcc++ # an awesome error message for once 16:47
"Bareword method name 'new' not allowed in PIR" 16:48
karma imcc
purl imcc has neutral karma
moritz karma IMCC
purl imcc has neutral karma
moritz is mildly surprised
whiteknight imcc-- 16:49
darbelo IMCC is an unholy entity. Such things are not allowed to have karma.
cotto_work That must be a recent addition. It used to be allowed.
moritz i have a Perl 6 class called Complex, and a PIR class also called Complex 16:51
(erm, the PIR class is the one from parrot, actually)
in a piece of PIR code, how can I obtain both of them?
treed via namespace? 16:52
16:52 cotto_work left
moritz I assume the custom one works with get_hll_global 'Complex' 16:52
treed rakudo;Complex vs parrot;Complex ?
16:52 cotto_work joined
treed ISTR having to do something like that in Cardinal. 16:52
moritz treed: I'll try that, thanks
treed nods.
Let me know if that works.
16:53 mberends joined
treed Pretty sure it will. 16:53
moritz Class '[ 'parrot' ; 'Complex' ]' not found
treed github.com/cardinal/cardinal/blob/i...lasses.pir 16:54
shorten treed's url is at xrl.us/bfo8v3
treed Check out the !get_parrot_class function 16:55
Unsure if it's the best method, but it works.
nopaste "cotto" at 131.107.0.72 pasted "test failures on x64" (42 lines) at nopaste.snit.ch/18119 16:56
moritz treed: uhm, where does that function live? I ack'ed for it didn't find it anywhere 16:58
treed It's not in the master branch 16:59
it's in iss41
src/builtins/classes.pir
The file I linked above
moritz oh, I didn't see that link
thanks
moritz blind 17:00
treed heh
The $S0 = name dodge I think has to do with hll_mapping cardinal's string to parrot's 17:03
It didn't like getting a cardinal;String there OSLT
(It's been a while since I've dealt with this code.)
So. 17:05
You may not need that
but the get_root_namespace and get_class should do it for you
17:12 chromatic joined
moritz right, they work for me 17:14
treed++ thank you 17:15
treed No problem. :-)
moritz now I'm struggling with different problems
treed Heh.
Tell me about it.
purl i heard it was sad I recognize Jon's laptop/keyboard combo
treed I wanted iss41 wrapped up like a month ago.
17:16 pdcawley_ joined 17:22 uniejo joined
whiteknight expected pmichaud to add "travel to the moon" in his long list of accomplishments and todo items 17:32
pmichaud can't squeeze it in this week. 17:33
cotto_work gonna fly this bird to the moon somehow 17:35
I'm *really* looking forward to having all my stuff unboxed so I can spend my tuits on stuff I want to do. 17:36
whiteknight pmichaud: I think if you switch from solar to siderial days you might gain some time 17:37
...or maybe you lose time. It's been a while since astrodynamics
chromatic What? I added a box opcode for you a year ago, and now you don't want it? 17:38
whiteknight boxed kitchen utensils make for sloppy dinner time
no, I'm wrong, sidereal days are shorter 17:39
NotFound We can add some machinery for lazy unboxing
japhb decides to stop watching demo scene nostalgia (YouTube playlist at www.youtube.com/view_play_list?p=00...871DF71C1C ) and get back to hacking Plumage
cotto_work autounboxing would be pretty sweet
japhb Tene, you about?
cotto_work the lazy approach isn't working so well for me ;)
whiteknight cotto_work: "couch = $P0" does unboxing 17:40
cotto_work wonders what kind of box whiteknight puts his couches in
Austin If I refer to $<foo> in a grammar action, what is the word for foo? It's a ___ of the match object. 17:41
particle knowing whiteknight like i do, probably a refrigerator box
moritz Austin: it's a named capture you're accessing 17:42
Austin subpattern?
Thanks, moritz. 17:43
moritz and the <foo> you have called was a sub rule (or sub pattern)
Tene japhb: yes, for another couple of minutes 17:44
whiteknight Austin: and the way you write it is the "antipattern"
japhb Tene, any last minute stuff to push before I go hacking on plumage?
Tene japhb: No.
japhb OK, thanks.
Austin I thought that was $<!foo>, whiteknight
whiteknight Austin, I was joking: en.wikipedia.org/wiki/Antipattern 17:45
whiteknight really needs to work on his delivery 17:46
Austin I know, Andrew.
:)
whiteknight YAY! I told a joke that somebody understood!
personal best
chromatic "joke" anyway.... 17:47
17:49 mokurai joined 17:52 allison joined
darbelo thinks about declaring October the 'PIRC love month' so that we can give IMCC the fiery death it deserves. 17:58
pmichaud I'd like October to be the 'PCC love month'
Rakudo is blocking on PCC. PIRC is a distant "nice to have" 17:59
darbelo can live with that.
pmichaud Also, PCC should give us the ability to get more speed improvements. imcc doesn't seem to be a performance bottleneck at the moment.
whiteknight the current refactor branch needs to land soon, and I think (hope) that a lot of other necessary changes will land soon thereafter 18:00
pmichaud: if PCT could output PBC directly, we could bypass all compilers as a speed issue
pmichaud whiteknight: that would be very nice also :)
whiteknight well, bypass IMCC and PIRC 18:01
pmichaud if someone can write a POST->PBC translator, we're good to go.
whiteknight although I suspect PCT will have to call IMCC to do the parsing though
NotFound Building a pbc from file Package PBCs is already working?
s/PBCs/PMCs
dalek TT #1075 created by whiteknight++: Add Configure probes for LLVM 18:02
pmichaud whiteknight: oh, if you're asking to have PCT be the basis for a pir compiler, then yes.
but having POST->PBC is useful even by itself
Util NotFound: Yes, see examples/pir/make_hello_pbc.pir
NotFound Nice :)
darbelo pmichaud: I think bacek was doing something related to that.
pmichaud sure 18:03
anyway, writing a pir parser probably won't be all that difficult
Util bacek++ for that piece of niceness.
whiteknight I don't know a lot about the packfile PMCs. 18:04
pmichaud ps in #25. bb in 24. 18:05
er, #ps in 25. bb in 24.
whiteknight bb?
purl i think bb is big brother, a terrifying crappy monitoring system written in /bin/sh or Brigitte Bardot
PerlJam be back 18:06
whiteknight Brigitte Bardot? Awesome
chromatic: "found more evil in IMCC"? So that means you opened any of it's files and accidentally looked anywhere? 18:16
18:16 Andy joined
chromatic I found evil I didn't know existed. I have a good catalog of its existing evil, but it continues to surprise me. 18:16
whiteknight "find evil in IMCC" would be the most uneventful, boring scavenger hunt we ever organized
In fact, it would be so boring as to be evil in itself 18:17
18:18 joeri joined
dalek tracwiki: v3 | coke++ | ContextPMCUses 18:20
tracwiki: trac.parrot.org/parrot/wiki/Contex...ction=diff
shorten dalek's url is at xrl.us/bfo9gy
18:22 barney joined
mikehh #ps time 18:30
Tene OH MAN ITS PS TIME IM SO EXCITED!!!!! 18:31
What will happen this week?!?!?!
moderator www.parrot.org | Parrot 1.6.0 "half-pie" released: The JIT is dead! | Testing priorities: the new PCC branch 18:43
Util Pretty pictures are helping my fuzzy brain: learn.github.com/p/rebasing.html 18:44
18:51 jjore joined
moderator www.parrot.org | Parrot 1.6.0 "half-pie" released: PCC branch hackathon all $localtime Saturday | Testing priorities: the new PCC branch
18:52 kurahaupo joined
japhb pmichaud, how do you throw and catch exceptions in NQP? 18:53
pmichaud japhb: nyi
japhb frack. I've got Parrot libs that want to show failure be throwing exceptions, which I can't catch. 18:54
Tene japhb: inline PIR. :)
japhb: my code? I could make it do something else...
pmichaud yes, inline PIR works.
japhb ruminates on whether to 1) do inline PIR, 2) write some more builtins, 3) reimplement the Parrot libs.
Tene japhb: or if you con pmichaud into allowing exception and EH stuff into NQP, I'll implement it tonight.
pmichaud I'm really wanting to hold off on significant NQP changes until I get the grammar refactors done 18:55
every feature that goes into NQP means the refactor is harder.
Tene grammar refactors interact with NQP how?
japhb pmichaud, if you tell us what *basic* syntax you would use for the exception handling down the road, I can write "similar looking" glue, so that it will be less painful to convert when the NQP changes are ready. 18:56
japhb would very much like to be not blocked on NQP changes, since pmichaud has several major tasks higher up on the list .... 18:57
pmichaud japhb: the basic syntax is always P6
if it's not P6, it's not NQP.
so I would expect try { ... }
but I'm not quite sure how to manage the CATCH blocks in that case
Tene japhb: I could add a little PIR function to glue.pir that accepts a closure to invoke, and a sub to invoke with any caught exceptions. 18:58
japhb Tene, that's a decent idea. And a simple throw and/or die wrapper would be nice, too. 18:59
Tene japhb: I'll add them after lunch.
japhb pmichaud, Fair enough.
Sometimes I forget that NQP is intended to be a strict subset.
Tene, you rock. 19:00
pmichaud I like the idea of the PIR function, fwiw.
that's a nice clean interface.
Tene optional second arg, just returns failure on exception throw if no second arg.
japhb "returns failure"? 19:01
Tene AFK; I need to lunch now, before I run out of time. :P
Dunno... just tell me what you'd like.
japhb OK, have fun at lunch!
darbelo dukeleto: Do you know what the GDB_* functions in debug.c are supposed to be doing?
I want to convert them to return STRINGs instead of poking into them. But they look like some sort of external interface. 19:02
dukeleto darbelo: i somewhat understand them 19:03
darbelo: they are being called by the embedded parrot in the debugger, iirc
whiteknight japhb: I have some libraries, CBLAS and CLAPACK from the Matrixy project that I would like to package separately and have in Plumage 19:04
dalek tracwiki: v102 | chromatic++ | WikiStart
tracwiki: weekly status update
tracwiki: trac.parrot.org/parrot/wiki/WikiSt...ction=diff
shorten dalek's url is at xrl.us/bfo9s9
darbelo dukeleto: Is it sane for them to return a STRING * instead of a char * ? 19:05
japhb whiteknight, cool, the more the merrier.
Do you want a Plumage commit bit?
You've got the CLA done, so all you need is a Gitorious login. 19:06
whiteknight japhb: Maybe, I think I need to lurk a little bit more first
dukeleto darbelo: i am not quite sure, i haven't looked at the debugger in a few weeks. i will look and let you know. do you want to refactor them to do that? 19:07
japhb whiteknight, np. Any time, just let me know
whiteknight will do. What's the gitorious link for plummage?
japhb hold 19:08
whiteknight, gitorious.org/parrot-plumage/parrot-plumage
darbelo dukeleto: I can throw a patch your way. It fails a few tests, but shows what I want to do.
dukeleto darbelo: the debugger is a huge ball of improperly abstracted things touching internals 19:09
darbelo: sure, want to make a TT for it?
Austin plumage?
purl plumage is the future Parrot module ecosystem. It will include tools to search metadata, handle dependencies, install modules, and so forth. or git://gitorious.org/parrot-plumage/parrot-plumage.git or see trac.parrot.org/parrot/wiki/ModuleEcosystem
Austin Anyone know how to edit purl? 19:10
nopaste "darbelo" at 200.49.154.173 pasted "half-assed STRING patch for dukeleto." (150 lines) at nopaste.snit.ch/18120 19:11
japhb Austin, what do you want to do?
Austin Correct the plumage url.
darbelo purl: this is wrong
purl ...but this is different or dynamically...
dukeleto Austin: with a hammer
Austin :)
japhb Austin, you say 'purl, no, plumage is ...'
darbelo purl, no this is rithgt
purl ...but no this is on freebsd...
darbelo purl: no, this is rithgt
purl okay, darbelo.
dukeleto Austin: what is incorrect?
19:12 pdcawley__ joined
Austin The git-url should probably be japhb's last cited http url. 19:12
japhb parrot plumage?
purl, parrot plumage is <reply>See plumage
purl OK, japhb.
japhb parrot plumage?
purl See plumage
Austin Hello, piers. 19:13
chromatic Piers Cawley, in the virtual flesh? Adult swim, everyone! 19:14
japhb Austin, are you going to edit purl, or shall I?
Austin Good luck, japhb.
moritz purl: edit
purl it has been said that edit is what i use
Austin purl help
purl #perl is not a help channel, and I'm not a help bot. If you want Perl help, try #perl-help or #metallica. or (see the 'help channel' factoid as well) or
Austin purlhelp 19:15
Goodbye, piers. 19:16
japhb purl, no plumage is the future Parrot module ecosystem. It will include tools to search metadata, handle dependencies, install modules, and so forth. The repository is at gitorious.org/parrot-plumage/parrot-plumage and the design docs are at trac.parrot.org/parrot/wiki/ModuleEcosystem
purl OK, japhb.
japhb plumage?
purl plumage is the future Parrot module ecosystem. It will include tools to search metadata, handle dependencies, install modules, and so forth. or git://gitorious.org/parrot-plumage/parrot-plumage.git or see trac.parrot.org/parrot/wiki/ModuleEcosystem
japhb purl, no, plumage is the future Parrot module ecosystem. It will include tools to search metadata, handle dependencies, install modules, and so forth. The repository is at gitorious.org/parrot-plumage/parrot-plumage and the design docs are at trac.parrot.org/parrot/wiki/ModuleEcosystem 19:17
purl okay, japhb.
pmichaud allison, chromatic: is the book worth purchasing or should I wait for the library copy to come back and read it?
japhb plumage?
purl plumage is the future Parrot module ecosystem. It will include tools to search metadata, handle dependencies, install modules, and so forth. The repository is at gitorious.org/parrot-plumage/parrot-plumage and the design docs are at trac.parrot.org/parrot/wiki/ModuleEcosystem
japhb purl, forget no plumage
purl japhb: I forgot no plumage
chromatic pmichaud, it's a decent book with some good ideas, but I found the writing style annoying.
It's not great enough that it's a must buy, but if it's on sale for $10 maybe.... 19:18
wiki.jvmlangsummit.com/Da_Vinci_Machine 19:19
wiki.jvmlangsummit.com/Trace-based_JIT
wiki.jvmlangsummit.com/Anti-Optimizations
wiki.jvmlangsummit.com/Invokedynami...p_Dive_-W-
wiki.jvmlangsummit.com/Shared_JVM_Infrastructure
Now you don't have to find the gems in the JVM summit.
japhb Go chromatic, go chromatic 19:20
mberends japhb: if you still have a few plumage commit bits to give away, I might find a use for one. 19:23
japhb mberends, Let me see if I have any left ... (pulls something sticky from between toes) ... oh wait, here's one! ;-) 19:25
Seriously, what's your Gitorious id? mberends there too?
mberends, you've done the signed CLA thing, yes? 19:26
dalek tracwiki: v1 | chromatic++ | Potential%20Blockers
tracwiki: trac.parrot.org/parrot/wiki/Potent...ction=diff
shorten dalek's url is at xrl.us/bfo9vy
mberends that's the id, yes. I've submitted a Perl Foundation CLA for Rakudo, is Parrot a different one? (Probably, in that case not). 19:28
chromatic It's a different one.
mberends I'll get tuit and send in 19:29
japhb mberends, great. As soon as that's in, I'll be happy to add you to Plumage.
mberends :) 19:30
whiteknight is there a way on gitorious to add something to like a watchlist or something?
japhb whiteknight, you mean, see when commits happen?
dalek a: 6df18b2 | fperrad++ | src/pmc/luauserdata.pmc:
refactor/merge curr_func & getcurrenv
19:31
whiteknight i don't know. Github has a way to create a watchlist of projects I like
shorten dalek's url is at xrl.us/bfo9xw
dalek a: e2e4a89 | fperrad++ | src/pmc/lua (7 files):
full refactor with PMCNULL & PMC_IS_NULL
shorten dalek's url is at xrl.us/bfo9xy
chromatic whiteknight et al, diakopter will be at the LLVM dev summit and has agreed to ask a list of questions we give him.
whiteknight where is the LLVM dev summit, and when?
chromatic Friday at Apple. 19:32
whiteknight the only answer I would have really cared about were "Philadelphia" and "sometime when Whiteknight is free" 19:33
japhb whiteknight, My Gitorious fu is weak (I used it because github was a world of FAIL for a while there), but so far Gitorious seems less "social" than github. I don't see any obvious way to do that.
chromatic I'm sorry, the cultural ghetto in which you live is different from the kind of cultural ghetto that holds events like this.
whiteknight okay, I'll put together some questions ASAP
19:34 pdcawley_ joined
whiteknight using "cultural" as an adjective on Philadelphia's ghetto is a bit generous 19:34
it's more accurate to call philadelphia a "murder hole"
or "where young people go to die"
chromatic Or "IMCC". 19:35
japhb Now that there is a local cheesesteak shop that understands proper ingredients, Philadelphia culture is less important to me than it used to be. ;-)
whiteknight whoa there! That's my city you're talking about!
chromatic It's all fun and games until I invoke the O(n^12) register allocator.
whiteknight is it really that bad?
chromatic I think I cut it down to O(n^8). 19:36
whiteknight I mean, I don't think it can be
that's retarded
Austin whiteknight, please. Philadelphia has nothing on Trenton, violent crime-wise.
19:36 bacek joined
whiteknight Austin: It's all part of the same socioeconomic FAIL 19:36
Austin too few arguments passed (1) - 2 params expected 19:37
I really liked the part about the extra tax.
Time to have dinner with my surrogate daughter. 19:39
japhb whiteknight, FWIW Philadelphia is my wife's home town. :-)
19:44 ash_ joined
whiteknight I do want to set up a Parrot store for T-Shirts and stickers and other branded garbage 19:45
so if anybody has any suggestions of where/how to do that, I would appreciate
19:47 szabgab joined
kurahaupo chromatic: how does it get to be O(n^12) ? (what are contributing coefficients?) 19:50
Util whiteknight: see irclog.perlgeek.de/perl6/2009-09-02#i_1457757
chromatic It could be merely O(12n). 19:51
whiteknight Util: yeah, I've seen those and talked to pmichaud abut them already
chromatic For every register you want to allocate, you walk through the list of all SymReg structures.
A SymReg represents anything with an name in PIR or PASM: a sub, a global constant, a register, a lexical name, a label, everything.
whiteknight yeah
chromatic They all get stored in one hash.
whiteknight oh damn 19:52
that's horrible
chromatic If you want to allocate integer registers, you walk the entire hash, looking for SymRegs of register type int.
We have four register types, so you have to walk that hash four times already.
There were also (if I recall correctly) three times we walk that hash for each register type.
I think I removed one of them.
Tene I have a girlfriend living in philadelphia right now.
whiteknight oh man, I feel myself getting stupider by the minute 19:53
dukeleto whiteknight: stickers++
Util dukeleto: for price comparision with your shop: www.zazzle.com/custom/stickers
chromatic That's why I think refactoring IMCC is a dead end. 19:54
whiteknight I know it's a dead end. That's why I want PIRC
kurahaupo That's a lot of extra work, for sure, but I only count O(n^2) or thereabouts so far (with a very large "k")
chromatic We'd have to touch almost every part of it to fix the "Everything is a SymReg" problem.
kurahaupo, one of those "walk the entire hash for each of four register types" might be nested in another. 19:55
kurahaupo Sounds painful, and probably pointless now we have PIRC
kurahaupo groans
dukeleto Util++ for the sticker link
Tene Stickers! 19:56
purl stickers are a bad idea. They scrape them off to see if they're covering up stamps or other notes.
japhb is beginning to violently hate JSON's pickiness about trailing comma
chromatic I didn't perform a formal algorithmic analysis, but I worked it out in my head enough to know that it was at least quadratic.
(and not quadratic with merely the number of each register type) 19:57
pmichaud I figured that stickers weren't cost-effective through cafepress/zazzle
but I'll gladly put some into my storefronts if people want them:)
I'd like to get a vector or large-format copy of the parrot logo, though.
whiteknight who cares about cost effective? I needs me some damn stickers at any price!
allison pmichaud: that I can give you, any preferred format? 19:58
Tene whiteknight: I'll give you stickers if you give me async IO. ;)
pmichaud any format is fine. eps/ai probably works best, but whatever the "most native" format is
Util pmichaud: (re: cost-effective) doesn't that depend on how many raving Parrot/Rakudo fanatics we end up with?
pmichaud Util: it does, yes.
if we start buying lots of 100+ then we're probably in okay shape
but I figure I can print small runs on my inkjet here if I'm not worried about runny ink :) 19:59
bacek Good morning...
purl And good moroning to you, bacek.
dukeleto allison: i would like a png of the parrot logo, if ya got it
allison: bigger the better, i guess
bacek: good localtime() 20:00
20:00 zerhash joined
pmichaud I can easily convert images to .png and the like, too :) 20:00
dukeleto allison: any format will do, actually
bacek dukeleto: I'm not sure about "good" part...
pmichaud and I do have photoshop :)
allison pmichaud: PSD is the native format 20:01
Tene allison: can I also has the psd?
moritz would like to have a copy as SVG or another open vector graphics format
dukeleto allison: i think a PSD can be saved as xcf (gimp) and then converted to any other format
allison: sounds like the file should go in the repo :) 20:02
allison dukelego: ugh, no massive images in the repo
it's in the shared Dropbox store, though
dukeleto dropbox?
purl dropbox is an Internet/Intranet Email Server that runs on Windows NT. The software runs as an NT service on Windows NT. or a desktop-integrated Internet file sharing application or getdropbox.com
allison pmichaud: you should have access to that
chromatic Austin_away, jrtayloriv, evanfarrer.blogspot.com/2009/09/ess...cheme.html
shorten chromatic's url is at xrl.us/bfo97u
dukeleto allison: is there info about the shared dropbox somewhere? 20:03
allison dukeleto: it's a board thing, mainly legal documents
jrtayloriv chromatic, Thanks -- I already realized earlier thanks to you and bacek, that I'm obviously still missing something fundamental, and decided to take a few days off from writing the compiler, until I've learned the language I'm trying to write a compiler for ;)
japhb purl, dropbox is also available on Linux 20:04
purl okay, japhb.
jrtayloriv Going to do a lot of reading of PLT docs and SICP and others ...
chromatic jrtayloriv, one good book to start is "The Little Schemer".
SICP is a bit detailed. I never finished the "Can you make change?" example. 20:05
jrtayloriv chromatic, I picked up a copy of the Little Lisper before and browsed through it. Same author?
yes, google is my friend ... 20:06
whiteknight leaves. Goodnight
NotFound japhb: There is some absolute minimal example of plumage metadata?
chromatic Yes, same author.
jrtayloriv night white night
chromatic, Thanks for the recommendation (and the link) -- I'll see if I can get my hands on a copy from one of the libraries around here. 20:07
allison dukeleto/Tene: will email you png and psd respectively 20:08
japhb NotFound, check in metadata/ directory of plumage repo. The only sections that are currently required by the *implementation* (as opposed to the spec, which requires considerably more) are "meta-spec", "instructions", and "resources"
"general" and "dependency-info" are NYI, but do no harm.
allison moritz: you're welcome to convert to svg, but I don't have one 20:09
moritz allison: if you give me anything I can convert from, sure
allison moritz: what can you convert from? 20:10
moritz allison: most everything, if it has either high resolution, or is a vector graphics format
allison The parrot head is in a vector form (Illustrator), but the rest of the logo isn't 20:11
moritz that'll be a good start
allison moritz: I can give you the true type font, and you can play with recreating it in a vector form
it's V.A.G. Rounded OT 20:12
moritz allison: I'll do my best
kurahaupo chromatic: thanks for help
allison moritz: not critical, just there if you want it
dalek TT #1076 created by dukeleto++: Smoking Git Branches 20:13
nopaste "NotFound" at 213.96.228.50 pasted "Attempt of parrot-mysql json metadata" (28 lines) at nopaste.snit.ch/18121 20:14
NotFound japhb: Like this?
purl Like this is probably ok?
japhb NotFound, looking 20:15
NotFound, a bit hackish, but yes, that should mostly work. 20:16
Trailing comma on fetch block must die
Want commit bit?
darbelo japhb: ISTR json allows a trailing comma.
dukeleto allison: i got your email, but no attachment :( 20:17
moritz json does not.
NotFound japhb: there will be some way of saying: "This is one file pir module, just put it on the lib dir and compile it to pbc"?
moritz dukeleto: I frequently stumbled over this
japhb darbelo, most browsers do, but IE does not, therefore JSON does not. :-(
moritz sorry, meant darbelo
japhb NotFound, eventually, yes.
moritz the javascript standard allows it, but json does not
darbelo Ah. That's what I get for not reding the spec. 20:18
japhb darbelo, the spec is really, REALLY picky.
annoyingly so.
NotFound And our reader?
japhb NotFound, AFAICT, it's slavishly correct.
NotFound Good
allison dukeleto: yah, I noticed right after I pressed the send button, resent 20:19
dukeleto allison: got it, thanks 20:20
NotFound japhb: cleaned a bit and added to the parrot-mysql repo. 20:21
japhb NotFound, OK, good
WANTZ COMMIT BITZ? 20:22
NotFound Ofcough
Uh, no, is git. 20:23
diakopter mtsql
darbelo japhb: don't ask him. Force it on him.
dukeleto darbelo: all hunks failed to apply for me with your debugger patch against trunk
darbelo: can you generate a new diff against trunk?
diakopter NotFound: mtsql in your json
NotFound Ops, fixed only one copy 20:24
darbelo dukeleto: I'm on it.
NotFound Fixed now
japhb darbelo, can't force it on him without having his Gitorious ID ....
NotFound Hard to have that, don't have an account. 20:25
fperrad bacek, today, Lua looks better. Many thanks for your help.
NotFound japhb: Do you want it on parrot-mysql? I need to learn how to use google code. 20:26
bacek fperrad: you welcome! It's just my little payment for my previous changes which broke Lua :)
kurahaupo volunteers for a small coding/testing job; any suggestions? 20:27
nopaste "darbelo" at 200.49.154.173 pasted "repasted, in all of it's test-failing glory!" (152 lines) at nopaste.snit.ch/18122
chromatic Oh, don't get him used to that kind of payment....
Anyone have any small tasks for the interested?
darbelo dukeleto: nopaste.snit.ch/18122
bacek kurahaupo: you can convert some Perl based tests to PIR
kurahaupo Any in tests particular, or pick-some-at-random? 20:28
chromatic dukeleto was picking at some tests... any suggestions there?
japhb NotFound, hmmm, not a bad idea, if I can find my google code id ...
NotFound, give me a couple minutes, I'm in the middle of hacking this. 20:29
chromatic kurahaupo, look at t/pmc/namespace.t and t/pmc/namespace-old.t
bacek bacek@icering:~/src/parrot$ grep -r '#!.*perl' t|wc -l 20:30
396
japhb W00t! Plumage successfully reaches configure stage for a project!
s/reaches/completes/
darbelo japhb: Ship it! 20:31
bacek kurahaupo: select some PMC with low coverage and test written in Perl5. Convert test to PIR and improve coverage.
code coverage?
purl well, code coverage is cv.perl6.cz
NotFound japhb: no urgence 20:32
bacek kurahaupo: test for foo.pmc placed in t/pmc/foo.t
kurahaupo: resizableintegerarray looks like good choice for this task 20:33
kurahaupo bacek: I've been lurking here for several years, 'bout time I got pushed into doing something. PIR test for resizableintegerarray it is then. 20:34
bacek kurahaupo: welcome aboard :) 20:35
fperrad bacek, if you've more time for Lua. 20:36
Try 'make spectest' which works well with an installed Lua.
But crashes in build tree (see alternate version under comments in Makefile).
bacek fperrad: ok, I'll take a look. 20:37
fperrad: "foo: staging"? 20:39
fperrad bacek, I don't understand 20:41
bacek fperrad: I can't figure out how to switch from "installed Lua" to "build tree"... 20:42
fperrad: I actually never install Lua... 20:43
nopaste "bacek" at 122.110.34.44 pasted "Lua "make spectest" on my box for fperrad++" (76 lines) at nopaste.snit.ch/18123 20:46
fperrad bacek, in config/makefiles/root.in
uncomment lines 377-379
comment lines 380-382
bacek fperrad: So, "foo: staging" :) 20:47
fperrad bacek, your output looks good, few error because missing native Lua and other lib 20:48
darbelo fperrad: The lua Makefile makes BSD make cry. 20:49
bacek fperrad: same output with changed makefile. But I running it from parrot/languages/lua if it related.
darbelo The "export LUA_PATH" and "export LUA_INIT" need to be inside a target. 20:50
nopaste "bacek" at 122.110.34.44 pasted "full output from make spectest" (95 lines) at nopaste.snit.ch/18124 20:52
bacek fperrad: got it. make realclean is mandatory in this case. 20:54
sigh... PCC... 20:55
fperrad darbelo, when export is a part of commands of one target, export is handled by the shell and not directly by make. 20:56
And export is not a shell command on Windows. So gmake is fine.
bacek, rm -rf install/tree && make install-dev is enough 20:57
darbelo I don't have gmake. I have BSD make, and it cries :)
You'll also have problems with makes that don't support ':=' as LD_RUN_PATH becomes circular. 20:59
Which you can kill, as it's unused. 21:00
dalek rrot: r41561 | pmichaud++ | branches/pct-rx/compilers/pct/src (2 files):
[pct-rx]: Add some Cursor methods.
21:02
Tene NotFound: There *will* be a simple way to say "Here's a one-file PIR library; put it in the right place." as well as "Here's a .tar of PIR files; put them in the right place." 21:04
NotFound Tene: let's start with the easiser 21:05
21:05 joeri left
fperrad darbelo, in config/makefiles/root.in there are only := 21:06
and in your generated Makefile, all are replaced by =,
except one which comes from a conditional line #IF(.... LD_RUN_PATH := ...
Is it correct ?
bacek fperrad: ok. It some shenanigans in PCC. And my pcc-fu isn't good enough to investigate and fix it... 21:13
darbelo conditionals get replaced too.
dukeleto kurahaupo: still need help with deciding on a small project? 21:14
darbelo But that only matters for LD_RUN_PATH, and you don't need that. 21:15
japhb Tene: incoming parrot-plumage commits 21:17
fperrad bacek, thanks. I'll wait for new ppc branch merge.
Tene japhb: yay! 21:18
japhb Tene: I've got some more refactoring to do, and then I'll go on to the next stage 21:19
dalek rrot: r41562 | pmichaud++ | branches/pct-rx/compilers/pct/src/Regex/Cursor.pir:
[pct-rx]: Oops, naming fossil! s/RX/Regex/g
21:21
nopaste "bacek" at 122.110.34.44 pasted "Small patch for Lua for fperrad++" (230 lines) at nopaste.snit.ch/18125 21:22
bacek fperrad: patch doesn't fix problem anyway 21:23
Tene japhb: 'k
fperrad bacek, why declare param which are not used ? 21:27
dalek rrot: r41563 | coke++ | trunk/config/gen/makefiles/root.in:
"Fix" deps for parrot_nqp
21:29
TT #1070 closed by coke++: building parrot with the make -j option fails after r41514 21:31
dukeleto darbelo: are you generating that debugger diff from trunk? all the hunks are still failing for me, this is odd 21:39
all hunks are being rejected, that is
darbelo that was just a svn diff from my working copy. 21:40
And it aplies cleanly to my other checkout too.
dukeleto darbelo: it is really odd. I am attempting to patch it against the same rev that you made the diff from 21:41
darbelo Maybe it's becuse I'm copypasting from an xterm into a web page. gimme a sec. 21:42
dukeleto darbelo: i was wondering about line-endings or somesuch
21:42 hercynium joined
darbelo web.fi.uba.ar/~darbelo/patch 21:43
that's about as plain-text as it gets.
Tene I've got a friend getting segfaults when trying to build PGE: paste.lisp.org/display/87920 21:44
anyone seen that before? 21:45
darbelo what platform is he on? 21:46
CAN I HAZ BACTRACE?
Tene trying to harass him into making one now.
darbelo Oh! Wait. I know, he forgot to configure with --make=make. 21:47
Or he forgot to use gmake to kick his build off.
Tell him to use 'gmake' instead of 'make' to start the build. Configure should have instructed him to do that too, but it's easy to miss. 21:48
21:49 Whiteknight joined
darbelo dukeleto: did it help? 21:49
Tene paste.lisp.org/display/87920#1 21:51
-- backtrace
darbelo: Um... Configure tells me to use gmake, but I use make, and it works fine...
Tene tells him to do it anyway. 21:52
dukeleto darbelo: trying 21:53
darbelo: yes, that works 21:54
darbelo: have you tried the nopaste.pl to directly nopaste from a file?
Tene darbelo: any ideas about that bt? 21:55
dukeleto darbelo: tools/dev/nopaste.pl, iirc
darbelo Tene: gmake vs native make has caused broken builds for me before.
Tene darbelo: he says gmake is a symlink to make on his platform.
He's on x86 fedora linux 21:56
darbelo: gmake doesn't change anything.
darbelo Hmm. He's getting a mis-linked parrot somehow. 21:57
cotto_work old libparrot floating around?
Tene he's coming here.
afk class
darbelo tell him to reconfigure with --buildframes=0
chromatic We'd better tidy up then.
darbelo Fedora x86 dying deep in Parrot_NCI_invoke sounds like the good ol' SELinux stuff again. 21:58
21:58 clsn joined
bacek_at_work fperrad: it's in PDD03. I have no idea how it affects whole PCC. 22:00
darbelo dukeleto: That script wants perl modules I don't have.
dukeleto darbelo: which modules? 22:02
purl hmmm... which modules is that?
dukeleto darbelo: ... don't you have ?
darbelo WWW::Mechanize 22:03
purl WWW::Mechanize is good or frequently fails tests.
dukeleto darbelo: what kind of box are you on?
fperrad darbelo, the line with LD_RUN_PATH exists in the Makefile of many languages and in mk_language_shell.pl. 22:04
I don't understand it. I don't know which platform really needs it.
Seems come from rurban's code.
Maybe it's obsolete since Parrot is installable and installed.
dukeleto darbelo: it wouldn't be hard to write the script without WWW::Mechanize, but that is a pretty useful module to have 22:05
darbelo fperrad: nobody needs it afaict. I loked into that when I built the decnum-dynpmcs build infrastructure, mk_language_shell.pl is pretty non-portable. 22:06
dukeleto: Okay, I'm sold. I'll see if it's in ports. 22:07
dukeleto darbelo: should be 22:08
darbelo indeed, p5-WWW-Mechanize-1.20
dukeleto it is quite nice to redirect output of commands to a file and then nopaste it from the command line. the less I have to use a slow-ass browser, the better
japhb Is there any way to flatten an array into a list in NQP? 22:11
darbelo dukeleto: So, delivery aside, does the patch make sense to you? 22:12
japhb Or in particular, any way to flatten array into subroutine arguments in NQP?
dukeleto darbelo: seems to make sense. get rid of raw C strings in favor of STRINGs and get rid of ->strstart . can you nopaste what your test failures looks like, so I can compare them to mine ? 22:14
darbelo Sure. Gimme a sec. I noticed that I should Parrot_str_free_cstring(unescaped) out of the conditional. 22:16
jrtayloriv japhb, Does this help? irclog.perlgeek.de/parrot/2008-12-05#i_740011 22:19
(I don't know the answer, but I found that, at least)
japhb I think that 22:20
's for Rakudo, not NQP
But thank you for teh reference. :-)
jrtayloriv np 22:21
dalek rrot: r41564 | fperrad++ | trunk (4 files):
[languages] remove useless LD_RUN_PATH
22:21 cotto_w0rk joined
dalek a: 1bf9069 | fperrad++ | config/makefiles/root.in:
remove useless LD_RUN_PATH
22:22
shorten dalek's url is at xrl.us/bfpazi
22:22 ascent joined
dalek lscript: 49ce43e | fperrad++ | config/makefiles/root.in:
remove useless LD_RUN_PATH
22:23
shorten dalek's url is at xrl.us/bfpazn
darbelo dukeleto: revised patch at nopaste.snit.ch/18127 22:24
jrtayloriv japhb, It's not NQP, but you might be able to find a way to do it with inline PIR from NQP by looking at Array::Flatten in Cardinal
Anyhow, I'm done for the day ... 36 hours of awake time ... I'm now officially resynchronized with US/Eastern. 22:25
jrtayloriv zzzzzzzzz
japhb jrtayloriv, thanks 22:26
nopaste "darbelo" at 200.49.154.173 pasted "This is the fail" (85 lines) at nopaste.snit.ch/18129
darbelo dukeleto: The fail is at nopaste.snit.ch/18129
dalek rkdown: 69c3ca9 | fperrad++ | config/makefiles/root.in:
remove useless LD_RUN_PATH
22:27
shorten dalek's url is at xrl.us/bfpa2b
dalek l: f5d1e4b | fperrad++ | build/Makefile.in:
remove useless LD_RUN_PATH
shorten dalek's url is at xrl.us/bfpa2f
dalek izkost: f8b96dd | fperrad++ | build/Makefile.in:
remove useless LD_RUN_PATH
22:28
Austin_away japhb: You can't flatten an array in nqp. You can use inline pir, which I what I've been doing.
shorten dalek's url is at xrl.us/bfpa2u
japhb Austin_away, nodnod
dukeleto yay, dalek learned about blizkost commits
nopaste "Austin" at 98.235.55.43 pasted "Array-flattening sub in NQP+PIR" (22 lines) at nopaste.snit.ch/18130 22:29
darbelo dalek needs to learn gitorius
japhb darbelo, yes indeed 22:33
Austin: thanks!
Austin Probably the least I could do. What problem are you solving?
dukeleto darbelo: i will attempt to make the tests pass with your patch later today
darbelo dukeleto: Excellent, as I'm rapidly running out of today! 22:34
dukeleto darbelo: which TZ are you in again? 22:35
darbelo GMT-3, I think. I can never remember if it's DST time or not. 22:36
bacek_at_work clock?
purl bacek_at_work: LAX: Tue 3:36pm PDT / CHI: Tue 5:36pm CDT / NYC: Tue 6:36pm EDT / LON: Tue 11:36pm BST / BER: Wed 12:36am CEST / IND: Wed 4:06am IST / TOK: Wed 7:36am JST / SYD: Wed 8:36am EST /
dukeleto darbelo: central tz ? 22:37
darbelo Midnight was like 19 and a half hours ago. If it's clearer that way :)
Austin GMT-3 is like the canary islands, no? 22:38
Tene dukeleto: nopaste.pl reads from stdin 22:40
Austin 19:40 would be bermuda, halifax.
nopaste "NotFound" at 213.96.228.50 pasted "A simple idea to avoid Parrot_str_free_cstring, using it in two important places" (113 lines) at nopaste.snit.ch/18131 22:41
japhb Austin: Trying to merge explicit arguments, plus generated arguments, into argument list for run()
(in Plumage)
Tene dukeleto: I have the following set as a shell alias: "perl ~/src/parrot/tools/dev/nopaste.pl -t "$1" -c '#parrot' -n tene $2", so I can specify a file, or just pipe a command to it.
NotFound Can someone take a look at this patch? 22:42
darbelo NotFound: +1
purl 1
Austin japhb: That's as good a way as any. Flatten them all in an arglist, collect them on the other side...
chromatic NotFound +1 22:43
dukeleto Tene: looks similar to what I have. i defaulted the username and channel in my script so I don't have to specifiy them :) 22:45
Tene: yes, it can read from stdin, but since it spams the channel, I like seeing what I am nopasting before I nopaste it :)
NotFound I'll fill a ticket tomorrow, I'm tired now. 22:46
dalek rrot: r41565 | darbelo++ | trunk (2 files):
Remove t/tools/pmc2c.t
22:47
dukeleto purl: Inf-Inf 22:48
purl dukeleto: what?
darbelo NaN * Inf 22:50
dukeleto purl: learn to do math
purl dukeleto: excuse me?
dukeleto purl: 10-Inf
purl dukeleto: excuse me?
dukeleto yeah, I give up 22:51
Austin Has anyone here spent any time using Padre ? 22:52
If so, any impressions?
dalek TT #1063 closed by darbelo++: pmc2c tests need review. 22:53
Whiteknight Padre is very good. It's very perl5-centric, and doesn't quite have all the options I need, but it's nice 22:55
Austin Do the high-level editing functions work for NQP? 22:56
And, what do you feel is missing?
dalek rrot: r41566 | allison++ | branches/pcc_reapply:
Creating branch for refactoring calling conventions, reapplying the changes from pcc_arg_unify to a fresh branch of trunk.
22:57
23:00 cconstantine joined
cconstantine Tene: ping 23:01
Tene: nothing big, thinking about how to add macro support, and I think I need to add another compilation phase that generates a tree of lisp lists and then have the compiler walk that tree. Just seeing if you had given macros for stene any thought, or had a different idea 23:02
Tene cconstantine: pong 23:04
cconstantine: I think that's a great solution.
cconstantine yay!
Tene cconstantine: also, my language is "steme", not "stene"
cconstantine oh, oops
I thought it was a pun of tene and scheme 23:05
I guess it still could be
so, how would I go about importing/including a pir file in a nqp? 23:06
cotto_w0rk darbelo++ 23:07
Tene cconstantine: the right way, or the easy way? ;) 23:08
cconstantine oh no
23:08 coke joined
Coke ~ 23:08
msg mikehh if the only thing using a thing is a configure test, that's a pretty good indication it's not used. 23:09
purl Message for mikehh stored.
cconstantine I'm thinking I only want to define my list (cons) type once... would it make more sense to go from pir to nqp?
Tene I'm not sure what you mean.
Also, I hate cons lists.
cconstantine I don't ;) 23:10
darbelo cotto_work: not complainin' at all but, what did I do to get that ++?
Tene Also, make sure that your cons type supports all the parrot array vtable functions.
push, pop, shift, unshift, and positional access.
cotto_work remoing those silly pmc2c tests
Tene so tha tother langauges can actually use the bloody thing
cconstantine I do think cons lists are used to solve problems they aren't good for
cotto_work s/mo/mov/
Tene and make sure your language can actually work with data types passed to it or returned ot it by other languages. 23:11
darbelo Removing code is what I'm best at.
cconstantine Tene: right
Coke (work with other data types) good luck with that. =-)
cconstantine Tene: I'm ultimately going to go the clojure way and have non-destructive vectors and maps
cotto_work It might be beneficial to have a document delineating what should and shouldn't be tested.
and it might not
Coke cotto_work: kid51 has done a lot of work to test existing code. More work needs to be done to remove unnecessary code. 23:12
(we just need to make sure that we don't count coverage tests as making something necessary.)
(and it woudl be nice to remove things before testing them, in general, but hey.) 23:13
cconstantine Tene: anyway, right now I'm only concerned with building the AST with a cons lists, and then compiling it
so, the cons type needs to be accessible from both 'runtime' and 'compiletime' 23:14
dalek rrot: r41567 | allison++ | branches/pcc_reapply (33 files):
[pcc] Reapplying changes from pcc_arg_unify to fresh branch of trunk, so others
23:23
cotto_work goes home 23:31
dukeleto goes to crazy town 23:35
chromatic leaves the office 23:37
bacek_at_work enters the building 23:42
23:42 ruoso joined
darbelo wanders into the room. 23:43
mikehh Coke: probably - I am not sure in what context? 23:44
23:50 TiMBuS joined
Whiteknight allison has the branch made. Now Whiteknight is going to work 23:50
darbelo Whiteknight++ 23:51
Whiteknight is very tired of waiting. The time to kill this beast is now 23:52
miniparrot is segfaulting in the branch now, didn't last time I looked at it 23:55
japhb Major pushes to parrot-plumage today. 23:56
Tene yay
I'm excited to look.
going home shortly.
japhb Can actually go through a full fetch .. install cycle. 23:57
Except that blizkost fails to build on my box
And Close has failing tests.
Tene hehe
japhb But if we could fix those, everything else would be golden.
dangit, I keep /msg'ing someone who isn't online 23:59
purl, msg Austin Close has failing tests ... which I know because Plumage is now ready to go all the way through installing it, but bails out when the tests fail. :-)
purl Message for austin stored.