Parrotsketch Every Tuesday @ 18:30 UTC | IRC Log at irclog.perlgeek.de/parrotsketch/today
Set by moderator on 18 February 2009.
00:04 cotto joined 00:05 Tene joined 05:00 eternaleye_ joined
eternaleye_ Hi, I asked this question in #parrot, and cotto++ pointed me here: Are there any plans for an API to access the AST for HLL code from an embedding program? I could see it being immensely useful for, say, syntax hilighting. Especially the Declaration-Use Chain stuff the KDevelop guys are doing. 05:02
06:12 rin1024_ joined
cotto pasting my report now because I won't be there Tues and I won't care to post it when I wake up. 06:18
* removed obselete and bitrotted PMC_DATA_IN_EXT
* finished *ManagedStruct ATTR conversion
* started converting MULTI methods to VTABLE functions (TT #452)
- would appreciate feedback on the submitted patch before I barge ahead
EOR
06:29 Tene_ joined 08:03 particle joined 11:45 rin1024__ joined 12:53 PacoLinux joined 12:55 PacoLinux left 14:42 davidfetter joined 14:43 particle1 joined 15:28 Tene joined 15:37 rdice joined 15:49 masak joined 16:09 masak joined
masak will miss tonight's meeting, so posting my (short) report now: 16:09
* submitted 11 rakudobugs since last week 16:10
* implemented IO.ins in Rakudo
* worked on November, Druid, proto and Web.pm
EOR
17:28 PacoLinux joined 17:32 eternaleye joined 17:34 jonathan joined 17:45 gravity joined 17:46 Util joined 17:48 Infinoid joined 18:14 NotFound joined 18:15 barney joined 18:17 jhorwitz joined 18:18 particle- joined 18:25 fperrad joined 18:28 allison joined 18:29 chromatic joined
moritz OH HAI 18:30
fperrad hello
chromatic Good $localtime
Infinoid OHAI
18:30 pmichaud joined
barney hi 18:30
pmichaud hello.
NotFound hola
jonathan OH HAI
cotto is here (contrary to what he thought earlier) 18:31
Util hi
jhorwitz hi
chromatic Shall we begin?
allison?
allison Parrot: 18:32
- Revamping the calling conventions from the roots up (rather than patching the existing implementation). About to commit that to a branch.
Pynie:
- Started the conversion to 3.x.
- Finished porting Pynie's bootstrapping tests to SubUnit.
EOR
chromatic barnie?
er, barney?
barney nothing to report
.endnor
chromatic I just branched to move source files into subsystem directories. I'm working on src/interp/ first. 18:33
cotto * removed obselete and bitrotted PMC_DATA_IN_EXT
* finished *ManagedStruct ATTR conversion
* started converting MULTI methods to VTABLE functions (TT #452)
- would appreciate feedback on the submitted patch before I barge ahead
sorry for the fat-fingering
chromatic fperrad? 18:34
fperrad * patch for linking with an installed Parrot (see TT #535),
need test on various platform
* import Cardinal on svn.parrot.org/languages/cardinal
* Lua blocker : RT #59968 ~ TT #472 (segfault when catching an exception from C)
EOR
chromatic Infinoid?
Infinoid Did some cage cleaning. 18:35
Cleaned up a little code redundancy in the sockets stuff, and applied some more nice patches from bacek++.
Fiddled a little with headerizer, with Coke++.
1;
Fiddled a little with jit, with cotto++.
chromatic japhb?
jhorwitz? 18:36
jhorwitz [meta] been on hiatus for a couple months due to $DAYJOB, but things are slowing down now.
[mod_parrot] concentrating now on stabilizing mod_parrot and mod_perl6 for PVMW and YAPC::NA
[foundation] spent lots of quality time with our accountants re: taxes.
that's all for now. EOR
chromatic moritz? 18:37
moritz * helped pmichaud++ to get parallel testing back into Rakudo
* applied some patches
* wrote and reviewed Perl 6 tests
* reviewed google summer of code applications. Speaking of which, there are two fine looking parrot proposals in there (llvm jit and wrapping libdecnum). We need mentors for them! Contact dukeleto if you volunteer
18:37 Coke joined
moritz EOR 18:37
chromatic Coke?
18:38 Whiteknight joined
Coke come back to me? 18:38
chromatic NotFound?
NotFound Busy this week, just one bug fix
EOR
chromatic particle? 18:39
pmichaud? 18:40
pmichaud * Rakudo now passing 8436 spectests (+397 since last #ps)
* Refactored handling of \\x, \\o, and \\c escapes in PGE and Rakudo
* Added more Unicode support to PGE and Rakudo
* Started PGE and PCT refactors to support source line number annotations in generated bytecode
* Added a 'find_caller_lex' opcode to allow finding lexicals in callers' scopes
eor
chromatic Tene? 18:41
tewk? 18:42
Util?
Util Tuit deficit; litle progress. 18:43
New Rakudo bug under MinGW/Win32: 1**Inf should == 1, but instead is NaN. Writing ticket now.
EOR
chromatic Whiteknight?
Whiteknight away most of the week, no real progress
reviewed a few tickets/patches
EOR
chromatic Coke?
Coke - work on getting some things headerized, trying to understand headerizer to take advantage of the documentation fixups it provides. 18:44
- ... so, partcl still stalled/dead/pining (unable to build dynops);
- RT down to 378 tickets; not much movement this week.
- Trac up to 258 tickets;
- Lots of stuff in DEPRECATED.pod that's eligible for upcoming release...
EOR, sorry for duplicate.
pmichaud q1q
chromatic Anyone else? 18:45
jonathan I have a report.
chromatic jonathan?
jonathan * Parrot
** Fixed a segfault when you compiled through compreg code that had a :init as the target of a :outer
* Rakudo
** Lexical subs and multi-subs are also working now - that took most of my Rakudo day last week
** Got START blocks working
** Converted Positional, Associative and Callable to parametric roles
** returns and of supported for sub/method declarations and mostly enforced
** Got a patch that does some of the work for typed arrays and hashes; has two failure modes which in turn fail quite a few spectests, hope to track those down and commit tonight
** Hoping to have my current Hague Grant wrapped up soon, and apply for another one right after it's done.
* Other
** Am preparing for talking lots at NPW and thinking about the hackathon following it - looking forward to it very much
.end
chromatic Anyone else? 18:46
Question time. pmichaud, go ahead. 18:47
pmichaud This past week I did quite a bit of work on unicode stuff and dealing with ICU (more)
In the Perl 6 spectest suite there is a significant (> 2k) batch of tests involving Unicode character properties 18:48
These are things like "L", "Lu", "M", "Z", "Arabic", etc.
do we have an API design yet for how Parrot can make those properites available to programs?
allison pmichaud: not yet 18:49
pmichaud any guidelines about how to proceed? Or should I just expect to not make progress on those tests for a while? 18:50
allison pdd28 is the broad strokes of guidelines
pmichaud i.e., are we likely to be looking at an opcode, a method on something, or ... ?
allison an opcode 18:51
pmichaud for the time being I can stick some methods on the CodeString PMC to do this... but that doesn't feel like the right place for it.
allison keeping in mind that an opcode would need to work for multiple character sets, not just unicode 18:52
Coke <shrug> if we don't have a plan, add them anywhere, but leave a note in DEPRECATED that it's not spec'd yet and therefore subject to change.
then you can get work done.
pmichaud we could also generalize the is_cclass and find_cclass opcodes to understand unicode property names
chromatic What do you need to do with property names?
pmichaud mainly determine if a given codepoint has the given property 18:53
chromatic "In the current character set, does this character have an uppercase property?"
pmichaud yes, but it's more "does this codepoint have the 'Lt' property?"
where 'Lt' might be any of the Unicode property names.
chromatic has_property xx, xx 18:54
?
allison and if the character isn't unicode, then the answer is clearly "no"
pmichaud well, the ascii and iso-8859-1 codepoints map to unicode, but yes, other charsets could return "no"
Whiteknight other charsets may have different notions of "property" that we need to consider 18:55
allison this sounds like it's moving into a mailing list discussion
pmichaud note that we already have constants defined for the posix properties
.CCLASS_UPPERCASE, .CCLASS_LOWERCASE, etc.
I'm totally fine with sticking as a PMC method for the time being -- I just wanted to get a sense of how to proceed for now. 18:56
It will be very easy for me to change to a different API later when one is developed.
s/sticking/implementing/ # might be easier to understand what I wrote 18:57
allison the context switch from calling conventions to character sets is a bit too much at the moment, can we talk about it on the mailing list where I'll have time to look through the code and decide what makes the most sense? 18:58
Coke chromatic: when merging that back to trunk, watch out for changes to renamed files.
ww.
chromatic Will do. 18:59
pmichaud Sure, I'll post a message to the mailing list.
chromatic Shall we review milestones now? allison?
pmichaud It's not critical priority for Rakudo but it's important.
allison pmichaud: yes, will definitely look at it this week
chromatic: is that "now is your milestone going allison?"
s/now/how/
chromatic It's "I hate reviewing milestones, save me!" 19:00
allison ah, right, okay
we have 3 this month
one is landed
chromatic The comma splice I threw in for free.
allison pmichaud: how is pge ltm & protoregex coming?
pmichaud slowly. I keep helping others with their issues. :-| 19:01
But the work has begun. :-)
allison excellent
pmichaud afaik it's not blocking others so I'm not *too* worried about it.
(and yes, it will not be ready for the April milestone. Perhaps May for protoregexes.)
allison it's not "critical" for 1.1, do you want to move it to 1.2? 19:02
pmichaud my priority for this week is to get PCT tutorials ready for NPW and other events later in the year
I'd even say move it to 1.3
allison ok, will do
my milestone for the month is a design review of pdd21-namespaces
pmichaud I have some comments on namespaces but haven't had a chance to write them up in reply to allison's message 19:03
allison I didn't get much feedback on the list, but I know from previous conversations with pmichaud that something needs to change, I just don't know what
pmichaud the main stumbling block I have now is that :method ends up placing the symbol in the namespace 19:04
allison pmichaud: even quick bullet points would be helpful, then I can look into the issues
pmichaud and we do have a need for :method :anon, but it's not the one that I put in my original ticket.
allison what's the ticket number on that?
pmichaud looking 19:05
allison uh... T #389?
pmichaud TT #389
yes.
fwiw, the behavior I describe in the ticket (with the exception of :anon flag) is already documented as such in pdd19 19:06
anyway, I'll try to bullet these on-list today. 19:07
allison are there other relevant tickets, notes from other meetings? 19:08
pmichaud I think the hll namespace issues have been mostly worked out.
allison I seem to come away from each meeting where we talked about it convinced that we've solved it, but then come back and look at it again and it doesn't work.
pmichaud for that particular issue, we solved it in design but it hasn't made it to implementation yet. 19:09
TT #8 may also be relevant to namespaces in general.
allison So, I'd like to sit down, solve it once and for all, and stop thinking about it. :)
pmichaud well, we've had several issues that float around namespaces but aren't necessarily "namespaces"
the :method flag stuff was decided upon but not yet implemented 19:10
allison also true
that's specifically the one that seems to me to keep changing, but it could equally well be faulty memory :)
pmichaud the discussion of identifying classes by string, namespace, or key was discussed and (I think) resolved but I don't know that a definitive guide was written up for it
I'm quite sure :method has been the same since OSCON 2008
again, just not implemented.
at PDS we also added the :ns_entry flag, which was previously known as the :namespace flag (and that was discussed in 2007). 19:11
afaik :ns_entry is implemented and working. 19:12
allison well, briefly write up what you remember as the solution
pmichaud can I just point to pdd19 and say "done" ? ;-)
allison what I remember doesn't hang together as a coherent answer
I'll read through pdd19 while working on pdd21 19:13
pmichaud my issue in #389 wasn't that I think the design is wrong, it was that the implementation doesn't match the design
(that was decided upon at OSCON and PDS, and documented shortly after PDS)
allison documented in pdd19, but not pdd21? 19:14
pmichaud I don't know that it impacts pdd21
Let's do this...
later today I will review pdd21 and note down all of the things I can think of that are confusion
same for pdd15 (as noted in TT #8)
I'll also double-check pdd19 and make sure that it matches what I remember (I've checked it before and it matches... but for completeness I'll review again) 19:15
I'll summarize all of that into a bullet-like list to the mailing list, and if you have questions you can ask there.
allison also check for assumptions it doesn't make explicit 19:16
pmichaud okay, will do that also.
allison sounds lovely, thanks
pmichaud I'll also touch briefly on the question of relating namespaces to classes.
(which I tend to think of as a separate issue from this one.)
(but I think has also been largely resolved.)
allison okay, that's all the milestones for this month 19:17
cotto eternaleye had a good question 19:18
chromatic Anything else?
eternaleye Hi, I asked this question in #parrot, and cotto++ pointed me here: Are there any plans for an API to access the AST for HLL code from an embedding program? I could see it being immensely useful for, say, syntax hilighting. Especially the Declaration-Use Chain stuff the KDevelop guys are doing.
chromatic I'd like to see that working in Parrot. 19:19
particle- a yaml emitter/reader for PAST stalled
allison eternaleye: it's a good addition
pmichaud short term we could just attach the PAST as a property to the bytecode 19:20
short answer is that an API hasn't been developed. If you wanted to draft an API, we could see about implementing it. :-) 19:21
eternaleye Okay, I'll see what I can think up
pmichaud we'll also know quite a bit when we have PCT generating bytecode annotations (which I expect to happen this week) 19:22
some information could be stored as annotations.
allison pmichaud: this sounds to me more like a way to extract an AST, instead of doing a full compile down to bytecode. 19:23
(since he's talking about syntax highlighters)
eternaleye allison: Exactly
allison which should be mostly possible now with HLLCompiler 19:24
pmichaud oh!
moritz so the objective is just to make the --target=parse available with a nice API?
allison aye
pmichaud If you just want the AST, then use 'target'=>'past' when compiling.
particle- again, see yaml emitter
pmichaud if it's from an embedding program, then having the AST directly is probably more useful than a yaml representation of it.
allison there just isn't any documentation lying around for how to do that (other than from the command-line) 19:25
pmichaud aha.
we can fix that.
but in general:
$P0 = compreg 'Perl6'
$P1 = $P0(source, 'target'=>'past')
oops!
$P1 = $P0.'compile'(source, 'target'=>'past')
and $P1 is the ast.
eternaleye pmichaud: Yeah, but the "Working with PMCs" section of PDD10 is 'TBD', and PDD12 isn't even started. 19:27
pmichaud what is pdd12?
eternaleye I was thinking of something that could be walked from C or C++
The one PDD10 mentions as superseding the embedding potion of itself 19:28
allison eternaleye: any Parrot structures can be walked from C
particle- you can walk it in C, just use the PMC VTABLE API
this is better discussed in #parrot, though
pmichaud it sounds to me like you're asking for a C/C++ embedding API more than anything specific to HLL asts
I suppose we could have C functions for accessing the ASTs.... but that doesn't seem likely. Seems easier to just use the existing PMC interfaces. 19:29
eternaleye particle: Okay, I'll look into that. Is there a specific piece of documentation other than PDDs 11 and 17 for how to access the VTable API?
pmichaud time for me to pick up kids from school 19:31
I will miss #parrotsketch next week -- traveling to NPW 19:32
particle- eternaleye: i want to point you to docs/pmc.pod, but it's pretty weak
eternaleye Thanks everyone!
chromatic Anything else, anyone? 19:36
Infinoid Thanks for all the parrot polishing, everyone! 19:38
19:38 particle- left
chromatic Until next week then. 19:38
moritz caio 19:39
erm
ciao
19:39 moritz left 19:40 chromatic left, NotFound left, fperrad left 19:42 Util left 19:51 Infinoid left 19:55 jonathan left 20:06 pmichaud left 20:10 Coke left 20:36 Tene joined 22:03 Whiteknight joined 22:08 rin1024_ joined 22:38 rin1024_ joined 23:10 Tene joined