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