Parrot 2.6.0 | parrot.org Log: irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | fix 'make html' (talk to Coke), update tutorial (talk to tcurtis)
Set by moderator on 21 July 2010.
dalek kudo: c633afc | jonathan++ | src/cheats/parrot/Sub.pir:
Make sure that if the static sub had its $!do changed, all the dynamics also

immediately makes Zavolaj work again.
00:11
00:30 theory joined 00:51 patspam joined
dalek tracwiki: v6 | cotto++ | LoritoDesignQuestions 00:54
tracwiki: answer a few more questions
tracwiki: trac.parrot.org/parrot/wiki/LoritoD...ction=diff
cotto_work whiteknight++ 00:57
jnthn cotto_work: "MMD will be implemented op top of Lorito." 01:14
Did you really mean "op top"? :-)
kthakore ... 01:16
hi again
purl oh, you're back!
kthakore who to bug now?
01:16 rurban_ joined
kthakore hi jnthn 01:16
jnthn: may I disturb your mental recesses with some pmc?
jnthn My recesses are SO mental. 01:17
;-)
er, yes :-)
cotto_work nope. thanks for noticing
jnthn cotto_work: Freud says hi ;-)
kthakore: Which one?
kthakore jnthn: see ... I am working on #1639
cotto_work jnthn: could have been worse
jnthn kthakore: OK. 01:18
kthakore jnthn: but ... when I do that test in t/stringhandle.t.
jnthn kthakore: Hm. Until this ticket, I didn't know there was a StringHandle PMC...
kthakore jnthn: me niether \\o/
jnthn: well ... I follow the gdb code real closely for ifh = new ['StringHandle'] 01:19
jnthn Oh...is it just like a file handle but writes to a string?
kthakore jnthn: it seems to be making a FileHandle (it goes into filehandle.pmc)
jnthn: yeah ... but the utf8 is showing as fixed_8 01:20
jnthn: when it is opened
I have no freaking clue why?
I followed the gdb tail ... but it never hits stringhandle.pmc
jnthn That's...odd. 01:21
I mean, StringHandle apppears to inherit from Handle, so seeing it in there wouldn't be surprising...
cotto_work kthakore: can you explain the steps you're going through?
jnthn Oh. Handle is...empty.
Near enough.
purl near enough is probably good enough :)
kthakore trac.parrot.org/parrot/browser/trun...dle.t#L696 01:22
cotto_work: ok
jnthn kthakore: Anyway, this bit of Parrot really ain't familiar to me, so I'm probably a bad guide to it. :-)
kthakore I pulled out that pir code there into foo.pir
jnthn: oh well
cotto_work: then I do gdb --args ./parrot foo.pir 01:23
cotto_work: break src/io/api.c:92 01:24
trac.parrot.org/parrot/browser/trun.../api.c#L92
cotto_work: then I do s
cotto_work: all the way ... and do p encoding->strstart
as soon as I can
but it never seems to get there
...
cotto_work What makes you think it should get there? 01:25
kthakore because it is doing ifh = new ['StringHandle'] 01:26
so that should call something in strinhandle.pmc 01:27
right?
$S0 = ifh.'readall'()
then that
purl it has been said that then that is a bug.
kthakore should be in the readall()
which it never gets too
it is so baffeling
01:28 ash_ joined
dalek tracwiki: v7 | cotto++ | LoritoDesignQuestions 01:28
tracwiki: too many ops on the brain. jnthn++ for noticing
tracwiki: trac.parrot.org/parrot/wiki/LoritoD...ction=diff
cotto_work Sure. It'd be calling the C function Parrot_StringHandle_init. 01:29
(for new ['StringHandle']
)
kthakore right
cotto_work readall should call the C function Parrot_StringHandle_nci_readall
kthakore so I am not crazy
but I do break in the init() 01:30
never gets there
...
WHY?
it is calling Perl_io_new
nopaste "cotto_work" at 192.168.1.3 pasted "wfm" (36 lines) at nopaste.snit.ch/22202 01:33
kthakore kill me now
why?
ok can you commet out the open and readall calls?
do you still get fixed_8 ? 01:34
cotto_work it's in the nopaste
kthakore I know 01:36
cotto_work: I saw
but I am trying to narrow down in what call it is
cotto_work: I did make clean
and then make
it FINALLY WORKS :\\
still fail tests
dalek kudo: 82b1b78 | (Solomon Foster)++ | src/core/operators.pm:
Allow Int factors in geometric series if possible.
01:44
01:45 plobsing joined
plobsing lets try that again. ping ash_ 01:50
ash_ plobsing: pong 01:51
gist.github.com/485457 is my current work on the new nci_thunk generating file 01:52
plobsing OK good. I was wondering where your new work was. You haven't commited to your git branch for a while.
01:53 bubaflub joined
ash_ its all in 1 file for now, but i am planning on separating it into a few files, when i can figure out where they belong 01:53
01:53 dmalcolm joined
ash_ i have tests, a grammar with actions and a thunk object, i am making progress on it 01:53
plobsing are there any points which are giving you trouble? 01:56
ash_ not yet, just working on the manual translation from one to the other
the reason i haven't pushed anything to my branch is i was working on my sample of the llvm-ir form 01:57
to have the manual translation of pir -> pbc -> llvm-ir
i spent a lot of time running in circles trying to understand all the stuff i needed to to get that to work 01:58
plobsing how is that side of things doing?
ash_ it seems like it should work in theory, but in practice, i couldn't get it to work
for example, say, your code is simply $I0 = 4; $I1 = $I0 + 3; 01:59
thats simple, that should be possible to end up as 2 declarations and 1 add op
plobsing I wish it were that simple. What's the complication? 02:00
ash_ that is really just a call to Parrot_add_ic_ic
with a few INTVAL vars
err, Parrot_add_i_ic 02:01
but, that translation should be possible too, but looking at how the embed stuff works, there is a lot of stuff that you have to setup
like setting up the interp
plobsing there should be examples of that somewhere 02:02
ash_ long story short, i started trying to have a perl script that goes to llvm-ir directly, then i did it to a C middle form, for parts, and compiled with -emit-llvm and grabbed the llvm-ir from that, then i ran into problems understanding how to do certain things, the biggest was setting up the constant table for the interp 02:03
i feel like i am chasing my tail on that a bit
plobsing ash_: if you are merely threading calls to op-functions together (as opposed to introspecting their bodies) you need an instruction stream anyways. 02:04
So what I would do is augment PBC with an llvm-ir segment
cotto ~~
plobsing that way, you have code to set up your constant table etc
ash_ i almost wonder if it would be easier/better/smarter? to try to do this with PAST .emit's 02:06
PAST/POST not sure which is the right term here 02:07
tcurtis POST is the lower level of the two.
pmichaud wonders if we should introduce a PEST type. :-) 02:08
ash_ ultimate goal, is i think there is a possible speed up but unrolling the runloop, where to do it, when to do it, and how to do it are escaping me still, but i am trying
just not making as much progress as i'd like to
plobsing ash_: POST -> llvm-ir seems workable. It is less general that PBC -> llvm-ir, but would still likely be useful. 02:10
kthakore win 2
plobsing lose 1
ash_ where do you think its best i try? 02:11
plobsing It depends on what the goal is. If the goal is to inform later decisions about JIT, POST is much less useful than PBC. 02:12
If the goal is to improve the performance of PCT-based languages, POST is probably great.
both are worthy objectives. 02:14
ash_ well, the reason i'd use the llvm is you can it what definitions are of functions (like what Parrot_add_i_ic's body is) then when you run optimizaiton passes over it, it can inline it (at runtime) or maybe re-arrange the order of things, or find duplicate calls with the same params, etc.
just about all C compilers do the same thing (at compile time) so if you could translate it to C, you'd get similiar benefits without it being as dynamic
hence why i was thinking it would be possible to do similar stuff with pbc_to_exe 02:16
plobsing that's deep introspection and is likely to be very tricky. I doubt its feasible for 1 person in the duration of GSoC.
Not that we don't want that eventually. 02:17
Where I thought you were going was simply stringing calls to the op-functions together (to get a nice speedup from the branch predictor) 02:18
ash_ i could start off with that for now
that seems like a good reasonable goal 02:19
that was just the overall thing i would like to do (eventually, probably after gsoc is over)
plobsing and if the simpler approach works out well, you can probably build the better, harder, more complete solution off of it. 02:21
ash_ so, stringing calls together, first, do you think it should be done in something like pbc_to_exe? 02:23
plobsing glances over pbc_to_exe again
I think building it as a tool separate from the main parrot executable offers opportunities to make things easier 02:26
ash_ alright
plobsing the alternative being to build a runcore, which looks fairly hairy to me
ash_ me too 02:27
plobsing anything your still unclear about? 02:30
s/your/you're/
ash_ no, i think i can figure it out 02:32
i am not going to shoot for a runcore for now
plobsing btw, NotFound++ mentioned that there are some examples of reading PBC from an HLL in the winxed tree.
ash_ okay, i'll look in the winxed tree 02:34
cotto Coke, ping 02:36
Coke, could you fix the css on docs.parrot.org? I don't have enough permission bits. 02:37
02:37 snarkyboojum joined
ash_ i'll start looking into building my own tool from scratch, i am going to look at winxed first, to see what kind of reading PBC's was done with that 02:41
02:46 mikehh_ joined
mikehh opbots, names 02:49
All tests PASS (pre/post-config, make corevm/make coretest, smoke (#35011), fulltest) at r48162 - Ubuntu 10.04 i386 (g++) 02:50
t/op/exit.t - TODO passed: 6 in testf
the TODO PASS in testf only occurs on the 32 bit not on 64
03:13 janus joined 03:15 PerlJam joined 03:16 dukeleto joined 03:21 dukeleto joined, PerlJam joined 03:22 pmichaud joined, dalek joined 03:25 LoganLK joined 03:29 contingencyplan joined 03:34 PerlJam joined
cotto pmichaud, do you have a few minutes? 03:46
pmichaud cotto: sure 03:48
there's a break in the session now :)
cotto can you read over trac.parrot.org/parrot/wiki/LoritoD...nQuestions and lmk if there's anything false?
having fun at oscon? 03:49
pmichaud "Yes. All Lorito ops will take three arguments. " .... does this preclude handling multiple arguments in calls?
"Will Lorito have a object model built-in? ¶ 03:50
No. The object model will be implemented on top of Lorito. "
cotto I've been assuming that that'd be handled by calling conventions on top of lorito
pmichaud okay. I'm not sure that matches allison++'s message to parrot-dev
cotto I'll check that out.
pmichaud re: object model ... my gut feeling is that not supporting objects at the lorito level is a design mistake, but I can't quantify that. 03:51
if only because it seems to contradict
cotto I'll take that answer out then until it's been explicitly decided
pmichaud "Will PMCs and Objects be merged? ¶
tcurtis pmichaud: concerning arguments to calls, why would Lorito's call op take the call arguments directly? Parrot currently requires manually dealing with the calling conventions if you limit yourself to actual ops instead of compiler directives. I wouldn't expect Lorito's call op to be more complex than invokecc.
pmichaud Yes. "
tcurtis: I'm only referring to discussion I think I read on parrot-dev. 03:52
tcurtis: I agree that it's possible to do it like PIR does now... I just seem to recall allison speculating it might be different.
cotto iirc allison verified that objects and PMCs would become the same thing
I should start including citations. 03:53
pmichaud I didn't follow the parrot-dev extremely closely, as I was on vacation when it occurred.
citations +1
cotto vacation++
also, moritz++ for making irc citable
cotto hugs ilbot2
pmichaud "Should method dispatch use strings or symbols? ¶
Symbols are likely but this design decision hasn't been discussed yet. "
I think jnthn++ and chromatic++ are discussing a design where method dispatch can be cached to avoid string lookups altogether 03:54
atrodo pmichaud> If it's the conversation I saw part of, it basically means symbols 03:55
cotto atrodo, can you dig up a link?
atrodo I'm starting to like the idea that the native S registers are interning strings 03:56
cotto me too
atrodo Yea, i'll try and dig it up
cotto thanks
atrodo irclog.perlgeek.de/parrot/2010-07-13#i_2551054 is when the entire discussion started 03:57
tcurtis pmichaud: it's hard to know that your cache has the right method efficiently if you can't quickly compare the method name. Quick method name comparison with strings doesn't seem possible. 03:58
pmichaud cotto: those are the things that strike me as being potentially false.
tcurtis: I think I just said that. :)
cotto pmichaud, much appreciated
pmichaud cotto: there's more.
cotto wheee
pmichaud "Will Lorito have some declarative syntax at the lowest level for creating classes/types? ¶ 03:59
Will there be a declarative syntax at some level below HLLs for creating classes/types? ¶"
right now it hurts Rakudo startup time immensenely that we have to create all of our classes at startup.
i.e., we have to create them as part of runtime startup
*immensely
cotto How can the answers be wrong? there aren't any.
pmichaud I'm not saying the answers are wrong there. I'm providing my opinions on the answers :) 04:00
cotto ok
atrodo :D
cotto less pain for rakudo is a good idea
pmichaud basically, I'm saying that we really need a good way to store/restore classes without having to build them all dynamically at startup
atrodo pmichaud> what about freeze/thaw?
pmichaud atrodo: freeze/thaw as designed now is completely unworkable.
atrodo Same reasons you mentioned at YAPC? 04:01
pmichaud yes.
essentially, there's not a way for me to limit the scope of the freeze
so, if I freeze an object, I end up freezing its class representation, its superclasses, all of the other objects it might happen to reference, tec. 04:02
*etc.
cotto What would a helpful freeze/thaw interface look like?
pmichaud I don't know.
atrodo so in a perfect world, how would the class build work?
hmmm, slower than cotto
cotto wins
pmichaud there needs to be a way to say "snapshot this state" and then later "freeze everything associated with this object since the snapshot" 04:03
cotto so we want smalltalk-like images?
pmichaud right now, iiuc, freeze basically freezes everything that happened since Parrot started running. 04:04
essentially, I think "freeze/thaw" have to start acting more like dynamic linkers
but here I'm speculating wildly
and it's possible that lorito v1 won't address that issue. that's fine. 04:05
04:05 snarkyboojum joined
cotto now's the time for wild speculation 04:05
atrodo Understand, but if we can get a good idea in place now, it makes it a lot easier when we do implement
pmichaud it's just something to keep in mind -- we don't have a good way to quickly freeze/thaw data structures containing non-core-PMCs
tcurtis pmichaud: feel free to add your idea of what the answer to any of those questions should be to that page.
pmichaud which means that Rakudo essentially generates code to build the structures at startup
(or when a module is loaded)
which converts something that should be static-compile-time into dynamic-runtime 04:06
cotto tcurtis, I'm picturing that document as a place to put what's currently known about Lorito. I'd prefer to keep discussion in other places.
parrot-dev for example 04:07
atrodo pmichaud> So, if the bytecode file, in it's data or constant table, was able to be a dynamic linker in the way of referencing other "static" pmcs in other bytecode files, would that work? 04:08
pmichaud atrodo: that seems a lot closer, yes.
cotto I'll do my best to make sure any decided-upon points don't get dropped
tcurtis cotto: alright. The "Feel free to add more or offer your opinion on a possible answer to any of them." sentence should probably be amended, then.
pmichaud one question I don't see in the lorito spec is anything dealing with exception handling and continuation handling
cotto I'll do that. 04:09
pmichaud those are incredibly core to Parrot today (and have issues) -- seems like Lorito will need to address them.
cotto yes
pmichaud iirc, one of the intents of Lorito was to reduce problems associated with inferior runloops and the like
atrodo pmichaud> How far does CPS go to solving both of those?
atrodo being naive about this part 04:10
pmichaud atrodo: CPS doesn't do it alone.
Parrot now has CPS, but it struggles with exceptions and call frame rollback 04:11
cotto hopes we can get Lorito out the door before the end of the world in 2012. 04:12
atrodo pmichaud> briefly, what kind of struggles does it have now? A problem with CPS or just it's implementation of it? 04:13
dalek kudo: 31d41ed | pmichaud++ | src/Perl6/Grammar.pm:
Fix RT #76644, overeager parsing of "state" and "supersede" declarators.
pmichaud atrodo: I'd need to revisit the state of things to know exactly where things stand now. But there are several tickets and -dev threads that talk about the issues of exception handlers in Parrot and where things currently fall short. 04:14
atrodo So it's more on the exception handling side?
pmichaud NotFound++ did some recent work to make it a bit better, but I haven't had a chance to refactor things to try to take advantage of them yet.
atrodo: yes. But since exception handling is very closely related to runloop, it feels to me like Lorito needs to address that at the lowest level. 04:15
i.e., it can't delegate that to "something on top of Lorito"
cotto It's an important question which Parrot features need direct Lorito support.
atrodo pmichaud> I would agree.
how does parrot do exceptions today? Is it tied to the context objects? 04:16
pmichaud allison++ or NotFound++ are probably better people to ask about that. 04:17
atrodo Okay, I'll try and do research the next couple days
tcurtis cotto: on the plus side, we have a brand new wiki just for questions like that. ;) 04:21
s/wiki/wiki page/
atrodo I've started a little lorito motto for my code. Less magic == more magic. More magic == magic explosions. 04:22
Still needs some work
cotto good gist though 04:23
tcurtis atrodo: why more work? You're already getting more magic explosions no matter what you do? Sounds like a great motto to me. :)
atrodo I was hoping for something more instead of explosions, but hey, maybe not 04:24
tcurtis Transitive property of equality. Then again, given that we are talking about Parrot, you can't make any guarantees about the behavior or ==; after all, it calls a vtable. 04:25
atrodo tcurtis++
tcurtis s/behavior or/behavior of/ 04:26
atrodo anyways, it's late, but it's been some good insight again. later. 04:27
cotto we'll eventually converge on something that'll make everyone hap^H^H^Hminimally irritable. 04:28
dalek tracwiki: v8 | cotto++ | LoritoDesignQuestions 04:48
tracwiki: more questions, no answers
tracwiki: trac.parrot.org/parrot/wiki/LoritoD...ction=diff
04:55 Util joined 05:02 snarkyboojum_ joined
cotto It's nice to get to the "oh crap, there's no way we can get this all done" stage with Lorito. I just hope it peaks soon. 05:40
05:53 uniejo joined
dalek tracwiki: v9 | cotto++ | LoritoDesignQuestions 05:55
tracwiki: cps
tracwiki: trac.parrot.org/parrot/wiki/LoritoD...ction=diff
06:03 theory joined 06:04 snarkyboojum joined
NotFound pmichaud: using the improvements in exception handling is easy, you just need to add a finalize op in the handlers. 06:07
06:07 fperrad joined
cotto next question: how to implement it 06:17
dalek rrot: r48163 | Chandon++ | branches/gsoc_threads (3 files):
[gsoc_threads] More green thread test.
06:24
rrot: r48164 | khairul++ | branches/gsoc_instrument (3 files):
Implemented the NYIs in InstrumentClass.
06:41
kudo: 925a9b5 | moritz++ | t/spectest.data:
S32-temporal/DateTime-strftime.t is gone, but we pass DateTime.t again
06:44
06:48 dalek left, dalek joined 06:49 AndyA joined 06:52 baest joined
cotto I think we should implement COMEFROM in Lorito. 06:55
moritz waits for the smiley 06:56
cotto but it never comes
;)
nm. there it is
dalek tracwiki: v19 | cotto++ | LoritoRoadmap 07:01
tracwiki: add control flow issues
tracwiki: trac.parrot.org/parrot/wiki/LoritoR...ction=diff
cotto Is there standard terminology for 'leave semantics'? 07:03
07:06 fperrad joined
cotto I guess finalize comes pretty close 07:07
07:08 tcurtis joined
cotto I guess leave semantics are a little easier when we control all possible control flow ops. 07:11
07:13 KatrinaTheLamia joined 07:15 Essobi joined, NotFound joined
NotFound cotto: the finalize op does not control flow, just signal a point for inner loop unrolling. 07:21
cotto Would it need to be an op or could it be implemented in terms of something more generic? 07:24
NotFound cotto: I don't know what can be more generic than an op in machine level. 07:31
cotto: If you mean a micro-op or whatever loritio operations gets called at some level, that entirely depends on the exception handling model and its relation with C calls. 07:33
cotto yes 07:36
NotFound I've not yet seen a exception model for lorito, so no answer right now. 07:37
cotto There's a good reason you haven't see one. 07:38
NotFound In fact I've not yet seen a clear exception model for parrot, but at least one can look at what the code does X-)
Going do daywork, SYL 07:39
07:53 KatrinaTheLamia joined 08:07 somebody_ joined 08:10 KatrinaTheLamia joined 08:16 [1]Casan joined 08:17 dngor joined 08:34 somebody__ joined 08:59 AndyA joined 09:09 mj41 joined 09:16 rurban_ joined 09:22 somebody__ joined 09:29 somebody_ joined 09:50 cognominal joined 10:04 smash joined
smash hello everyone 10:04
Coke: ping 10:14
10:20 snarkyboojum joined 10:31 snarkyboojum joined 10:53 bacek joined
bacek aloha, humans 10:55
11:18 cogno joined, bacek joined
kthakore bacek: !!!!! 11:54
bacek: HAI!
bacek: I did work on TT 1639
11:54 khairul joined 11:59 dalek joined 12:06 khairul joined 12:16 lucian joined 12:21 snarkyboojum joined 12:23 macroron joined 12:47 jsut joined
smash Coke: ping 12:52
12:54 mmcleric_ joined
Coke cotto: it'll get fixed in the next release. :P 12:56
Coke supposes we can retrofix something just this once. 12:57
smash Coke: can i do anything to update the CSS file on parrot.org ? from docs/resources/parrot.css 12:58
Coke cotto: done.
smash: pong 13:00
smash: done.
normally, those docs are cut from the tarball.
I updated the css for that release to reflect your one liner.
smash Coke: excelent, thank you
Coke++ 13:01
dalek TT #1711 closed by smash++: unreadable footer on docs.parrot.org 13:04
TT #1711: trac.parrot.org/parrot/ticket/1711
kthakore hi Coke 13:13
Coke kthakore: no. I can't help you. =-) 13:19
but keep up the good work. =-) 13:20
kthakore Coke: but but ... I just said hi
atrodo Coke, the mind reader
kthakore Coke: you guys are mean
:p
atrodo: hi atrodo
:p
Coke kthakore: it's your MO.
kthakore I know
...
I am ashamed
Coke I saw you pounce on jnthn. =-)
kthakore Coke: hehe
Coke sokay.
atrodo Coke> that was rather funny to see
kthakore Coke: I really want that last test passing
atrodo ok(1) 13:21
kthakore Coke: hey... that is how I get stuff done
in new projects
Coke yup. excellent plan.
kthakore pounce until I can bounce on my own
hey that rhymes! 13:22
atrodo You should totally take up rapping 13:24
Or opera
kthakore maybe I can even be on Oprah 13:25
atrodo Or Dr. Phil
kthakore but he makes me want to take pills 13:26
and he is a shill 13:27
I will never trust him till
atrodo I'm pretty sure that's beside the point. You could be on TV!
13:50 avar joined
avar Hi parrot, your code sucks. I fixed it: github.com/avar/parrot/compare/conf...ersiononly 14:02
:)
(reported in perl6, rakudo didn't detect pod2man without this patch) 14:03
moritz at least on some weird OS X perls 14:08
14:08 bubaflub joined
Coke avar - are you sure the slash change is required? 14:09
avar no, but the perldoc test does it, so I assumed it was betterer 14:10
Coke I found that on windows, at least, / is fine in command paths.
meh. I don't run parrot on windows, so I'll trust you! ;)
avar I think it's probably for stuff like VMS 14:11
Coke ... which we don't build on. =-)
avar but perl should handle this in general, so I don't know what the need is..
Coke but yah. Looks fine to me. someone should apply that.
particle is it needed for R*? 14:14
PerlJam does parrot have fork() and pipe() somehow?
Coke particle: seriously doubt it. 14:19
moritz PerlJam: the qx// implementation in rakudo likely uses something like pipe() 14:20
but probably not quite the same
PerlJam moritz: ah, good point. That may be enough for my purposes. 14:21
PerlJam looks
14:25 Andy joined
PerlJam eh, maybe not 14:25
moritz somebody sent password reset requests to my google account. Weird. 14:27
kthakore moritz: ITS A TRWAP! 14:32
particle PerlJam: spawn? 14:35
purl spawn is mailto:ircdwarf@irc.dwarfy.co.il
dalek kudo: 220b678 | (Timothy Totten)++ | (2 files):
Removed DateTime::strftime, as it's moved to an external repo.
14:40
14:51 tcurtis joined
Coke nqp has helped me become a better cold fusion programmer. freaky. 14:58
atrodo :huh:
14:58 theory joined
Coke chromatic++ # www.perl.com/ 15:04
particle that one should make it into the nqp quotebook, if ever there is one. 15:05
atrodo Okay, I've thought it over, and I have to ask. Coke> Why? 15:06
Coke there's a || between cf and java, and nqp-rx and pir.
kthakore Coke: coldfusion? people use that? 15:14
15:15 masak joined
masak what's the bit size of $I0-style registers? 15:15
kthakore hi masak 15:18
masak oh hai
kthakore moritz: I think you can do sizeof ... someplace 15:19
moritz: let me ack the source
moritz kthakore: did you meant to talk to masak? :-) 15:20
masak seems so.
kthakore moritz: oops
masak tab completion strikes again!
kthakore masak: yeah
masak: I know
masak: um it is in a test
I remember seeing it 15:21
hmm ....
Coke kthakore: apparently. 15:22
kthakore Coke: am I wrong?
masak: I think t/native_pbc/
has it
integer.t 15:23
line 167
I think
or I am crazy
it has the HEADER sizes
masak looks
kthakore man I have to read more of the source code 15:24
masak kthakore: there are many entries below line 167.
tcurtis masak: it depends on your config, iirc.
kthakore tcurtis: yay real help 15:25
masak: I am just newbie at level -.5
tcurtis masak: parrot_config intvalsize
masak tcurtis: different config, different $I0 sizeof?
ok, good.
tcurtis masak: that's in bytes.
masak oh, right.
I meant the size in bits.
kthakore byte* 4 ?
err 15:26
byte * 8
= bits
NotFound I doubt parrot can even be built in platforms where CHAR_BIT != 8 15:28
particle byte * 2 = nybbles
15:28 bubaflub joined
particle what's byte * 4? i wonder. 15:28
NotFound Wonderits.
lucian laughs at nybbles 15:29
NotFound The wonderit is the minimal indivisible amount of wonder.
particle a single wonder particle. 15:30
NotFound I wonder why is still single. 15:32
kthakore particle: bits ... 15:33
15:33 bubaflub joined
kthakore particle: byte * 8 = bits 15:33
particle yes, but byte * 4? 15:34
i don't know if there's a word for it
maybe we should call it 'shave-and-a-haircut' 15:35
atrodo 2 bits
NotFound bibit
particle BORING! wikipedia says it's called a "semi-nybble" 15:37
shave-and-a-haircut is much more intuitive 15:38
NotFound A clear candidate for the "Worst name of the millennia" award.
15:42 macroron joined
bubaflub dibit 15:44
15:44 davidfetter joined
kthakore particle: I made a mistake? sorry? 15:44
15:49 masak left 15:58 eternaleye joined 16:08 bubaflub joined 16:11 theory joined 16:52 zenog joined
kthakore darbelo: Ping? 16:52
hi zenog
zenog Hi kthakore 16:53
cotto ~~
zenog Can I ask stupid questions about Perl 6 and Rakudo here?
cotto You can ask a lot of things. 16:54
tcurtis zenog: well, #perl6 on freenode would be a more suitable place for that.
cotto but #perl6 on freenode is generally a better place for perl6-related questions
zenog OK, then I'll ask there ... 16:55
dukeleto zenog: it depends what your issue is
16:55 patspam joined
dukeleto zenog: many rakudo bugs are parrot bugs in disguise, we can help tell you where you should go 16:55
NotFound You can ask, but the answers can be more stupid than the question ;) 16:56
tcurtis zenog: if you have any Parrot questions, though, we're more likely to be able to help you.
dukeleto bubaflub: i lost your latest link to that diff I was going to try
bubaflub dukeleto: gist.github.com/486097 16:57
dukeleto: just some minor modifications to start running Configure.pl out of directory
dalek tracwiki: v10 | cotto++ | LoritoDesignQuestions 17:06
tracwiki: various fixes, including citations and feedback from pmichaud++
tracwiki: trac.parrot.org/parrot/wiki/LoritoD...ction=diff
17:11 zenog left 17:13 Austin joined
Austin meh 17:13
kthakore hi Austin
Austin Released parrot continues to not build.
And now trunk is also broken...
Hello, kthakore.
kthakore Austin: looks like you are busy .. I was gonna pounce for help' 17:14
Austin: Coke says it is my MO
Austin I'm not busy at all - no parrot.
What kind of help do you need?
kthakore Austin: I am try to do TT 1639 17:15
Austin: I don't know where fixed_8 is set for a stringhandle mascerading as a filehandle
17:16 rurban joined
Austin Probably a default 17:16
kthakore Austin: but it doesn't do it when the StringBuilder is not used ..
Austin Hmm 17:17
Here's a question
Could you write StringHandle as a pir or nqp class that uses stringhandle?
Sorry
that uses stringbuilder?
kthakore I don't know
it is using STRING * 17:18
in trunk
Austin Ah
kthakore i was trying to swap for StringBuilder
Austin Okay.
That probably won't work.
kthakore but as soon as I do SELF = Perl_io_open
in StringHandle.open
Austin: but then why was that ticket openned? 17:19
Austin: it is working for all 24/25 tests
Austin Heh
kthakore Austin: jsut instead of utf8 on open'd StringHandle
Austin I'll bet that Perl_io_open magically knows about strings
kthakore it has encouding fixed_8
dukeleto bubaflub: the general issue is that Parrot::Configure uses modules which use Parrot::BuildUtil, so trying to use Parrot::Configure in Parrot::BuildUtil blows up
kthakore Austin: I looked at it
bubaflub dukeleto: ok, that makes sense 17:20
dukeleto: so how should i get some of that path information into Parrot::BuildUtil?
cotto seen allison
purl allison was last seen on #parrot 13 days, 20 hours, 20 minutes and 49 seconds ago, saying: NotFound: that removes the roadblock, so someone can work on it when inclined [Jul 8 20:59:36 2010]
kthakore Austin: it doesn't set the encoding
Austin Okay
But the encoding is set, anyway, despite the absence of an explicit setting, yet?
kthakore all it does is
Austin *yes? 17:21
kthakore Austin: no the test I am refering to sets teh enconding
Austin Okay
kthakore then opens
dukeleto bubaflub: sometimes re-ordering 'use' statements can work, but I don't think that will work here. There is a way to get around this, I am trying to remember :)
kthakore the readall
t/stringhandle.t
err
t/pmc/stringhandle.t
readall() with open and utf8 17:22
as soon as I do open
the encoding changines
but if I don't open and do readall 17:23
no change in encoding
open/no readall -> fixed_8 , open/readall -> fixed_8, no open/readall -> utf8 17:24
and if both off it is fixed_8 17:25
dukeleto bubaflub: we may have to store the data we need in a different module to break the circular dependency 17:26
Austin which test is this?
bubaflub dukeleto: yeah, or recalculate it for that module. once i can get a Parrot::Configure object, we're all good
Austin opened stringhandle?
kthakore Austin: readall with utf8 and opened 17:27
Coke Austin: I see no tickets for "release doesn't build", nor any failures in tinder.
kthakore Austin: let me paste
Coke so... maybe it's just you? =-)
dalek nxed: r571 | NotFound++ | trunk/winxedst1.winxed:
operators *= and /= in stage 1
Austin Coke: Of course it's just me.
Coke what's the error?
purl it has been said that the error is KABOOM!
Austin The released version gets "out of memory" errors, which also happened in 2.5 but not in .4 17:28
nopaste "kthakore" at 192.168.1.3 pasted "fail" (14 lines) at nopaste.snit.ch/22209
Austin The trunk version gets something else 17:29
Coke so these are a month old?!
Austin kthakore: There's a difference between the pmc and the string it returns.
Coke well, <selfish> at least it wasn't me, then </selfish>
Austin Coke: Yeah, it's nobody's fault but mine
Coke but, tickets would be nice. knowing where the build failure occurs, how much memory you have allocated, etc. 17:30
kthakore Austin: what?
Austin kthakore: you're calling readall but don't seem to be storing anything into the stringhandle first.
Coke I would do a fresh svn checkout, dump your ulimit settings, do a config and build and throw everything into a ticket.
and also open a ticket for whatever you're seeing in trunk.
Austin Which probably (I can't test it) means that hte stringhandle has either an empty buffer or a null pointer, and it's returning one of those things as the string for readall.
Coke which isn't that different from the release.
obviously, the release worked for me (on a machine with "only" 1g, even, linux), and I just built trunk for rakudo on darwin with no problems. 17:31
kthakore Austin: that is not my code
Austin: that is the test 17:32
Austin: t/stringhandle.t
Austin okay
kthakore err
Austin s/you/someone else/
kthakore t/pmc/stringhandle.t
Austin: how to fix it?
Austin At a guess, write something into the stringhandle before calling readall.
I don't know what the spec is for the stringhandle's set-encoding operation(s). 17:33
kthakore ok ...
nopaste "Austin" at 192.168.1.3 pasted "problems in trunk" (18 lines) at nopaste.snit.ch/22210
Austin Coke: nopaste coming with trunk problems.
^^
I can't imagine someone really needed to change the definition of CONST_STRING, but ... 17:34
cotto_work ~~
Austin Hello, cotto_work
Coke Austin: did you realclean? 17:38
(did you /svn/ clean?)
did you pass any options to Configure or make? 17:39
(just standard boilerplate level 1 support)
Austin What's an svn-clean?
For my release builds, I just svn co to a new dir. 17:40
parrot-2.5.0 or parrot-2.6.0 or whatever
I'm rebuilding parrot-dev after a realclean now.
Here's the weirdness: the release builds are out-o-memory'ing at the second call to pmc2c.pl - fixedintegerarray. The trunk builds have no problem with that. 17:41
moritz is there a check for NaN-ness of a number in PIR? 17:46
darbelo Comparing it to itself? 17:47
bubaflub moritz: on line 54 of t/dynoplibs/trans-infnan.t
there is some examples of tests for NaN
Austin isnan? 17:48
moritz bubaflub: that just seem to do string comparison
bubaflub moritz: ah, yeah that's true
Austin nope 17:50
Coke Austin: what is "parrot-dev" ?
moritz Austin: I tried isnan before aksing :-)
Austin Coke: trunk 17:51
17:51 theory joined
Coke I am pretty sure for nan checks in partcl I did eq $Nx, "NaN" ... checking... 17:51
Austin As of <cough> minutes ago. Maybe an hour.
nopaste "coke" at 192.168.1.3 pasted "nan check in partcl" (12 lines) at nopaste.snit.ch/22211 17:52
moritz so, string comparison too
Coke It may no longer be the recommended way, but it works. 17:53
Austin Hmm...I sense an IsNAN opcode ... 17:56
coming soon to a parrot near you..
NotFound if $Nx != $Nx 17:57
Austin Hmm 18:00
Coke NotFound: yah, that's probably better. =-)
Austin Does same return true for nan?
Coke I am sure there is a reason I didn't use it but it works in my sample here.
particle yes
NotFound A NaN is not equal to itself.
particle NaN != NaN
Austin No, it's memory based. nm 18:01
darbelo Coke: It should work everywhere, the IEEE says so. 18:02
Coke darbelo: you assume we follow IEEE. =-) 18:03
Austin Coke++ 18:04
The realclean seems to have pushed back the parrot-dev failure.
particle we follow ieee 746
NotFound IEEEE: Institute of EvErywhErE
Coke and no, it breaks tcl, so I'm assuming I'm missing a conversion somewhere.
Austin: always realclean. esp. if you've been gone for a while. =-)
Austin Heh 18:05
Coke note that "NaN" DOES == "NaN", which is probably tcl's problem.
Austin I don't normally use parrot-dev, so I have no habits there... :(
particle "NaN" eq "NaN"; NaN != NaN 18:06
darbelo Coke: The code assumes ieee functionality, it used to be a problem with OpenBSD, before libc got made IEEE-er.
Coke particle: yes. and my nan checker is a macro that I apparently call with either strings or nums. =-)
18:14 bubaflub joined
tcurtis moritz: ping 18:20
dalek nxed: r572 | NotFound++ | trunk/winxedst1.winxed:
allow $ in identifiers in stage 1
18:25
darbelo ƱƱmƱnbv 18:30
Coke Ā¬Ć–āˆš 18:34
Austin sings, "Carmelita, hold me tighter! I think I'm sinking down..." 18:40
KatrinaTheLamia giggles
Austin Not a Zevon fan, Katrina?
KatrinaTheLamia Ah--Carmelita... have we had any recent bike shed colour discussions on her lately that I missed?
Warren Zevon? The songs I have heard, I did like. 18:41
Austin Without promising anything, bike-shed-color-wise, Carmelita is a Zevon song.
KatrinaTheLamia ah... IIRC it is also the Perl 6 mascot's name 18:42
tcurtis KatrinaTheLamia: Camelia.
purl somebody said camelia was latin
KatrinaTheLamia ah! Okay... thank you tcurtis
moritz tcurtis: pong
Austin no, camelia is a latin word meaning "badly drawn logo." 18:43
purl okay, Austin.
Austin camelia?
purl i think camelia is a latin word meaning "badly drawn logo."
KatrinaTheLamia I dunno--I like Camelia myself... but then, I have taken enough graphic design training to know two things about it:
1) What the creator was trying to do.
2) The fact that there really is no right way to do graphic design. 18:44
Coke no, purl, camelia is perl6's butterfly logo.
purl okay, Coke.
tcurtis moritz: The next thing I'm going to be working on for my GSoC is something like LLVM's PassManager (llvm.org/docs/WritingAnLLVMPass.htm...ssmanager) and its various Pass classes(ModulePass/FunctionPass/LoopPass, etc.).
KatrinaTheLamia There are plenty of wrong ways... but not a single right way.
kthakore hi KatrinaTheLamia
KatrinaTheLamia hi kthakore
NotFound The Rorschach way is good 18:45
kthakore KatrinaTheLamia: what up!
KatrinaTheLamia: I have stuff to show you! yapgh.blogspot.com
KatrinaTheLamia: see the video
dalek nxed: r573 | NotFound++ | trunk/winxedst1.winxed:
scientific notation in stage 1
KatrinaTheLamia eeps
nxed: r574 | NotFound++ | trunk/winxedst1.winxed:
codingstd fix
kthakore KatrinaTheLamia: youy better eep!
KatrinaTheLamia: :p
tcurtis moritz: I'm thinking about what kinds of FooPass classes would be useful for Parrot. FunctionPass and LoopPass seem like something directly analogous would be useful in PAST. 18:46
KatrinaTheLamia kthakore: not much... got committed for two weeks in June. Had hypothermia to start of 2010. Followed by some furry based drama occurring. Now my dreams include me mentioning that 2010 is being hard on me.
moritz tcurtis: sorry, I'm kinda too distracted for deep thoughts at the moment... hope to get back to you in an hour or so
tcurtis moritz: That's fine. 18:47
KatrinaTheLamia kthakore: though, hopefully I can get some solid work on Jerl 6, Virtual Girl, Lamia and libNIMH before whatever the next catastrophy to hit occurs.
Coke KatrinaTheLamia: ƔƓ
KatrinaTheLamia Coke: Jerl 6 came about from joking around Timtoadie when I probably should have just kept my mouth shut 18:48
kthakore KatrinaTheLamia: that happens a lot for you doesn't it
KatrinaTheLamia Coke: do not worry, anything I figure out from Jerl 6 and Virtual Girl that is helpful to Parrot, I will try to send over to you guys
kthakore: well, I am kind of justifying calling myself "the Daughter of Eris" 18:49
Coke ah, i was more worried for you for the /previous send. =-)
NotFound If you can also send some Real Girls will be nice. There are too much guys here in proportion.
Coke we will gladly consume your code.
kthakore NotFound++
MOAR GURLZ
Coke yah, that's not helping, kthakore
kthakore cause then code is not a big pissing contest
KatrinaTheLamia Coke: oh--how 2010 has been hard on me... naw... it has been a cake walk in comparison to 2009
kthakore Coke: ^^
Coke: you just assumed I did it for pervie reasons 18:50
KatrinaTheLamia as technically it was still 2009 when I got hypothermia >.>
AND I have yet to have a single computer explode in 2010.
kthakore Coke: i want more girls in code because men write code and then argue like babies
Coke: big pissing contest
Coke kthakore: you're not from around here, are you? 18:51
KatrinaTheLamia kthakore: girls still argue in code... it is just... we get a lot more passive aggressive about it.
tcurtis kthakore: sexism--
kthakore tcurtis: what really?
tcurtis: I just had a fight about tabs v.s. spaces
Coke: no not so much... educate me
Coke I haven't really seen that in #parrot. have you?
KatrinaTheLamia would love to point out that you can set up vim|emacs to turn tabs into spaces BTW 18:52
Coke: to be fair, pretty much every time I turn over to here, I just see a long list of commits that have been made, via the bot.
NotFound We don't fight about that, just commit a fix.
kthakore Coke: no I haven't but I was talking about OS in general
particle KatrinaTheLamia: and parrot's source code has editor hints to do that 18:53
KatrinaTheLamia particle: it is almost like it is something silly... or maybe just good sense... and not something to bicker about.
maybe one day, we shall solve the matter of vim being better than emacs as well
KatrinaTheLamia hides from the napalm that is going to come her way
kthakore ^^^ see it is not just me how thinks fights happen 18:54
jeez
NotFound I have a clean solution: I use my own editor X-)
kthakore NotFound: hah ... that is one way out of hell
particle points NotFound to #padre
KatrinaTheLamia NotFound: is it based on `ed` or butterflies? (just to make sure)
NotFound particle: text mode only.
KatrinaTheLamia kthakore: keep in mind, this is the Perl community--while these debates do appear... here, they tend to just go into the territory of plain silliness 18:55
Coke kthakore: I had assumed your comments were parrot specific, my bad.
NotFound Is a thing I wrote some time ago for coworkers unable to learn vi and machines barely capable of installing anything big.
kthakore tcurtis: Coke: Maybe I generalized too much 18:56
NotFound Later I added features for amusement.
KatrinaTheLamia NotFound: ah... was vim not around then?
kthakore tcurtis: Coke: But before parrot/perl I had left boost,wesnoth,python projects becuase of this silliness
KatrinaTheLamia finds that vim tends to make vi way less of a pain for people.
kthakore tcurtis: Coke: I find the perl areas to be more diverse and it helps a lot. So I only wanted to encourage that 18:57
NotFound KatrinaTheLamia: I mean: unable to learn anything vi-alike X-)
kthakore tcurtis: now I want my karma back! :p
tcurtis kthakore: I did "sexism--" not kthakore (you-know-what) 18:58
KatrinaTheLamia kthakore: ah... thanks for reminding me... the plan is after Jerl 6 and Virtual Girl are at a stable level, I want to work on Jython 3... and maybe a version of Jython that is not several versions behind the current Python version >.>'
kthakore KatrinaTheLamia: heh I like how you say 'after' Jerl 6
tcurtis: oops I automagically wanted to swindle you for karma 18:59
tcurtis: my bad :p
KatrinaTheLamia: if I did Jerl 6 tehre would be no after for me
KatrinaTheLamia: that is why I am afraid to get into Rakudo
KatrinaTheLamia: it might be too much fun
KatrinaTheLamia kthakore: well, after Jerl 6 is at a stable level that is. I mean, that would indicate that they have unveilled that Halo was really Duke Nukem Forever, Starcraft 2 has hit the market, and KidRadd.Org is online.
NotFound What's Jerl? Perl for JVM?
KatrinaTheLamia NotFound: yes 19:00
kthakore NotFound: I heard about it a while back
KatrinaTheLamia NotFound: Virtual Girl is also a debugger/compiler/decompiler/deadcatthingy to work with the JVM, specifically for working with Android and HTC
kthakore NotFound: I was really tempted to try .. but I wanted to pass my exams too
tcurtis KatrinaTheLamia: Starcraft 2 is going to be released 2 days before Rakudo *(i.e., the 27th of this month). 19:01
KatrinaTheLamia NotFound: the idea is Jerl 6 talks with Virtual Girl to function in any way.
NotFound KatrinaTheLamia: nice plan
KatrinaTheLamia tcurtis: so all that is left is Halo to reveal Master Chief is real Duke Nukem, and for KidRadd.Org to come out in Decembre 21, 2012. 19:02
kthakore isn't there already a Perl6 imple on JVm some place? 19:03
Coke Not that I know of. Check in #perl6 on freenode.
NotFound Someone want to write a JVM backend for winxed? ;)
KatrinaTheLamia I think it was in #perl6 that I was joking about it infront of Larry Wall, to which he said, "you know, that is a good idea"... hence why I am doing it. 19:04
kthakore Coke: ok
moritz KatrinaTheLamia: you know that Larry reads the logs here too, occasionally? :-)
kthakore *gasp*
kthakore gets back to work 19:05
kthakore shuffles bit here
KatrinaTheLamia moritz: yeah--which is why I really keep my jokes to a minimum here as well
kthakore shuffles bit there
kthakore shuffles bit here
kthakore shuffles bit there
KatrinaTheLamia moritz: as well it means less work for me, due to less saying things that amuse Larry
tcurtis KatrinaTheLamia: weird. I usually decide to try projects like that when it seems like a bad idea. :) That's how my plans for a Perl 6 -> LLVM compiler in Perl 6 came about. 19:06
KatrinaTheLamia should open up her editors... and work on one of her projects.
tcurtis Of course that's also why it's probably not going to support more than "my $a = 42; say 42;" in the next month. 19:07
KatrinaTheLamia tcurtis: well, I was mostly making a joke suggesting that Jerl 6 would be the biggest blasphemy out there. Perl for Java users. Larry mentioned that it would get Perl 6 into the enterprise market.
and... I kind of had no choice but to agree. 19:08
NotFound Next step will be Perl on Rails ;)
kthakore HAHAHA
HAhah
no
KatrinaTheLamia LOL
kthakore ...
please no
KatrinaTheLamia NotFound: we have better: Catalyst.
tcurtis I was lucky enough to only suggest it to masak.
KatrinaTheLamia From what I have read, Catalyst appears to work similar to Rails... but only because Rails really has no real documentation on it, so to speak. 19:09
kthakore "no real documentation" Is this still a problem ...
KatrinaTheLamia For a community that goes out of there way to talk about how well documented there stuff, Ruby really sucks at actually delivering on these promises.
sorear Larry doesn't just read the logs 19:10
KatrinaTheLamia kthakore: no idea--I kind of stopped checking for ruby documentation about a year ago now... I just kind of gave up on them every really properly documentating anything.
sorear he's lurking RIGHT NOW
moritz rails has these cool video tuts, which is really all that the cool kids need, no? *SCNR*Ü
NotFound BTW the train on my toy demo has no rails X-)
dalek kudo: 6442956 | pmichaud++ | docs/announce/2010.07:
Some announcement updates for Atlanta release.
19:11
KatrinaTheLamia I mean, what with the large amount of "you are doing it wrong" that appears in the Python community... they at least make certain to at least do some documentation on how and why you are doing it wrong.
NotFound I fail to understand how a video is useful to learn some programming things.
Maybe I'm getting old 19:12
KatrinaTheLamia which is why I actaully kind of like PEP7 and PEP8
NotFound: that is okay... next thing you know, they will start using twitter and facebook to document stuff... or something silly like that.
wait sorear... Larry is lurking right now? He... did not just read what I just said... I mean--I really do not want to have THAT joke be said to be a good idea 19:13
NotFound A 3-D immersive playable demo-tutorial may be the Next Big Thing.
KatrinaTheLamia NotFound: ooh! And add Kinect support! Because people cannot be bothered to be interested in something without Kinect 19:14
NotFound With 3-D googles, of course.
KatrinaTheLamia: sorry, I'm a Nintendo guy.
KatrinaTheLamia I mean--books? You cannot immerse yourself into... but a demo tutorial with Kinect? You will learn everything from that!
NotFound: well, I kind of like what Microsoft has done in the console market. The PC market they suck. Console market they are pretty awesome in. With Nintendo being my other favourite. 19:15
KatrinaTheLamia looks over at her Dreamcast--poor thing... she needs to make something nice for it~ so it can know it is still wuvved~
dammit! If Larry Wall reads that... I AM NOT PORTING PARROT OR PERL 6 TO THE DREAMCAST! 19:16
X3
Chandon Why would you want an approved-apps-only computer when you could have a general purpose computer?
NotFound KatrinaTheLamia: My dream is to port parrot to the NDS
KatrinaTheLamia NotFound: wait for it--the 3DS will be out soon... port parrot to that 19:17
Chandon: yeah... the 360 and Dreamcast kind of have that more general purpose feel. Where as Nintendo tends to still be very big on the approved-apps-only thing.
NotFound In the meantime, I've do it to the N900 19:18
KatrinaTheLamia Chandon: the 360 is not quite there for it... but the Dreamcast was build without any copy protection schemes to speak of... which kind of allowed that towork.
dammit! I am going to stop talking about the dreamcast and 360... I have enough on my plate, without jokes having me do more good ideas 19:19
X3
19:20 darbelo joined
atrodo Perl 6 on the 360. What a brilliant idea! It's PPC with a c compiler, right? What could possibly go wrong? 19:20
KatrinaTheLamia atrodo: PPC yes. but typically MS has people make use of .Net and C# to make applications for it. 19:21
atrodo: which somebody already was working on Perl 6 for .Net/Mono =P
atrodo huh. Thought they had left the C/C++ option for the 360
Even better! Then we can have Perl6 on Windows!
NotFound BTW, someone knows if the opengl module can work in windows? 19:22
KatrinaTheLamia NotFound: they mostly have people use .Net for the 360 as this makes it so it is easier for them to lock down the system. However, at the same time pretty much disable any attempts to reverse engineer the 360 for purposes of Homebrew games. 19:23
er... atrodo*
KatrinaTheLamia epic tab fail
NotFound japhb: ping
KatrinaTheLamia atrodo: it was a rather brilliant move on Microsoft's part. As that is why we still do not have that many ways to break into the 360 to pirate stuff or install Linux, in comparison to NDS, PSP, Wii and PS3--as Microsoft disabled it, by allowing homebrew via .Net 19:25
A purely psychological move on the part of Microsoft--which I am quite in awe at.
sorear KatrinaTheLamia: what's this about perl 6 on .NET? 19:26
KatrinaTheLamia sorear: oh, somebody jumped into #Jerl6 a few months ago, asking about what I was doing. They mentioned that they had done work to port Perl 6 to either Mono or .Net. 19:27
moritz KatrinaTheLamia: was that diakopter?
KatrinaTheLamia moritz: yeah... it may have been.
why?
moritz KatrinaTheLamia: because that's what he's been doing :-) 19:28
KatrinaTheLamia ah--okay. It is a small world for Jerl
Jerl in a small world...
I will figure out the pun
sorear I have a mostly-independant Perl6 on .NET implementation
KatrinaTheLamia sorear: perhaps open a line of communication with diakopter? I mean--just to figure out what each of your .Net implementations do best--and work with each other on those goals. 19:29
I mean--yes, this is a small world for Jerl, but it is certainly big enough for two .Net implementations with different enough goals. 19:30
cotto_work Mmmm. Goats.
nm
KatrinaTheLamia Between memory consumption, compile speed, running time, end binary size, etc.--you can have two compilers for one langauge that have different places/reasons to be used. 19:31
sorear KatrinaTheLamia: it's only mostly independant because it started as part of diakopter's work
KatrinaTheLamia ah... a fork then. Ah okay--well then, it is all the more important to maintain communications with diakopter ;p
sorear there was, however, a major miscommunication in goals 19:32
KatrinaTheLamia should probably get to work on her goats.
sorear diakopter wanted a minimalist self-hosting runtime, I wanted to experiment with optimizing cross compilers
cotto_work diakopter's goat sounds a lot like Lorito. 19:33
KatrinaTheLamia ah--okay... that is understandable sorear
sorear hasn't actually gotten to the "optimizing" part
KatrinaTheLamia my goat with Jerl 6 and JVM sounds like sorear's .Net goat
s[JVM][Virtual Girl]
atrodo NotFound> ping 19:38
NotFound atrodo: pong
kthakore hehe
atrodo: NotFound: playing ping pong?
good game isn't it?
NotFound I won 19:39
atrodo NotFound> pmichaud tells me you are one of the ones to talk to about parrot's exceptions?
Yea, my ponging average is low
NotFound atrodo: I deny everything ;) 19:40
atrodo Perfect. How do exceptions work in parrot now? 19:41
NotFound atrodo: that's a veeeery big question.
kthakore NotFound: so by extension this should be a veeeery tiny question 'How doesn't exceptions work in parrot now? 19:42
NotFound: :p
NotFound kthakore: ah, you mean the quality of the implementation...
atrodo haha
kthakore heh 19:43
NotFound AFAIK now they can work well if you are careful.
kthakore NotFound: tat seems to be the case everywhere
atrodo NotFound> Basic overview?
kthakore parrot ... that bird seems to have a razor sharp entrails
NotFound The current problems are related to exceptions thronw from inner runloops. You need to use the finalize opcode to avoid that kind of problems. 19:44
kthakore w/e I am dying 19:45
I am goign to make one last attempt by posting on the mailing list
then I give up
*sigh* ... I need to free up tuits for SDL::Manual
NotFound In the exception handling code, after deciding that you are not going to resume, use finalize an it does unroll any possible inner runloop left.
atrodo NotFound> inner runloops?
NotFound atrodo: pir calling C calling pir.... 19:47
For example, a vtable override is run in a inner runloop.
kthakore NotFound: that seems .... weird?
NotFound kthakore: welcome to hell. 19:48
atrodo NotFound> So, I'm a parrot program, happily running my parrot code, I call a vtable on a PMC that is actually C code. That code then dispatches some PIR code that raises an exception and all hell breaks loose? 19:49
cotto_work inner runloops happen fairly often. 19:50
NotFound If you use finalize in the handler, problem solved... known problems, at least.
atrodo But it's that C layer that will cause the problem, right?
cotto_work NotFound: the primary question is about how Lorito needs to support exceptions.
Chandon Is there some special reason why inner runloops get used rather than saving a continuation and just using the existing runloop with that as the return continuation for the inner code?
cotto_work i.e. what primitives can it provide that we can use to build something sane 19:51
NotFound Chandon: the reason is that C don't have continuations.
atrodo Chandon> I would venture that the C stack is the issue
kthakore NotFound: thank you .. it is warm in here
NotFound: can I ask rather bluntly ... How is adding more features before cleaning stuff up going to help you guys? 19:52
I mean ... everthing I ask is like .. 'This depreceated" ... ugh so why wasn' it changed when it was depreceated? 19:53
NotFound: I am not trying to complain ... but it seem like a lot of engineers tryin to fix the problem different ways ...
or I am just cranky and tired
because of this one test
NotFound kthakore: Is more like too much problems and too few people. 19:54
kthakore NotFound: so ... can you guys not do focused work?
NotFound: it seems chaotic to me
NotFound But yes, I think that sometimes the problem is too much engineering.
kthakore the svn log looks all over the place
how about freeze out 9/10 areaas 19:55
work on 1 thing
all of you guys
and then move on?
cotto_work kthakore: how do you enforce that?
tcurtis kthakore: Part of the problem with that is that not all of Parrot's contributors are capable of hacking on every part of it.
atrodo NotFound> my lorito motto: Less magic == more magic. More magic == magic explosions.
cotto_work what if the target area is something I don't feel comfortable hacking on?
kthakore cotto_work: Tell PEOPLE not to touch other stuff
cotto_work: I also yell at them ... it seems to work 19:56
cotto_work So say "We don't want your contribution this week."
kthakore tcurtis: yeah ... I am seeing that
cotto_work: yes! just until something stable is made ...
atrodo kthakore> that works a lot better when they're not volunteer's. It's quite a low bar for them to just leave
kthakore atrodo: that is cause you guys are afriad they will 19:57
atrodo: I bet if the foundation is more stable moer people (like me)
will jump on
because it has some where to grow from
like a vector rather then a virus
atrodo: you underestimate how much fun hacking parrot is 19:58
NotFound kthakore: I used to think like that. Until I realized that the better way to have a more stable parrot was to start working on it.
atrodo NotFound++
kthakore NotFound: hey, I am still running gdb on that shit right now
NotFound: and getting no where
NotFound: I haven't stopped hacking 19:59
cotto_work kthakore: it sounds like what you're saying is that we should make parrot more stable by not fixing most parts of it except during the right time period.
kthakore cotto_work: yes
find the most crufty party
cotto_work That's how it works when you're getting into a project.
NotFound And parrot *is* a lot more stable since then.
kthakore fix that and spiral outwards
atrodo what would actually happen is people that arn't interested in that crufty part would just not hack while that was being worked on 20:00
kthakore atrodo: but someone has to fix that
I mean ... how .. will ...
bah I don't know
kthakore goes back to hacking StringHandle ... 20:01
cotto_work kthakore: we have ways of dealing with breaking changes that affect other subsystems.
branches aren't great, but they're good enough 20:02
kthakore cotto_work: ... ok if you say so
tcurtis kthakore: Consider Lorito: that's probably the biggest most important overarching goal right now. There's a great number of different aspects of achieving that that can all be worked on simultaneously. E.g., someone can be working on designing a better object model; someone can be working on replacing IMCC; someone can be working on getting more stuff like ops2c/pmc2c on top of Parrot to make it easier for us to change and to work with the rest of Parrot be
NotFound kthakore: I've already said you a simple step to improve StringHandle
kthakore NotFound: I did it
NotFound: go so see my TT 1639
NotFound: one last test to pass
tcurtis Someone can be prototyping it and and exploring what ops we need at the lowest level.
kthakore fixed_8
NotFound: the other areas StringHandle internals are messed with are already moved 20:03
NotFound: It works now
NotFound: except some POS is seting the encoding to fixed_8
NotFound kthakore: where? On your local copy?
kthakore NotFound: ok this is the test for 'readall() utf8 encoding on open stringhandle' 20:04
NotFound: after opening and readall instead of utf8 the encoding is magically fixed_8
NotFound: this happens in open() method of stringhandle when it call Perl_io_open and sets Self
SELF
...
but I don't see a fixed_8 any wahere 20:05
20:05 avar left
NotFound kthakore: my point was that that simple step can be a patch in its own, and be quickly commited. 20:05
kthakore NotFound: ah ... that would be more logical 20:06
kthakore cries
ok
:D
new PLAN!
kthakore hugs Coke to get high
:D
NotFound: I will be back
NotFound: with incremental patches
:D 20:07
NotFound kthakore: good
20:07 theory joined
kthakore but first a break to stop eyes from bleeding 20:09
atrodo NotFound> back to the exceptions thing, how does parrot exceptions work with cps?
NotFound atrodo: I don't have answers for generic and architectural questions, please come down to earth ;) 20:11
KatrinaTheLamia and... back... Vixita here died 20:12
atrodo earth? Aw man, I hate that place
kthakore atrodo: heh 20:13
NotFound atrodo: then try fly.winxed ;)
KatrinaTheLamia wonders if whiteguy.prettyfly will ever appear 20:14
X3
japhb NotFound, pong
atrodo It's now on "the list"
NotFound japhb: the opengl module can worh in windows?
work
japhb NotFound, I believe it worked at one point. I don't know if anyone has tested it recently. 20:16
NotFound More specifically, in parrot built with Strawberry perl
japhb Now that, I dunno. As long as the OpenGL headers are in a known location, that directory can be added to the list in config/gen/opengl.pm and someone can just try it. 20:17
KatrinaTheLamia updates the topic of #Jerl6 ... now Virtual Girl is just refered to simply as a JVM Deadcatthingy 20:20
So much simpler that way. Now my goats can be worked on easier
cotto_work Maybe Lorito should just have a magic_dtrt op. 20:30
moritz that could be implemented as a libjustdoit wrapper 20:31
cotto_work documentation: does what you need it to do
moritz lists.debian.org/debian-devel/2005/...00004.html
kthakore moritz: also libpleasework
atrodo and it's cousin libjfdi
kthakore atrodo++ 20:32
dalek kudo: 56b25a2 | moritz++ | tools/contributors.pl:
[tools/contributors.pl] avoid Mojibake
kudo: 9c90c2f | moritz++ | docs/announce/2010.07:
[docs] update contributor list in release announcement
20:37 theory joined
Coke cotto_work: we did at one point have DWIM opcode. 20:59
*a
cotto_work I'd wager that it didn't. ;) 21:00
tcurtis cotto_work: hcf didn't actually catch your computer on fire, did it? 21:01
tcurtis hopes not.
cotto_work why do you think it was removed?
Coke tcurtis: it did its best to generate a segfault.
dalek kudo: 08809ca | (Solomon Foster)++ | src/core/Int.pm:
Add the notdef check to Int.sign.
21:02
kudo: 9c4bd55 | (Solomon Foster)++ | src/core/Int.pm:
Add Int.sign so that we can take advantage of the fact our current Int cannot be
kudo: 12c5229 | (Solomon Foster)++ | src/core/Cool-str.pm:
Tweak Cool.words, implement Cool.lines.
kudo: ca32e3a | util++ | (2 files):
[t] Change PARROT from ENV var to calculated, to fix RT#76680
21:08
tewk_ `:q 21:16
dalek nxed: r575 | NotFound++ | trunk/winxedst1.winxed:
experimental feature $include_const to import constants from parrot include
21:17
nxed: r576 | NotFound++ | trunk/winxedst1.winxed:
forgot to delete debug helper statement
nxed: r577 | NotFound++ | trunk/ (2 files):
handle hexadecimals in $include_const
21:27
nxed: r578 | NotFound++ | trunk/examples/fly.winxed:
use $include_const in fly example, accidentally half done in last commit
rrot: r48165 | darbelo++ | failed to fetch changeset:
Sync with trunk.
21:44
21:50 theory joined
cotto_work anyone have some recommended reading for the basics of advanced control flow like exceptions, continuations, coroutines and CPS? 22:01
Also, no points for mentioning LtU unless it's a specific article. ;) 22:03
NotFound cotto_work: "Crisis on infinite earths", by DC comics X-) 22:04
cotto_work Continunations. Not continuity. 22:05
22:06 cotto_work joined
cotto_work wb, me 22:08
cotto_work wonders where rgrjr is when I need him 22:09
seen rgrjr
purl rgrjr was last seen on #parrot 2 years, 84 days, 2 hours, 37 minutes and 39 seconds ago, saying: thx. [Apr 29 19:32:08 2008]
cotto_work sad fasce 22:10
sad face
purl ☹
particle he's just an email away
cotto_work also true
Coke I am pretty sure I have all but one issue of CoIE.
cotto_work rgrjr?
purl i think rgrjr is bob rogers
Coke util?
purl util is third-party.
Coke no, util is bruce gray.
purl okay, Coke.
cotto_work me?
purl cotto_work is probably always at work
tcurtis ColE? 22:11
purl ColE is the vegan treesitter babe
dalek kudo: 00848d2 | (Kodi Arfer)++ | (3 files):
Immutability and leap-second validation for DateTimes.
22:13
wagle Duke Skeleton == Dukeleton == Duke Ellington 22:30
NotFound Uh... the packfile_......pasm include files aren't installed. 22:33
cotto_work sounds like a bug
purl bzzzzzzzzzzzzzz...
darbelo Ouch. 22:34
dalek rrot: r48166 | darbelo++ | branches/gsoc_nfg/t/native_pbc (7 files):
Do the native pbc dance.
darbelo NotFound: Wait, weren't you using the packfile PMC's already? 22:36
Or did you just hardcode the numbers
?
dalek nxed: r579 | NotFound++ | trunk/winxedst1.winxed:
yet another forgoten debug statement
NotFound darbelo: I just harcoded the numbers, and now was trying to use a new winxed feature to avoid the hardcoding.
The feature works, but the pasm file isn't in place. 22:38
dalek ee-optimization: e6247c2 | tcurtis++ | setup.nqp:
chmod u+x setup.nqp
22:41
NotFound I've decided to add that feature after geting bored of copying opengl values X-) 22:42
22:48 hercynium joined
dalek nxed: r580 | NotFound++ | trunk/examples/socket.winxed:
use $include_const in example socket
22:51
23:08 kid51 joined 23:29 theory joined
dalek TT #509 closed by jkeenan++: tools/dev/install_files.pl did not care about symlinks 23:30
TT #509: trac.parrot.org/parrot/ticket/509
cotto_work Coke: ping
dalek rrot: r48167 | jkeenan++ | trunk/t/native_pbc (4 files):
Per advice from coke++, ran tools/dev/mk_native_pbc on Darwin/PPC. Committing
23:44
pmichaud from #perl6: 23:51
gist.github.com/486811 # ouch!
dalek kudo: 0d0fd7e | masak++ | (4 files):
[src/glue] translated !setup_named_enum PIR->p6

enum semantics.
23:53
kudo: 5fe1939 | masak++ | src/glue/enum.pm:
[src/glue/enum.pm] return the right things

Previously, requesting Foo yielded an EnumMap, whereas it now yields an object of some kind whose .enums method returns an EnumMap. Similarly, requesting b yielded an Int, whereas now it returns an object that responds to a number of methods, as per S12.
23:57 Psyche^ joined
cotto_work msg Coke Could you grant +rwx to the "parrot" group on for the files on docs.parrot.org so that people who aren't you can upload/fix docs? 23:58
purl Message for coke stored.