|
weekly Perl 6 status meetings with phase transitions: Tue 19:00 UTC | IR clogs at irclog.perlgeek.de/phasers/today Set by moderator on 5 August 2011. |
|||
|
10:15
[particle] joined
|
|||
| moritz | what I did: lots of nom hacking, in particular: | 12:51 | |
| * fix radcalc to work with lower case characters too | |||
| * implemented chaining reduce meta op ( if [<=] @list { ... }) | 12:52 | ||
| * merged pull requests | |||
| * re-enabled parts of Temporal.pm (rest blocks on weird compilation issues) | 12:53 | ||
| * tested some modules - ufo works with a smallish hack, XML::Writer works fine, SVG.pm is a bit borked | |||
| * brought a simplistic version of MAIN back (tadzik++), simplified the spec a bit | 12:54 | ||
| * added {EnumMap,Match}.ACCEPTS | |||
| * re-enabled CallFrame and callframe() - better than in master | |||
| * Str.trim and Cool variants | |||
| * Match.gist | 12:55 | ||
| * allowed Str matchers in Str.match and thus Str.subst | |||
| * partially impelmented min and minmax | |||
| * re-enabled most of Instant and Duration | 12:56 | ||
| * mentored tadzik++ | |||
| * played with exceptions in the nom-exception branch -- kinda works, but needs more polishing after feedback from pmichaud++ | 12:57 | ||
| What I plan to do next work: | |||
| * work more on the exception grant (but general nom hacking is just too much fun :-) | |||
| * more nom + modules hacking | |||
| EOR | |||
|
13:01
mberends joined
|
|||
| sorear | DID: | 14:32 | |
| - hacked on CATCH and CONTROL, have a decent implementation that I think matches the spec after a *lot* of questions | 14:33 | ||
| - implemented a bunch of phasers (ENTER, LEAVE, KEEP, UNDO, PRE, POST) | |||
| - with LEAVE, easy enough to add let, temp, TEMP | 14:34 | ||
| - followed latest spec on Nil and .gist/Str | |||
| - a few finishing touches on pseudo-package handling | 14:35 | ||
| WILL DO: | |||
| - I intend to write some comprehensive tests for CATCH, CONTROL, and LEAVE | |||
| +DID: | |||
| - wrote tests for pseudopackages | |||
| EOR | |||
| moritz | sorear++ | 14:36 | |
| pmichaud | What I did: | 15:24 | |
| nom stuff: | |||
| * hyperops | |||
| * created a nom->master punchlist | |||
| * fixed Str range iterator | |||
| * fixed triangle metaops | |||
| * updated .Numeric | |||
| * made Bool look more enum-like | |||
| * fixed segfault with infix:<^^> and infix:<xor> | |||
| nqp stuff: | |||
| * worked on qregex/ltm/nfa | |||
| other stuff: | |||
| What I plan to do: | |||
| * finish qregex/ltm/nfa | |||
| * attend p6 hackathon and yapc::eu | |||
| EOR | |||
| moritz | pmichaud++ | 15:28 | |
|
15:42
colomon joined
17:26
masak joined
|
|||
| jnthn | Over the last week... | 17:39 | |
| * Various Pair tweaks, including assignable .key and .value | |||
| * Enabled overriding of postcircumfix:<( )> | |||
| * Junction invocation invokes everything in the junction | |||
| * Method versions of junction creation | |||
| * Fixed attribute introspection | |||
| * Implemented slurp; added get and close subs | |||
| * Improved multi-dispatch handling of slurpy a bit | |||
| * Implemented Parcel.Capture and various other Capture bits | |||
| * Made nested signatures work | |||
| * Fixed |$c in signatures | |||
| * Made nom installable; improved NQP installation also | |||
| * Enabled loading of modules without pre-compilation | |||
| * Made module search pay attention to @*INC | |||
| * Implemented delegation; passes all delegation.t | |||
| * Implemented augment | |||
| * Fixed up export of multis a bit, though needs more attention | |||
| * Gave auto-generated accessors a valid name | 17:40 | ||
| * Fixed scope leakage bug | |||
| * Got socket IO working again | |||
| * Many improvements to package handling, which resolved various bugs | |||
| * Implemented "need" | |||
| Over the next week... | |||
| * Prepare for and go to YAPC::EU | |||
| * Fix up various issues with constraint types in signatures | |||
| * More work on parametric roles | |||
| * Try and find the extremely nasty infinite recursion bug involving stringifications when compiling the setting | |||
| * Lots more, probably :-) | |||
| EOR | |||
| moritz | jnthn++ | 17:58 | |
| masak | Had Time For Last Week: nuthin'. Will Probably Have Time For This Week: more nuthin'. Blockers: too many things, it seems. :/ EOR | 18:29 | |
| jnthn | masak: wait, what, you're meant to go to yapc this week :P | 18:32 | |
| masak | jnthn: right, but I'll resurface from my planned procrastination blackout on Monday evening... | ||
| jnthn | aha | 18:33 | |
| masak | hopefully, the talks will turn out OK... :) | 18:35 | |
| Util | # Done: | 18:37 | |
| * Discussed pending nom->master merge|replacement with | |||
| interested people at the Atlanta.pm after-meeting dinner. | |||
| * Talked with colomon about trig functions for Complex. | |||
| * Replaced my 30th ed. CRC Standard Mathematical Tables | |||
| with 32nd, for its improved Quaternion info (to improve the Perl 6 module). | |||
| # Plan to do: | |||
| * Compose notes and summarize research on Complex for colomon. | |||
| * $WORK xx Inf | |||
| EOR | |||
| moritz | hello | 19:00 | |
| masak | o/ | 19:01 | |
| moritz | it's #phasers time, unless I've mixed up the time zones again | ||
| colomon | \\o | ||
| jnthn | o/ | ||
| moritz | who wants to deliver a report? | ||
| (mine is far up in the backlog) | |||
| tadzik | I have mine prepared | 19:02 | |
| =done | |||
| =item fixed .WHY for subroutines | |||
| =item implemented .WHY for methods | |||
| =item implemented Pod::Block::Declarator objects. They have broken order, fixed in wherefore-gc-bug | |||
| =item lots of Pod::To::Text improvements | |||
| =item implemented a default DOC INIT phaser. perl6 --doc is now pretty usable | |||
| =item We now fully parse S26! | 19:03 | ||
| =item Created a gsoc-countdown list of things on github.com/tadzik/gsocmess/issues?milestone=1 | |||
| =todo | |||
| =item finish gsoc, preferably before the soft-deadline date | |||
| =item attend yapc::eu with an appropriate amount of fun | |||
| =blockers | |||
| =item GC write barrier bug, see the wherefore-gc-bug branch | |||
| =END | |||
| masak | tadzik++ | ||
| I may be wrong, but if you make up your own keywords, they should be CamelCase. :) | |||
| jnthn | It's as likely a missing mark as a wb fail | ||
| tadzik | masak: no, I don't think so :) | ||
| moritz | tadzik++ | 19:05 | |
| jnthn | tadzik++ | ||
| mberends | aye, tadzik++ | ||
| moritz | mberends: do you have a report? | ||
| mberends | I'm preparing a report, not ready yet | ||
| colomon | tadzik++ | 19:06 | |
| tadzik | oh, oh. Everyone, please look at my countdown list and add stuff you'd like to see done, which relate to my gsoc | ||
| also, please try --doc, and report everything that you don't like in Pod::To::Text | |||
| moritz | ok, there's one thing I'd like to discuss | 19:11 | |
| I'm a bit worry that nqp's PARROT_REVISION is > 3.6.0 | |||
| because we want to cut a release before the next parrot release, if I understand correctly | 19:12 | ||
| colomon | what's going on that would cause that? | ||
| moritz | PCT changes, iirc | ||
| tadzik | yes, xor stuff | ||
| colomon | they're skipping a month? | 19:13 | |
| tadzik | who? | ||
| colomon | parrot | ||
| jnthn | moritz: What's the exact worry? | ||
| tadzik | Parrot? No, we're releasing before 3.7.0 | ||
| jnthn | moritz: That we should only ever release against a released Parrot? | ||
| moritz | jnthn: well, it would be the first time we wouldn't | 19:14 | |
| jnthn | True. | ||
| This is an "out of cycle" release anyway, mind. | |||
| moritz | maybe not a good time for setting a precedence | ||
| jnthn | It's uncomfy, I agree, but it may be the lesser evil. | 19:15 | |
| moritz | we could also ask the parrot folks for permission to cut a 3.6.1 release with jsut the patch that nqp needs | 19:16 | |
| pmichaud | why did nqp's PARROT_REVISION get bumped? | 19:17 | |
| jnthn | pmichaud: The clone bug. | ||
| pmichaud | oh. | ||
| jnthn | That was a PAST::Compiler patch. | ||
| pmichaud | fixing PAST::Compiler generally doesn't have to be done in Parrot, though. | 19:18 | |
| for example, I fixed 'xor' without patching Parrot. | |||
| jnthn | Yes, but by introducing a new pasttype, iiuc? | ||
| jnthn wonders if we can do similar-ish | 19:19 | ||
| pmichaud | yeah, I was really wanting to avoid any PARROT_REVISION bumps | ||
| I didn't realize there was on there. | |||
| *one | |||
| looking. | |||
| jnthn | If we can find a way to bring the fix into nqp without massive disruption, +1. | 19:20 | |
| pmichaud | I don't see an easy way to do it... I'll have to think on it a bit more. | 19:22 | |
| jnthn | Yeah, I feared it was in an awkward place :( | ||
| moritz | can't you monkeytype parrot classes | 19:23 | |
| ? | |||
| pmichaud | it's not a class | ||
| it's a PMC | |||
| oh, you mean monkey-type PAST::Compiler? | |||
| jnthn | yeah | ||
| May be feasible. | |||
| pmichaud | that's a really long method to be monkey-patching, though. | 19:24 | |
| jnthn | aye | ||
| pmichaud | although we might want to monkey patch it to use temp regs for .const also | ||
| instead of uniquereg | |||
| jnthn | The other alternative is that I make SixModelObject PMC's clone vtable the identify function for the release. ;-) | ||
| ah, yeah, that .const fix would be good to have also. | 19:25 | ||
| The PIR compile time for the setting is kinda ew. | |||
| pmichaud | yeah | ||
| is the symtable object a sixmodelobject? | |||
| jnthn | And it's only a monkey-patch for one release. | ||
| No | 19:26 | ||
| The problem was that it ended up deep cloning | |||
| pmichaud | right | ||
| jnthn | So it tried to clone one. | ||
| pmichaud | oh, I see what you're saying. | ||
| jnthn | Which I expected to just explode | ||
| Apart from Parrot, er, tries to make it work | |||
| tadzik | augment Report { implemented DOC use, will push after spectesting } | ||
| jnthn | ...and guesses wrong and then we segfault. | ||
| masak | aww | 19:28 | |
| jnthn | (I should note, we occasionally segfault. I only found this so quickly because tadzik++ provided a stacktrace that luckily gave me a good hint at what was going on.) | 19:29 | |
| pmichaud | I'll think about how to deal with the PAST::Compiler issue for a day. | 19:31 | |
| jnthn | ok | ||
| If I think of anything I'll mention it. | |||
| pmichaud | We'll either do that or we'll cut against the August release (which is a week from today) | ||
| (the August Parrot release) | |||
| mberends | my report is ready... | 19:35 | |
| 6model/c status: | |||
| * only parts of a runtime created so far | |||
| * bbkr++ provided an OS X 10.7 Lion shell for testing | |||
| * have almost complete portability to Linux, OS X, MSC and MinGW | |||
| * hashtable library passes simple tests including valgrind | 19:36 | ||
| * have portable system time and sleep functions | |||
| * began a wrapper library on top of Posix and Win32 threads, with tests | |||
| planning: | |||
| * more thinking about classic thread safety problems | |||
| * a heap manager with ref counting initially and ref tracking later | |||
| * proof of concept to detect and manage circular references | |||
| * want to use background threads in the garbage collector | |||
| * create the 6model SerializationContext using the managed heap | |||
| EOR | |||
| tadzik | mberends++ | 19:37 | |
| also pre-reporters++ | |||
| jnthn | mberends++ # nice! :) | ||
| moritz | mberends++ | 19:38 | |
| pmichaud | mberends++ | ||
| jnthn | mberends: There's a new revision of the GC book coming out later this month, fyi | 19:39 | |
| jnthn is planning to get a copy | |||
| tadzik | the GC book? | ||
| jnthn | www.amazon.com/Garbage-Collection-H...1420082795 | 19:40 | |
| That's the new one | |||
| Pervious version was quite famous text in the field too though :) | |||
| *Previous | |||
| mberends | Garbage Collection by Richard Jones: www.cs.kent.ac.uk/people/staff/rej/gc.html | ||
| jnthn | Yup, that guy | ||
| tadzik | intredasting | ||
| mberends | thinking and reading about garbage collection, and about threads, has consumed lots of my time recently. I think threading in particular is still going to require lots of careful work. Unfortunately S17 (Concurrency) is a jumble of outdated thoughts. | 19:49 | |
| masak | indeed. | ||
| mberends | hopefully 6model/c will serve as a testbed for low level implementation ideas | ||
| masak | I'd be happy to collaborate in a small cabal of S17 reformers. but someone else'd definitely have to lead such an effort. | 19:50 | |
| pmichaud | fwiw, I still think a good place to start would be to figure out how to make hypers threaded. | ||
| the new hyper code in nom should make that a lot easier, too. | 19:51 | ||
| TimToady | hypers and feeds | ||
| mberends | threading is kinda ok, autothreading takes it to another level | ||
| jnthn wonders what nom would make of the Parrot threads implementation | |||
| masak | do gather blocks thread? | ||
| pmichaud | not afaik | 19:52 | |
| TimToady | the big issue is probably non-blocking-ness plus scheduler | ||
| pmichaud | nom uses infix:<Z> out of convenience, not necessity though | ||
| I could rewrite to avoid the Z | |||
| TimToady | gathers may thread if they think it's a win | ||
| masak | same as hypers then, I guess. | 19:53 | |
| jnthn would be very interested to work on threading stuff, especially in seeing what can be done with lock-free data structures. | |||
| pmichaud | a perhaps better example would be to look at dispatch:<hyper> in Mu | ||
| TimToady | I'm expecting the specs to mutate with respect to what is visible and/or owned outside of a thread's code | 19:54 | |
| one or the other side of a feed operator (or both) may have restrictions in what they can access | |||
| pmichaud | dispatch:<hyper> already breaks the problem down into independent blocks (via map) | ||
| TimToady | or we might need some policy that a given object can belong to only one thread at a time | 19:55 | |
| we'll also have to mesh a high-level transactional view with a lowe-level event view | |||
| *low | |||
| but lockless is good to the extent we can manage it | 19:56 | ||
| in any case, the fewer locks there are, the easier they'll be to understand | |||
| jnthn | *nod* | 19:57 | |
| TimToady | not planning on a GIL though :) | ||
| jnthn | Please no :) | ||
| tadzik | :) | ||
| TimToady | now we just need a champion who knows what they're doing and won't run away screaming | 19:59 | |
| TimToady is wondering whether the two are mutually exclusive... | |||
| pmichaud | more precisely: knows enough to work on the problem; ignorant enough to not run away screaming | 20:00 | |
| "run away screaming" is probably something I should've done in 2004. :) | |||
| jnthn | ;) | 20:01 | |
| TimToady | heh, concurrency and documentation synopses were both created in 2005 | 20:03 | |
| moritz | we have a concurrency synopsis? | ||
| jnthn | No, we have a concurrency...idea heap :) | 20:04 | |
| moritz only knows of a concurrency handwaving doc | |||
| TimToady | all the ideas have to be implemented concurrently | ||
| masak | if the person is good at threading, he or she could work on the problem *and* run away screaming... | 20:06 | |
| pmichaud | we need to identify the person, then attach a Global Implementor Lock | 20:07 | |
| jnthn | core blimey! | ||
| masak .oO( Guido's Interpreter Lock ) | |||
| moritz | .oO( Garbage In Languages ) |
20:08 | |
| jnthn | I'm trying to think of a good name for "properties of the type of thing a meta-object can implement". For example, can it serve as a nominal type? Can it be instantiated? Is it generic? | 20:10 | |
| Any naming ideas? | |||
| Best I have so far is something like "type capabilities" :) | |||
| pmichaud | typabilities | ||
| masak | ooh | 20:11 | |
| jnthn | :) | ||
| pmichaud | typroperties | ||
| mberends | electionpromises | ||
| jnthn | mberends: Yes, but the meta-object shouldn't go on to break them. :P | ||
| mberends | manifesto | ||
| pmichaud | teaparty | 20:12 | |
| teaparty works because then you can supply more "defaults" :-P | |||
| jnthn | :-P | ||
| mberends | metapowers | ||
| pmichaud | metaprops | 20:13 | |
| TimToady | archetypes | ||
| pmichaud | metattrs | ||
| jnthn | TimToady: oooh | ||
| TimToady | sememes | ||
| hownows | 20:15 | ||
| jnthn | or howknows... :) | 20:16 | |
| jnthn likes typabilities and archetypes best so far | |||
| The thinking behind this is that if people are doing custom meta-programming, we want to make decisions of something they can customize, rather than going by the name of the KnowHOW or some kind of type hierarchy thing. | 20:18 | ||
| *off something | |||
| Goes without saying this is fairly deep in meta-space, and not something a "normal user" will run into. | 20:19 | ||
| TimToady | skypies | ||
| jnthn | :) | 20:20 | |
| jnthn goes with archetypes for the time being. | 20:21 | ||
| masak | in the Jungian collective consciousness, archetypes go with YOU. | 20:22 | |
| jnthn | :P :P | 20:23 | |
| mberends | "Phasers" were already in supercomputers in 2008: portal.acm.org/citation.cfm?doid=1375527.1375568 | 22:04 | |
| teh warez even: www.cs.rice.edu/~dmp4866/PDF/2008.i...hasers.pdf | 22:09 | ||
| sorear | oops, I accidentally napped through #phasers | 22:13 | |