Perl 6 - the future is here, just unevenly distributed

IRC log for #parrotsketch, 2011-05-03

| Channels | #parrotsketch index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:52 whiteknight left #parrotsketch
01:10 bluescreen joined #parrotsketch
03:37 ShaneC left #parrotsketch
05:17 cotto_work left #parrotsketch
05:36 lucian__ joined #parrotsketch
05:39 lucian left #parrotsketch
05:56 lucian joined #parrotsketch
06:00 lucian__ left #parrotsketch
06:23 particle1 left #parrotsketch
08:35 bluescreen left #parrotsketch
08:57 contingencyplan left #parrotsketch
09:06 lucian left #parrotsketch
09:08 lucian joined #parrotsketch
09:13 lucian_ joined #parrotsketch
09:17 lucian left #parrotsketch
10:23 particle joined #parrotsketch
10:38 lucian joined #parrotsketch
10:43 lucian_ left #parrotsketch
13:44 lucian_ joined #parrotsketch
13:47 lucian left #parrotsketch
13:48 lucian_ is now known as lucian
14:02 bluescreen joined #parrotsketch
14:09 cotto_work joined #parrotsketch
15:02 lucian left #parrotsketch
15:35 mikehh joined #parrotsketch
15:40 contingencyplan joined #parrotsketch
18:06 atrodo joined #parrotsketch
18:42 benabik joined #parrotsketch
18:44 ShaneC joined #parrotsketch
19:23 Coke__ left #parrotsketch
19:23 Coke joined #parrotsketch
19:31 Coke left #parrotsketch
19:31 Coke joined #parrotsketch
19:38 Coke left #parrotsketch
19:38 Coke joined #parrotsketch
19:46 Coke left #parrotsketch
19:46 Coke joined #parrotsketch
19:53 Coke left #parrotsketch
19:53 Coke joined #parrotsketch
19:56 bubaflub joined #parrotsketch
19:56 cotto_work *did:
19:56 cotto_work - LinuxFestNW
19:56 cotto_work -- good turnout for my State of Parrot talk: 25-30 people at a general interest conference
19:56 cotto_work --- I now have lots of ways to improve the talk for OS Bridge and YAPC::NA in June
19:56 cotto_work -- moved M0 forward: http://reparrot.blogspot.com​/2011/05/m0ving-forward.html
19:56 cotto_work - M0 progress:
19:56 cotto_work -- started on the final prototype (i.e. we'll throw this one away but keep the tests)
19:56 cotto_work -- dukeleto is writing an M0 assembler in Perl 5
19:56 cotto_work -- I'm writing an M0 interp in Perl 5
19:56 cotto_work -- all work is based on the spec (and whatever changes we need to make as we run into holes)
19:57 cotto_work --- currently have tests to generate simplistic (but probably valid) M0 bytecode ("m0b")
19:57 cotto_work -- code lives in t/m0 and src/m0 in the m0-prototype branch
19:57 cotto_work - GSoC progress:
19:57 cotto_work -- found out that parrot-instrument won't be a good foundation for soh_cah_toa's project
19:57 cotto_work *will do:
19:57 cotto_work - M0 interp hacking
19:57 cotto_work - M0 spec cleanup
19:57 cotto_work - figure out a workable plan for soh_cah_toa's debugger
19:57 cotto_work - schedule another meeting with allison, chromatic and dukeleto, probably 1-2 months out
19:57 cotto_work -- our understand will eventually be a blocker, though I want to get the prototypes as far as they'll go first
19:57 cotto_work *eor
19:58 whiteknight joined #parrotsketch
20:01 benabik Currently blocked on school.  My GSoC work begins around 5/21 (day after finals).  EOR
20:02 plobsing joined #parrotsketch
20:05 whiteknight WHAT I DID
20:05 whiteknight * Debugging on Parrot-Instrument with plobsing++. Good news: We have a better idea of what's broke. Bad news: It's staying broke.
20:05 whiteknight * Blogging about concurrency issues, trying to put together a concrete plan and help inform some decisions at the Lorito-level
20:05 whiteknight * Reshuffling priorities. 6model is coming up next. I'm doing some research and planning on it.
20:05 whiteknight * Reading 6model code like a madman.
20:05 whiteknight * jnthn is starting to migrate Rakudo to 6model which might necessitate some code changes. Am going to delay writing codes until he's further along.
20:05 whiteknight * Starting to look at performance issues. Parrot slowed down noticibly between 3.0 and 3.1 and never climbed back (even after GMS merge). There was also a slowdown between 3.2 and 3.3 which is smaller but still needs reconciliation.
20:05 whiteknight WHAT I WILL DO
20:05 whiteknight * Would like to have a draft of a plan for 6model adoption ready for first review this week or next.
20:05 whiteknight * Trying to have a brainstorming session about 6model on Sunday.
20:05 whiteknight * Looking to start putting together a team to help with the planning and coding. Tene has volunteered already. Looking for more.
20:05 whiteknight * Also, want to start soliciting feedback, wishlists for the new MOP, lists of problems with the current MOP, etc. If we're going to do this, let's do it right.
20:05 whiteknight EOR
20:06 tcurtis *did: blog post; read part of "Efficient Translators for LR(k)..."; Will do: more blogging, more reading.
20:06 bubaflub ETOOMANYFINALS - will do: blog about my GSoC project, learn about 6model
20:07 Util # Done:
20:07 Util * Passed my "Avoid Tornados" saving throw (@ Alabama, USA)
20:07 Util * Fixed Trac ticket report {6} - All Tickets By Milestone (Including closed) - per dukeleto++
20:07 Util * No Parrot coding; worked on Rakudo Star binary for OS X.
20:07 Util # Plan to do:
20:07 Util * No Parrot work until R* binary is complete. Later this week? Then ticket backlog.
20:07 Util curl -s 'http://trac.parrot.org/parrot/ti​meline?daysback=7&amp;ticket=on' | perl -wlne '/<em[^>]+\(([^"]+)\)">/ or next; $h{$1}++; END {printf "%7d\t%s\n", $h{$_}, $_ for sort keys %h}'
20:07 Util # 7-day ticket report:
20:07 Util 3 closed: fixed
20:07 Util 3 closed: invalid
20:07 Util 1 closed: worksforme
20:07 Util 2 new
20:07 Util .end
20:08 plobsing What I Did:                                                                                                    * complete tt1931 removals * debug tt1931-nci-parameters-deprecation
20:08 plobsing What I Plan: * complete tt1931-nci-parameters-deprecation merge * investigate thread-safety issues revealed by zeromq
20:08 plobsing EOR
20:15 * dukeleto has to go to his accountant. Will send an update to parrot-dev later today.
20:16 mikehh What I did since my last report:
20:16 mikehh * building and testing parrot on amd64/i386, with gcc/g++
20:16 mikehh * some fixes
20:16 mikehh What I intend to do in the next week:
20:16 mikehh * testing and fixing
20:16 mikehh .eor
20:16 mikehh of course nowhere near as much as I intended
20:16 NotFound joined #parrotsketch
20:20 atrodo .done
20:20 atrodo * Got a crazy ops => lasm hack up and started
20:20 atrodo * A YAPC::NA BOF and Hackathon has been scheduled. Be there!
20:20 atrodo .todo
20:20 atrodo * More ops => lasm hacking
20:20 atrodo * isparrotfastyet really needs love
20:20 atrodo .eor
20:25 NotFound What I did (last three weeks):
20:25 NotFound -parrot
20:25 NotFound * Some testing
20:25 NotFound -winxed
20:25 NotFound * Minor fixes and refactors
20:25 NotFound * Updated several examples
20:25 NotFound What I will do:
20:25 NotFound No plan, putting myself up to date.
20:25 NotFound EOR
20:25 rohitnsit joined #parrotsketch
20:25 rohitnsit DONE
20:25 rohitnsit *Studied WorkFlow of "cafe" compiler
20:25 rohitnsit *Studied nodejs api.
20:25 rohitnsit *http://rohitnsit08.blogspot.co​m/2011/05/cafe-hack-start.html
20:25 rohitnsit *http://rohitnsit08.blogspot.com​/2011/04/cafe-experiments.html
20:25 rohitnsit WILL DO
20:25 rohitnsit *Start modifying cafe for PIR generation
20:26 rohitnsit left #parrotsketch
20:26 rohit_nsit08 joined #parrotsketch
20:28 cotto_work hello
20:28 rohit_nsit08 cotto_work: hello
20:28 mikehh hi there
20:28 luben joined #parrotsketch
20:28 NotFound Hola
20:28 benabik yo
20:28 whiteknight left #parrotsketch
20:28 davidfetter joined #parrotsketch
20:28 soh_cah_toa joined #parrotsketch
20:29 cotto_work The previous week's goal seems to have been to schedule a BoF at YAPC::NA.
20:29 moritz joined #parrotsketch
20:29 pmichaud joined #parrotsketch
20:29 atrodo Howdy
20:29 cotto_work atrodo++ did a good job of that
20:30 pmichaud hello, #parrotsketchers
20:30 cotto_work hi pmichaud
20:30 rohit_nsit08 pmichaud: hello
20:30 mikehh pmichaud: hello
20:30 bubaflub hello
20:30 moritz \o
20:31 pmichaud just wanted to quickly point out my latest benchmark results at http://lists.parrot.org/pipermail​/parrot-dev/2011-May/005822.html in case it comes up for discussion today
20:31 pmichaud (email just sent to parrot-dev)
20:31 cotto_work pmichaud: thank you for sending that.
20:32 pmichaud can't really stay for #ps today -- have errands to run here :(
20:32 soh_cah_toa WEEKLY REPORT:
20:32 soh_cah_toa * submitted patch for TT #1589
20:32 soh_cah_toa * began (re)considering language for gsoc project
20:33 soh_cah_toa * submitted smoke tests on fedora and freebsd
20:33 soh_cah_toa TODO
20:33 tcurtis hi
20:33 soh_cah_toa * decide langauge by end of the week
20:33 soh_cah_toa * meet w/ mentor
20:33 soh_cah_toa EOR
20:34 rohit_nsit08 DONE
20:34 rohit_nsit08 *Studied WorkFlow of "cafe" compiler
20:34 rohit_nsit08 *Studied nodejs api.
20:34 rohit_nsit08 *http://rohitnsit08.blogspot.co​m/2011/05/cafe-hack-start.html
20:34 rohit_nsit08 *http://rohitnsit08.blogspot.com​/2011/04/cafe-experiments.html
20:34 cotto_work My understanding is that there's at least one major slowdown between 3.0 and 3.1.  Does someone have the tuits to dig in and find out what the problem is?
20:35 cotto_work whiteknight mentioned three changes in #parrot that looked suspicious.
20:35 cotto_work <whiteknight> "Exception PMCs are now subclassable from PIR"
20:35 cotto_work <whiteknight> "Improved GC performance on low-memory systems"
20:35 cotto_work <whiteknight> "Improved GC latency"
20:35 cotto_work <whiteknight> those things all raise red flags for me
20:36 kid51 joined #parrotsketch
20:37 * kid51 will be on vacation thru next Tuesday
20:38 NotFound Changes in Exception are suspicious.
20:38 cotto_work NotFound: I'd look at that one first.
20:38 cotto_work Rakudo uses those a lot.
20:39 NotFound Any change in Exception and ExceptionHandler can have big impact in nqp and rakudo.
20:39 mikehh kid51: is that vacation away or vacation can seriously work on parrot :-}
20:41 cotto_work no volunteers, though I suspect that whiteknight will be looking at it.  I'll try to find some time in the next day or two if nobody beats me to it.
20:41 kid51 vacation away; The PDS was originally scheduled for this past weekend, so I scheduled my vacation for the weeks thereafter
20:42 soh_cah_toa oh right, pds. has that date been set yet?
20:42 cotto_work kid51: thanks for mentioning PDS.  I sent out the doodle but got caught up in the lfnw talk and didn't set a firm date.
20:45 cotto_work any volunteers to look at the doodle, pick a date and send out an announcement?
20:46 mikehh I'll run some tests to see if I can find some culprits
20:46 mikehh that's with rakudo slowdowns
20:47 ShaneC left #parrotsketch
20:47 cotto_work quiet day today
20:50 cotto_work any questions?
20:50 plobsing q2q
20:50 cotto_work plobsing: go ahead
20:51 plobsing First question - there exists a number of existing frameworks for analysing C code. IIUC, analysis of full C code is a sticking point for our JIT work.
20:52 plobsing Would we be open to a 3rd party library for this?
20:52 mikehh what do you have in mind?
20:52 cotto_work plobsing: bacek unblocked himself by hard-coding the macros that ops use.
20:53 plobsing examples include: sparse (handles C89/GNUC, implemented in C), CIL (handles C89/GNUC/MSVC, implement in OCaml), Coccinelle (handles C89/GNUC, implemented in OCaml)
20:54 plobsing cotto_work: that isn't an acceptable long-term solution and is only possible with hand-holding
20:54 plobsing a good, deeply-tracing JIT will need access to nearly everything. That includes system headers.
20:56 plobsing anything short of fully automatic analysis is going to require a huge amount of work getting that level of information
20:57 cotto_work plobsing: we don't want that to be a hard prerequisite for parrot, but I can see it being an optional feature
20:58 cotto_work perhaps something like maintainer mode, where those tools are only required if you're hacking on the jit
20:58 plobsing cotto_work: I envision it being a bootstrapped stage, with generated files checked into the repo
20:58 plobsing cotto_work: yeah, somethign like that
20:59 cotto_work plobsing: I can get behind that.
20:59 cotto_work I just don't want to say that ocaml or sparse is required for the build to work.
20:59 kid51 left #parrotsketch
21:00 plobsing ocaml is a bigger problem. sparse we could conceivably bundle (but it is less general)
21:00 plobsing I'm satisfied with that level of answer. I may or may not pursue this idea in the comming weeks.
21:00 cotto_work ok
21:01 mikehh it is fine to use various tools as long as it does not  compromise the build
21:01 cotto_work plobsing: you had another question?
21:02 plobsing Second question: Is this an appropriate time and place to discuss concurrency?
21:02 cotto_work plobsing: whiteknight had some extensive thoughts on that.  It'd be better to find a time when he's around.
21:03 mikehh was just typing that :-}
21:03 plobsing I had hoped he would be here for this meeting. We really need to start talking about this soon.
21:04 mikehh but I think it would help to put some ideas on the table
21:04 plobsing My concerns aren't so much about how we expose concurrency to HLLs, but rather how it affects embedders and extenders.
21:05 mikehh would looking at the perl5 core modules threads and threads-shared help at all?
21:06 cotto_work plobsing: you're welcome to list your concerns here.  I just think it'd be more productive to have you and whiteknight bounce ideas off each other.
21:07 plobsing mikehh: I doubt they would help much. Our internal architecture is significantly different from Perl 5, so thread-safety strategies (as opposed to thread interface strategies) likely do not cary over.
21:07 mikehh I have been looking at some papers recently that have serious concerns about threads as a concurrwency mechanism
21:07 mikehh concurrency
21:08 plobsing mikehh: that again is interface
21:08 darbelo joined #parrotsketch
21:08 plobsing as a platform we can only use the tools given to us. the platforms we are building on provide concurrency primitives that are threads and locks.
21:09 plobsing so at some level, we must use those
21:09 mikehh or some form of messagee passing interface
21:09 plobsing For example, erlang uses threads and locks in the sense I am describing
21:09 darbelo left #parrotsketch
21:10 darbelo joined #parrotsketch
21:10 mikehh erlang is very robust, especially in embedded
21:12 plobsing erlang is also frequently used as an example of how message passing concurrency can work effectively. however, that is simply the abstraction it chooses to expose.
21:13 mikehh so essentially you are looking at the underlying mechanism, rather that the interface
21:13 cotto_work plobsing: what are your specific concerns?
21:14 plobsing how this ties in to concurrency plans.
21:14 mikehh our concurrency system is pretty broken (i.e it don't work properly)
21:14 plobsing mikehh: I think some of the designs are serviceable
21:15 mikehh in concept yes
21:15 plobsing as a concrete example, our message-passing isn't thread-safe because it requires calls into the allocator, which is single-threaded.
21:16 mikehh the implementation leaves much to be desired
21:16 plobsing A quick patch to put a lock around the allocator would likely fix the issues I'm seeing on parrot-zeromq, but I'm not sure that's the approach we want to follow.
21:16 mikehh we really need to make as much of parrot thread-safe as possible
21:17 bubaflub plobsing: would that be a Global Interpreter Lock?
21:18 plobsing bubaflub: to a limited extent, yes.
21:18 bubaflub plobsing: ok, just curious.  carry on.
21:18 plobsing alternately, we could try to make the allocator multi-threaded in other ways
21:19 plobsing or we could try to make the message passing system allocation-free
21:19 plobsing those both sound enticing, but they have their own draw-backs
21:20 mikehh we really need to try more than one approach to see how thay will work
21:21 mikehh especially in lite of recent problems with rakudo slowdowns
21:22 cotto_work We shouldn't act on the Rakudo slowdowns until we're reasonably sure what caused them.
21:23 plobsing agreed. our reactions to that seem rather knee-jerk
21:23 mikehh sure, but we don't need to introduce new problems until we have tried some alternatives
21:25 cotto_work Introducing something new is great as long as we're aware of how it affects performance.  There's no reason not to parallelize new features and finding out what happened between 3.0 and 3.1.
21:25 mikehh we really need a reasonable benchmark suite that we can run against parrot to see where we are improving or otherwise
21:26 plobsing aren't there language-shootout benchmark implementations in Perl 6?
21:27 mikehh probably, but perl6 takes ages to build and the test suite takes much longer
21:28 plobsing I'll send a message to the list detailing my concerns about the previously mentioned aspects of concurrency
21:28 cotto_work plobsing: thanks
21:30 NotFound An nqp benchmark program might be useful for some features, like exception handling speed.
21:31 mikehh NotFound: to what extent can we implement some of that in winxed
21:32 mikehh I think we can test in winxed much faster than perl6 (in terms of build speed etc.)
21:32 NotFound mikehh: winxed does not use control exceptions.
21:33 mikehh at the moment :-}
21:34 mikehh I was really thinking of general benchmarks to test speed/memory usage in parrot
21:34 NotFound Well, I suppose we can write some test throwing and catching them, but I'm not sure how realistic will be.
21:35 mikehh so we can sort of bisect and get some results in less than an hour or so
21:35 benabik Benchmarks tend not to be realistic, but can be good at determining what portions of a language/machine are fast and what aren't.
21:37 darbelo_ joined #parrotsketch
21:37 NotFound I can write a simple test, to see it its speed matches the pattern observed with rakudo in the same parrot versions.
21:37 mikehh benabik: I was just thinking of comparisons of different commit states of parrot
21:37 plobsing ohm-eta uses control exceptions after a fashion
21:37 plobsing and is an existing winxed program
21:38 cotto_work Let's move this discussion to #parrot.
21:38 mikehh 'k
21:39 plobsing any other discussions queued?
21:40 cotto_work I don't think so, but that discussion was moving away from general planning.
21:40 cotto_work Are there any other questions?
21:41 mikehh How is M0 design progressing, I noticed quite a few commits
21:41 cotto_work The short version of my blog post in reparrot is that dukeleto and I are hacking on what we expect to be the final prototype.
21:42 darbelo left #parrotsketch
21:42 cotto_work It'll probably need one more face-to-face meeting with allison and/or chromatic to get CPS nailed down, but it appears to be largely complete in most other aspects.
21:43 davidfetter left #parrotsketch
21:50 mikehh Goals?
21:50 cotto_work GOAL 1: Schedule the PDS
21:50 cotto_work GOAL 2: Figure out the Rakudo slowdown between Parrot 3.0 and 3.1
21:51 mikehh and GSoC
21:51 cotto_work What goal would you suggest?
21:52 mikehh dunno, just making sure we keep on top of it
21:53 cotto_work It's up to individual mentors at this point.
21:54 mikehh :-}
21:57 cotto_work any other questions?
22:01 cotto_work Let's call it a wrap.
22:03 luben left #parrotsketch
22:03 plobsing left #parrotsketch
22:16 NotFound left #parrotsketch
22:17 bubaflub left #parrotsketch
22:33 bluescreen left #parrotsketch
22:47 whiteknight joined #parrotsketch
22:52 Topic for #parrotsketch is now Priority for this week: Schedule PDS, Find Rakudo slowdown, GSoC Mentoring | Post closed tickets in your report. | Note: This channel is for our Tuesday status meetings (at 20:30 UTC); you probably want #parrot instead. | irclog: http://irclog.perlgeek.de/
23:04 soh_cah_toa left #parrotsketch
23:16 darbelo_ left #parrotsketch
23:17 darbelo joined #parrotsketch
23:30 darbelo left #parrotsketch
23:34 benabik left #parrotsketch

| Channels | #parrotsketch index | Today | | Search | Google Search | Plain-Text | summary