Parrotsketch Every Tuesday @ 18:30 UTC | IRC Log at irclog.perlgeek.de/parrotsketch/today
Set by moderator on 8 December 2008.
01:14 particle1 joined, particle1 left 10:12 particle joined 14:01 particle1 joined 14:25 Wknight8111 joined 14:51 contingencyplan joined 15:34 contingencyplan joined 16:20 contingencyplan_ joined 16:24 contingencyplan_ joined 16:30 contingencyplan__ joined 16:32 contingencyplan_ joined 16:35 contingencyplan joined 16:51 contingencyplan_ joined 16:56 davidfetter joined 17:24 particle joined 18:03 Whiteknight joined 18:06 rurban joined 18:19 pmichaud joined 18:23 mberends joined 18:26 jhorwitz joined 18:29 barney joined 18:30 cotto joined 18:32 allison joined
Whiteknight hello 18:34
cotto hi
allison hi
pmichaud hello 18:35
jhorwitz hello
rurban hi
Whiteknight who's driving this train?
18:35 Coke joined
pmichaud I blame Coke. 18:36
allison nominates Coke for today's MC
rurban let's wait for chromatic?
Coke Coke, as you recall, said there was no meeting today, but if you wanted to have one, that was fine with him. =-)
18:36 PacoLinux joined
allison rurban: I believe chromatic is in family Christmas stuff 18:36
Coke: ok
Coke I'm at verk, but have half a brain cell to devote. 18:37
allison?
particle hi-o
allison - Mainly worked on integrating other's branches this week.
barney servis
18:37 chromatic joined
Coke allison: hokay. 18:37
allison - Started the branch for the GC refactor, and spent some time planning it with chromatic and Whiteknight.
- Also traveling with family stuff. 18:38
EOR
Coke k. Barney?
barney Pipp:
Remove the alternative frontends from Pipp.
Applied patches from Daniel Keane: 'elsif' and 'do-while'
Add implementation of 'eval'.
Put PHP functions into hll root namespace 'pipp'.
Put internal functions into hll root namespace '_pipp'.
Parrot:
Update function doc for Parrot_register_HLL().
Requested documentation of the default hll root namespace.
Nudge pmichaud++ into implementing .hll() on PAST::Block.
reserve 1 q
.eor
Coke k. chromatic?
chromatic Profiled op-level MMD, found three places to optimize.
Waiting for GC branch tasklets. 18:39
Will look at Gabor's Parrot::Embed questions; hope to improve things for Padre.
Will review lathos's NCI generator update, but it looks good now.
Happy to look at any segfaults reproducable from PIR.
END
Tene Oh, there's a meeting here. I forgot again.
Hi.
Coke see partcl.blogspot.com/ 18:40
now running 5 more spec tests (regressed on one.) Thanks to some folks on #tcl
have a lead on a fix for a dozen more that I hope to complete this week.
(involves getting a barely functional [trace] working.)
exit;
cotto?
cotto * randomized the per-interp hash seed (child interps inherit the seed from their parent so I don't have to mark anything shared)
* knocked off a bunch of Coverity defects
eof
q1q
Coke jhorwitz: ?
jhorwitz mod_parrot is still blocked due to the IO merge. waiting on either a subclassable FileHandle PMC or a string IO version of FileHandle, which i discussed with allison. since all 0.5 milestones are completed, i may branch so i can keep working.
q1q
EOR 18:41
Tene Did we meeting last week?
Coke tene, why don't you report now.
and yes.
Tene Looks like a lot of exceptions work.
CATCH and CONTROL in rakudo
continue/break in given/when
resumable exceptions in rakudo 18:42
started on loops refactor with pmichaud++
still a few issues to work out with that
KTHXBAI
Coke k. rurban?
rurban * started working on the cygwin release and install patches again. 51 .rej files todo. allison already applied some minor stuff, but there's still a lot missing. eor
Coke k. Whiteknight ?
Whiteknight =Misc 18:43
- released 0.8.2
- removed compilers/bcg/*
- refactored Integer.pmc to use VTABLEs instead of direct MMD calls
- closed a few RT tickets that I've been sitting on
- a few updates to old files in docs/
=branches/pdd09gc_part1
- updated gsoc_pdd09 branch to get a clear diff of changes
- created src/gc/marksweep.c to hold the old MS collector. Would like to merge this change to trunk soonish
- tried to slim down the IT collector from branches/gsoc_pdd09 for use in the new branch
=JIT
- Worked on removing exec code from .h files in src/jit/
- Able to update src/jit/amd64/*
- created the branches/jit_h_files/ to work on src/jit/ia32/*. More convoluted then I expected, so going is slow.
- I don't have access to other platforms for testing
- Looking to improve JIT coverage on amd64, idly poking and prodding at this
EOR
Coke any other committers that want to report? 18:44
pmichaud raises hand.
Coke whoops.
Ok, i suppose you can go. =-)
particle !
pmichaud I didn't accomplish much this week. Only:
** Rakudo spectests (r34267): 264 files, 5833 passing, 0 failing
+694 passing tests since last #ps.
== Parrot stuff
: updated non-ICU unicode strings to recognize more ALPHABETIC and WORD types
: corrected .arity method on Sub PMCs
== PGE stuff
== PCT stuff
: added "hll" attribute to PAST::Block nodes, based on barney++ nudge
: working on loop refactor, should finish shortly (< 2 hrs)
== Rakudo stuff
: resolved lots of RT tickets 18:45
: updated 'sort' to be a stable sort
: fixed infix:<cmp> and other Pair methods and functions
: refactored Mapping methods
: refactored initialization, use, and MAIN handling
: converted \\d[...] to \\c[...]
: fixed unicode hyperops Ā»+Ā«
: cleaned up IO.readline and prefix:<=>
: added radix support to string-to-number conversion
: applied patches from cspencer++, bacek++, and others
: added +/- Inf, NaN support
: added whatever * to array slices
EOR
Coke woof.
particle?
particle ~ mainly infrastructure and accounting items this week 18:46
~ some discussions with designers/developers on various parrot/pct/rakudo topics
~ missing io sockets implementation has broken some examples (e.g. http.pir) and blocks progress on an http server written in perl 6 (willing contributers available)
~ i'd like to remove all unused or unfrequently used code from parrot, including stm, certain runcores, and certain garbage collectors
.end
Coke I will interject a question: there's a TT about the old streams.pir library that's now borked, in re: your sockets note. 18:47
ok. barney, you had a question?
allison particle: +1 on removals 18:48
barney Anything speaking against trac.parrot.org/parrot/ticket/85
Coke barney: +0 18:49
barney Being able to set the hll root from embedders
Whiteknight +1 from me
allison Coke: your reservations?
chromatic +0.1
Coke allison: more of a no opinion. 18:50
as opposed to a -1
particle abs(-1)
Coke barney: looks like no one's objecting...
chromatic We need a way to access namespaced symbols, but I'm not sure adding a stateful API call is the right approach.
allison barney: it looks like a workable solution for now, no caps in function names, though so "Parrot_set_hll"
rurban You must set the HLL to find a symbol in other namespaces?
allison or "Parrot_hll_select"
chromatic If we do this, we'll also need a way to access symbols in other HLLs and namespaces. 18:51
Coke rurban: no. you can do get_root_global ['hll'], 'foo'
allison (following the convention that the first word should indicate the subsystem)
chromatic Coke, you can't do that from Parrot::Embed.
It's not easy to do that from C either.
Coke hokay.
jhorwitz if we have that, we will also need a Parrot_get_hll... 18:52
allison jhorwitz: that's a good idea anyway 18:53
barney There is an exported Parrot_get_HLL_id
allison barney: which is a terrible name
jhorwitz concurs
chromatic What we currently export shouldn't imply any design rationale.
allison but, can be simply renamed instead of reinvented 18:54
chromatic That is, there's no coherent rationale behind our list of exported symbols.
allison chromatic: true, but we should clean up as we go along
chromatic I want to change my vote then. -1
allison chromatic: reasoning? 18:55
chromatic The request is to access symbols in a given namespace.
allison i.e. the solution isn't a direct response to the stated problem? 18:56
chromatic Suppose you want to access symbols from multiple HLLs.
Exactly.
barney szabgab wants that for calling PHP function from Padre
chromatic You write: Parrot_hll_set( 'Foo' ); Parrot_get_global( 'bar' ); Parrot_hll_set( 'Baz' ); Parrot_hll_get( 'other_bar' );
... and then you shake your fist at the sky and say: 18:57
allison yes, we should probably have a way of calling a function from a particular HLL without actually setting the current HLL
jhorwitz you can do that now
chromatic "Why didn't you give me Parrot_get_global_from_hll( 'Foo', 'bar' )?"
jhorwitz but it involves knowing the namespace
pmichaud Parrot_get_hll_global (to match the opcode, perhaps)?
chromatic Sure, that's a better name.
jhorwitz i like that, but then you also need Parrot_set_hll 18:58
allison ok, so that's the direct response to the stated problem
chromatic Why do you need Parrot_set_hll?
barney When calling a function in a HLL, the current_HLL might be expected
jhorwitz i guess you don't if you include the HLL in Parrot_get_hll_global
(the opcode doesn't)
allison but, yes, in general most things we can do from PIR, we should also be able to do from C
pmichaud oh, sorry. Parrot_get_root_global( 'Foo', 'bar' ) 18:59
(to match the opcode)
jhorwitz is correct that get_hll_global finds a symbol in the current hll
chromatic I disagree about the necessity to have C and PIR isomorphic through the embedding interface. 19:00
Any non-trivial C program which uses the external interface will end up looking a lot like inlined opcode bodies.
jhorwitz i agree w/ chromatic here. we have Parrot_find_global_*
barney Parrot_find_global_* is really Parrot_find_hll_global_* with the HLL 'parrot' 19:01
chromatic Besides, mostly I (or someone else suitably crazy) can address Gabor's needs within the XS of Parrot::Embed anyway.
I think.
allison the find* alternates were all deprecated years ago 19:02
particle where is namespaces pdd on the roadmap? this seems directly related. 19:03
pmichaud (point of clarification: the find*global alternates are deprecated. Other find* ops still exist.) 19:04
allison pmichaud: yes, good clarification for the record 19:05
Coke so, barney, is your question answered? =-)
allison particle: 1.1, April release
barney A problem is that most HLLs don't use the scheme layed out in PDD21, with hll root namespace 'lang' and '_lang'
Coke barney: tcl does, fwiw.
particle it might be that tcl is the shining example here 19:06
barney Pipp is following that lead
allison barney: would shifting the languages over to using that scheme for private language namespaces resolve part of the problem?
barney No, shifting over to that scheme caused the problem. 19:07
Coke tcl was never embedded, and so never noticed. =-)
allison barney: ah, which raises a question of whether it's a good scheme 19:08
barney find_global() in Parrot::Embed can find symbols below 'parrot', but not below 'pipp'
chromatic Parrot::Embed needs fixing. I haven't done anything until now because no one needed it until now. 19:09
allison this sounds like a bigger problem than just adding 'set_hll'
jhorwitz barney: you can do what you need using the existing embedding interface -- mod_parrot does it.
particle sounds like we need find_root_global that searches from the root, and don't need set_hll at all
barney Another issue is that whoever uses the op get_hll_global depends on the value of current_HLL in the interpreter 19:10
allison barney: where does that cause conflicts? 19:11
should 'get_hll_global' search both 'lang' and '_lang'? (first one and then the other) 19:12
barney If you have one interpreter calling subs from different HLLs
when subs in the HLL use get_hll_global
Coke allison: no.
allison ok, yes *that*'s a huge problem
Coke (search both)
tcl is using _tcl to hide subs from the user at runtime. I don't want them exposed. 19:13
allison should the HLL be set in the context instead of the interpreter
chromatic Again, anyone who's calling ops directly from C has already done something crazy. We shouldn't make it easier for them.
allison Coke: fair enough, and on the whole would prefer to keep them cleanly separated
barney sorry. I think it is set in the context
pmichaud right now, get_hll_global is in the hll of the sub 19:14
allison chromatic: but this isn't just about calling ops from C, the current HLL is also used for selecting HLL-mapped types in C
pmichaud at least from PIR.
allison chromatic: and there are plenty of C functions that are used to support the PIR ops that need access to current HLL information
chromatic The Parrot_sub struct stores an HLL_id. 19:15
barney Coke: It's not about calling ops directly, but calling userspace HLL functions, that execute some bytecode
pmichaud when invoking a sub, the interpreter switches to the HLL of the sub.
allison barney: being set in the context should be safe, it'll only affect the particular execution chain
chromatic If subs don't know their HLLs, we have interesting problems when we export subs.
Coke barney: did you mean chromatic ? 19:16
barney yes
chromatic barney, how are they calling userspace HLL functions that *don't* have an HLL set?
jhorwitz subs may know their HLL, but you have to know how to find the sub in the first place (using either namespace or HLL)
barney jhorwitz++ 19:17
allison jhorwitz: yes 19:18
chromatic Sure, but we're already talking about Parrot_find_root_global() or whatever it's called.
Everyone seems to agree that we need that and should use that. 19:19
barney extending Parrot::Embed::find_global() with a HLL probably a better solution
chromatic Exactly.
allison barney: that sounds good
jhorwitz agrees
rurban much better than set_global
barney Maybe disallow hll names starting with an '_'
chromatic I don't see the point of that. 19:20
If you're controlling Parrot from C, you have access to its pasty white underbelly already.
Document what's available and public, and then laugh long and loud at people who rely on undocumented internals when you break them and they get to keep the pieces. 19:21
allison barney: we need some convention to give languages a private namespace. It doesn't matter what that convention is. '_' works for now, until we come up with something better 19:23
jhorwitz fyi, the *official* API definition isn't due til 1.3 (6/2009)
allison jhorwitz: yes
barney Yes. User defined functions and builtins in 'pipp', internals in '_pipp' 19:24
allison barney: ah, I see, you're saying we should formalize '_' for private language namespaces, so we never get '_foo' as public and '__foo' as private. That seems reasonable. 19:26
barney That's how I understood PDD 21 19:27
allison barney: yes, I took it as so much of a given that at first I thought you were proposing entirely doing away with '_foo' as a *private* namespace 19:28
chromatic Shall we move on to the next questions? 19:29
barney Not at all. I started using '_pipp' today.
jhorwitz had a question when this one is settled 19:30
Coke we've got the queue. =-)
jhorwitz yay
right, i'm behind cotto. :)
Coke chromatic: lets. 19:31
chromatic cotto? 19:33
cotto Can we do one of the following:
- Add a PARROT_EXPORT function to get entropy from the underlying system (and a way to access that function from PIR)
- Use entropy from the system to seed the prng
chromatic Why do we need to export it?
cotto so PIR code that needs randomness can get it
(either option is fine afaict) 19:34
chromatic PARROT_EXPORT has nothing to do with PIR code; it's about whether the symbol is visible from outside libparrot at the dlfunc() level.
allison cotto: sounds like a good addition. go ahead and make it PARROT_EXPORT, we'll decide later if it's also part of the API 19:35
cotto The only issue for me is making it cross-platform.
pmichaud PIR code that needs randomness uses the Random PMC, yes?
allison chromatic: at the moment PARROT_EXPORT is necessary on windows for just about anything that isn't 'static'
chromatic I don't believe that. 19:36
allison chromatic: that's why we changed the name, so people don't think it defines what is and isn't part of the API
chromatic I recall that we changed the name because we're going to cut down on what we export and make part of the API. 19:37
allison chromatic: I'm not sure I do either, but it needs more extensive testing by windows developers, and isn't a priority until 1.3
cotto I'll write a patch for as much as I can figure out and make a TT out of it.
chromatic The reason I added GCC visibility hiding to our default GCC 4.x behavior is to get the same symbol visibility on Windows and non-Windows platforms.
allison chromatic: yes, definite progress. they're not identical, but closer. will still need some more work when we get to that roadmap task 19:38
cotto eoq
Whiteknight cotto: sounds to me like you could add a seed function to the files in config/gen/platforms/* 19:40
cotto Whiteknight, sounds good 19:41
allison looks like we lost chromatic in a network dropoff, are there any other questions?
Coke jhorwitz had one. 19:42
jhorwitz yes...
allison: mod_parrot is blocked due to the IO merge. you and i discussed a branch to start picking at the low level IO functions so we could eventually subclass FileHandle. any progress? 19:43
allison jhorwitz: I'll do that today
Whiteknight need any help with that?
allison it's not a long task
Whiteknight: I want you working on the GC branch
jhorwitz the branch isn't, but the working bits won't take long? 19:44
Whiteknight okay, I'll focus on that tonight then
allison jhorwitz: it's mainly just that I've been traveling non-stop since we talked about it
jhorwitz understood. :)
allison jhorwitz: neither is long, the code is already mostly done, just not checked in anywhere 19:45
jhorwitz ok, so the goal for this branch is to be able to properly subclass FileHandle?
or is this the string IO bit?
allison jhorwitz: which is a higher priority? creating a StringHandle to substitute for FileHandle is fastest
jhorwitz StringHandle is not optimal, but unblocks mod_parrot 19:46
allison jhorwitz: the general ability to polymorphically substitute any PMC with the right interface for FileHandle is the ultimate goal, and will only take a little longer
(and if that's what you really need, I'll just scrap StringHandle and do that instead) 19:47
jhorwitz if by a little longer you mean on the order of a few days, i can wait for the real deal. :)
allison yes, it's on the order of a few days
jhorwitz then +1 for working on the subclassable FileHandle 19:48
allison I'll be back home and settled tomorrow, and will have the rest of this week to finish that off, so should have it for you before next #parrotsketch
19:48 rurban_ joined
jhorwitz works for me. 19:48
Coke Oh, I have a semi-announcement. 19:49
jhorwitz: you all set?
jhorwitz yields the floor
Coke floor.resume()
.join()?
jhorwitz regrets his choice of terminology
Coke I have some volunteers for releases; we have january allocated.
Whiteknight ...and march! 19:50
Coke (that's chromatic). I'll make sure we have february locked in before the january release.
thanks to all who volunteered.
that's it for me; anyone else?
particle weekly reminder: trac.parrot.org/parrot/wiki/ParrotRoadmap
*lots* of tasks this month
Coke particle: any leftover tasks from 0.8.2 that didn't make it in, push them down to 0.9.0 as a higher priority? 19:51
particle already done.
pmichaud I should have pct_loop done today.
and I think we're in very good shape on PCT honors hll
Coke particle++ # coke sees his name on something. whee.
particle: "ticket sprint" doesn't mean anything to me. 19:52
allison Coke: a run of closing tickets
particle aka "bug day"
we've been making steady progress there, i think
do we need to deprecate the runcores/gc/stm? 19:53
i think not. others?
Coke adds trac.parrot.org/parrot/wiki/TicketSprint 19:54
allison: ping. 19:55
allison particle: I'd say it's worth deprecating them. it's only a one month cycle
particle ok, then, i'll updated DEPRECATED.pod and create tickets
Coke eliminating assignment syntax for some opcodes is hard.
Just want to verify that we desire spending the energy (if not now, eventually.) 19:56
particle yeah, that's better left to replacing imcc with pirc
allison Coke: yeah, not an urgent priority
particle let's leave DEPRECATED.pod review for another time, this meeting's gone on long enough.
Coke adios.
allison ok, thanks all! 19:57
19:57 rurban left 19:58 Coke left 20:00 jhorwitz left 20:12 PacoLinux left 22:02 Whiteknight joined 22:24 mberends left
particle ENOTWEETY 22:37
Whiteknight urg, the meeting today didn't get logged? 23:02
Tene I logged it! 23:05
pmichaud Whiteknight: irclog.perlgeek.de/parrotsketch/today 23:12
23:17 pmichaud left 23:43 particle left