weekly Perl 6 status meetings with phase transitions: Tue 19:00 UTC | IR clogs at irclog.perlgeek.de/phasers/today
Set by moderator on 14 June 2011.
01:33 [Coke] left 01:35 [Coke] joined 04:27 sorear_ joined, sorear left 04:49 sorear_ is now known as sorear 14:01 colomon left 14:05 colomon joined 16:00 colomon left
pmichaud My phasers report for 2011-06-28: 16:03
(Items marked "nom +1" are places where nom is significantly improved over master)
What I did:
nom stuff:
* whatever currying
* list slicing, including autotrim semantics (nom +1)
* returns are now lexical (nom +1)
* fail()
* next/last/redo in map loops, lists are now 80% faster than master (nom +1)
* converted more pir:: to nqp::
* try blocks
* dynamic variables
* list assignment
* magical Str incr/decr
* basic sequencing operator &infix:<...>
* inlined assignment
master stuff:
* draft release announcement (jdhore++)
nqp stuff: 16:04
* lexical return support
* eliminate astgrammar cruft from HLL::Compiler
* more nqp:: ops
parrot stuff:
* added "signature" attribute to PAST nodes
* patch to speed up RPA.splice by 95%
other stuff:
* booked travel for FOSSCON in Philadelphia
What I plan to do:
* more CORE functionality
* more spectests
* regexes in nom
* implement LoL
* Work on S07 redraft
EOR
oh, I'm also planning to work on metaops. 16:07
16:08 colomon joined 16:11 colomon_ joined, colomon left, colomon_ is now known as colomon
jnthn Over the last week... 16:14
* .=, .^, .?, .+ and .*
* Attributive parameter binding
* eval
* BEGIN/CHECK/INIT/END first cut implementations
* Mu.isa, Mu.does
* Basic support for "is export"
* Got us to a working Test.pm
* Natively typed lexicals
* More work on roles, so that we can use them in the setting
* Dispatch by sigil
* Fixed PAST::Block.arity, so if foo() -> $x { ... } works again
* our and my scoped methods
* our scoped variables, various package-y bits
* my ($a, $b) style declarations
* Made Stash a Hash
* Literal values in signatures 16:15
* |@foo, |%bar
* Fix GLOBAL lookups, first cut of PROCESS
* Many introspection things now work, like .^methods
* Assorted CORE.setting additions
* Many little bug fixes
In the coming week...
* Will be in Beijing, so a bit distracted by travel and sightseeing
* Give talks at BJPW
* Fix magical vars ($_, $/, $!)
* new, BUILD, etc
* More stuff from nommap
EOR
Will miss #phasers due to being on a plane.
moritz pmichaud++ 16:16
jnthn++
what I did: 16:17
* added some more builtins to nom 16:18
* added back basic file IO
* reviewed Failure.pm, found a few (IMHO) small bugs
* turned up and reported some other failures
* added more passing spectests
tweaked pir:: tests 16:19
PLANS:
turn X:: things into roles
implement backtrace
teach die() and fail() about X:: classes
EOR 16:22
EOP
colomon Did: 16:32
* blog post justrakudoit.wordpress.com/2011/06/23/euler-5/
* learned it's actually a trivial one-liner in Rakudo (sorear++)
* say [lcm] 2..20
* seriously, that's so short it's barely a one-liner!
* infix:<**> for Niecza
* fixed bug in Rakudo turned up by that
* had dinner with a bunch of Parrot guys
* promoted Perl 6 to several people I just met
* worked on my talk for tomorrow
Plan on:
* Parrot BOF tonight
* giving numerics talk tomorrow
* maybe a lightning talk on sequences if I can get it written and there's still space
* finally getting some nom hacking in
EOR
pmichaud colomon++ 16:43
moritz colomon++ 16:49
17:03 ashleydev joined
sorear Did: 17:06
* released Niecza v7
* fixed adverbs on prefix:<|>, a silly heredoc despacing bug, and made the REPL even more robust to errors (thou++ for finding these three failing cases) 17:08
* fixed $_ use in the REPL, but the implementation is far uglier than I'd like 17:09
* implemented binding to elements
* changed variables to default to my Mu $x = Any, including aggregate elements but not parameters
* made postcircumfix:<[ ]> and <{ }> the canonical definitions for $obj[2] and $obj<a> semantics 17:10
* constant $?FOO is my-scoped, even if constants in general are our 17:11
* Simplified handling of C# primitives, you now only need to define them in two places
* Improved regex **; handles spaces, blocks on RHS
* finished implementing jnthnian stash handling 17:12
* generally acted excessively grumpy to a lot of people on IRC; Sorry.
Plan: 17:13
* Spectests this week
* Then raid TODO
EOR
17:14 masak joined 17:19 colomon left 17:22 colomon joined 17:44 colomon left
sorear the spike in github follow rates that normally appears immediately after a release has failed. I guess this means I've reached awareness saturation among p6a subscribers, and I need to move elsewhere 17:45
17:48 colomon joined
TimToady maybe you've got a bunch of people downloading continuously who used to be occasional 18:02
18:17 colomon left 18:20 colomon joined 18:21 mberends joined
mberends reportlet: 18:27
* enjoyed putting nom's new Test.pm ability to work, ramped up the number of testable files 18:28
* heavy storms in NL tonight, may be affected by blackouts
.eor 18:29
masak report-ish: went to France, gave 2+ε talks. dropped the ball with the daily blogging. about to get back up on the horse. want to help with nom, but tuits are scarce. EOR 18:54
colomon masak += 1+ε 18:56
masak :-3
tadzik ε-: 18:57
masak :-Š·
tadzik oh, #phasers 19:00
report:
done: passed an exam
will do: pass (hopefully) another exam, then focus on gsoc/drinking, traveling in random directions 19:01
=end report
sorear o/
mberends \\o 19:02
colomon o/
...and then there was silence. :) 19:05
sorear not good!
colomon pmichaud just suggested freezing master's spectest so that we can start migrating the rakudo spectests to nom.
sorear several people have suggested variations on perl6sharp/ironperl6 for Niecza's new name
colomon (like we did with alpha and ng.) 19:06
sorear I'm wondering if it makes sense to have different names for Niecza-CLR and Niecza-Otherbackends
mberends sorear: no, but ironperl6 sounds nice
pmichaud I'm in favor of freezing master's spectest. 19:07
anyone opposed?
mberends +1. the developers have all moved on.
pmichaud I'm also in favor of doing some file refactors and renames in specs, too :)
sorear What do you mean by freezing? 19:08
Yeah S02 is way too big :D
pmichaud "freezing" == rakudo master always checks out a specific revision of roast.
if we're going to do significant file refactoring/renames, now seems like a prime opportunity to do it, with the two active implementations already starting on a fresh set of spectests. 19:09
mberends let's rename rakudo/master to rakudo/beta in the near future
colomon +1
pmichaud I'm just going to put it back to "ng", actually.
rather than start a new naming sequence.
colomon +1/2 19:10
masak thinks either beta or ng is fine
pmichaud I just don't see the point in saying "beta was the ng version, gamma is the nom version, etc...." 19:11
easier to just put the versions back to their original branch name.
masak aye.
pmichaud if we want to tag them specifically, it could become old-alpha, old-ng, etc.
tadzik then nom would be delta <Bourne's reference>
colomon guess there's a conflict with alpha/beta testing concept, too.
masak "alpha" was "alpha" for lack of another name for it.
sorear it's always funny when "New" stuff is obsolete
pmichaud yes, perhaps alpha should've been called "prime" :-)
or "zero" 19:12
masak sorear: thought "ng" stood for "Next ..." :)
PerlJam yes, rakudo is well past its prime.
sorear yeah, Next, but still
masak now it's "last" :)
well, "previous".
pmichaud anyway, I don't want to rename rakudo/master until we have something that we're comfortable with replacing it with
i.e., it needs to be at the point where we say "the next release is from nom" 19:13
colomon +1
hoping that time is fairly soon. :)
pmichaud (which I hope to be the likely outcome for July, but we're still too far to commit to that yet.)
PerlJam sounds like it
mberends I think there's too much to do for a July date, if we want the ecosystem projects to run on nom 19:15
jnthn told me Zavolaj will need considerable re-work, which then affects MiniDBI 19:16
colomon mberends: does MiniDBI run on current Rakudo?
colomon 's Zavolaj modules are all still broken, as far as he knows 19:17
mberends colomon: partly, there are some test fails but other bits work
colomon *Zavolaj-based
mberends It has not been urgent enough to get the tuits, relative to nom work 19:18
colomon back in a moment 19:19
19:19 colomon left
sorear 12:06 < mberends> sorear: no, but ironperl6 sounds nice 19:19
mberends: what did you mean by this?
mberends I like the suggested name
masak me too. 19:20
mberends the no was about different names for different backends 19:21
19:21 colomon joined
sorear mberends: then I wonder how I could use that name 19:22
pmichaud we can do a July compiler release from nom even if the Star release still uses master.
that's kind of the point of separating distribution and compiler releases :-)
we can also start a new distribution sequence using nom 19:23
masak a non-Star one?
sorear mberends: if it doesn't make sense to have different names, then I need to use the same name for all. Right?
pmichaud if we feel it's important to get a distribution release going sooner than we can convert Star to use it, perhaps.
(yes, a non-Star one, potentially) 19:24
mberends sorear: I think so, but far be it for me to impose such opinions on you
pmichaud: I think it's better to keep name-changing to a minimum for PR reasons 19:26
colomon likes Niecza as a name
pmichaud mberends: yes, I agree to some extent.
I'm simply pointing out that we have more flexibility than might have been traditionally assumed. 19:27
mberends Since nom will be getting most of the contributors' attention, all we can expect to go into the next Star (ng based) release is bugfixes and triage work. The Star after that will probably be nom-based and much more exciting. 19:31
pmichaud mberends: agreed. 19:35
and we can schedule the following star release to be whenever we think nom is ready (not later than October, though)
tadzik is there anything new in master for Star to be exciting? 19:36
pmichaud it's actually somewhat faster. 19:37
(than the previous Star release)
tadzik mhm
sorear tadzik: vastly improved garbage collector since last quarter means it's actually possible to build it on my machine again
tadzik oh, that's something, yes
pmichaud there have been a few rakudo fixes, and a lot of parrot fixes. 19:38
sorear colomon: ISTR masak was having issues talking about it
tadzik sorear: what kind of machine are you on?
sorear tadzik: .375 GB RAM
colomon: I also STR you had a Plan for Sin
colomon sorear: yes, just need to find the tuits for it.
also figure out how many of the weird cases need t be tackled now. 19:41
sorear mind sharing? 19:42
colomon weird cases or plan? 19:43
sorear all
colomon my plan was basically to come up with a standard template for a trig function in Niecza, and then use code generation to spit out the actual functions. 19:44
because the framework for each function will be basically exactly the same.
well, maybe with variations for inverse functions.
weird cases: 1) trig bases 19:45
2) very very large Ints, Rats, FatRats
3) very precise FatRats
#3 seems pretty worthless to me.
#2 less so
#1 I might still be willing to skip for a first approximation
sorear most trig libraries are documented as losing precision for large numbers 19:46
usually they work by first reducing modulo "2pi", then applying a high-order approximation (polynomial, rational, sometimes CORDIC) 19:47
mberends I've been studying the p5 bigint/bignum docs a bit, and I think leaving much of this to external libs is good for a core language. The important thing is to have good hooks in place. 19:48
colomon sorear: right
sorear when the input is on the same order as the inverse error of the nearest long double to 2pi, the output will be completely wrong (absolutely)
colomon sure, but at least in theory for non-num types we can reduce module 2pi ourselves
I'm just not sure if it's worth fiddling with. 19:49
sorear trig bases are more of an issue 19:50
TimToady has take a dislike to trig bases 19:51
*taken
sorear I saw a lovely rant on the Internet once about the fact that in matlab(?), int(log10(1000)) = 2
colomon TimToady: agreed
sorear apparently later versions of matlab special case log10 to return integers when the input is within epsilon of a power of 10
which annoyed this guy even more, because now it's discontinuous 19:52
moritz :-)
colomon TimToady: were you okay with the idea we were bandying about of making trigbase a named parameter (rather than positional)?
TimToady I don't like the extra parameter at all
sorear it was some CAS starting with M 19:53
TimToady most languages get away with using unaries
and sin/cos are traditionally unaries
sorear TimToady: what do you think of 'use trigbase'?
moritz sorear: I'm pretty sure that Matlab is not a CAS, and Mathematica doesn't treat it wrongly :-)
TimToady and I'm wondering about passing closures to .assuming. my &sin = &OUTER::sin.assuming(* * $DEGREES) 19:54
to just remap args instead of removing them
well, I guess one could just write a function for that
moritz I think radians are fine, and there's a good set of previous art for it 19:55
TimToady at the moment I'm in the mood to make trigbases go away entirely
pmichaud +1
sorear +1
TimToady in that case, change it while I'm still in the mood :)
moritz +1
mberends +1
sorear I
I'll go take an axe to the spec now 19:56
TimToady ooh, thunder
moritz sorear: good, then I don't have to :-)
TimToady I think I'll run on battery for a while...
colomon feels like he has too much work invested in trigbases to make a fair call, but will go with the crowd.
TimToady: out my window it barely even looks cloudy! just to the far left... 19:57
TimToady I'd rather find a way to remap the functions statically within a lexical scope
well, if colomon and I drop off, either we took a power hit, or we're locked in mortal combat with each other :)
sorear TimToady: use trigbase is currently specced as setting $?TRIGBASE and defining new functions my &sin := &sin.assuming(..), etc
TimToady: does it make sense to keep "use trigbase" but get rid of $?TRIGBASE, and just have it generate arg remappers? 19:58
TimToady probably
we could still even have $?TRIGBASE for use by user code, but do arg remappers 19:59
rather than inflicting an extra argument on the built-ins
sorear so, have TRIGBASE set but not used by the core?
TimToady that was my thought
thinking also about the definition of "natural unary" we were discussing the other day 20:00
colomon woo-hoo! I didn't actually write anything about trigbase for my talk tomorrow, so I don't have anything to delete! 20:01
sorear should we keep the TrigBase enum? I think it might make more sense to have $?TRIGBASE be a simple numeric multiplier
sorear wonders what to do about to-radians and from-radians
masak ooh, trigbases are going away? splendid! 20:02
sorear needs a commit message rationale :)
moritz "as decided by #phasers"
"overly complicated"
TimToady had a fit of sanity
moritz hey, I sense a new sport: P6 specs commit messages bullsh!t bingo! 20:03
sorear I think I'll keep enum TrigBase, but with more sensible numeric values
tadzik "girrafe's tongue is 12 inches long". You could slip some controversial decisions behind that 20:04
masak 12 inches?!
tadzik or so. They clean their ears with them 20:05
mberends almost as long as a zebra's stripe
masak my goodness.
tadzik girrafes lick sugar off zebras...
masak I think this #phasers just jumped the shark :)
sorear has to look up what a gradian is 20:06
mberends ok, srsly
masak sorear: there are 400 of them in a rotation.
mberends sorear: 1. do you think Niecza's library interface can be Zavolaj-ish, and 2. do you plan to go beyond CLR libs to native libs too?
tadzik oh, I lied 20:07
A giraffe has a prehensile tongue that is about 18 to 20 inches long
20:08 lichtkind joined
sorear heh, I never knew centigrade was a unit of angle before 20:08
in what countries is the gradian the default unit of laymen? 20:09
mberends thought only the USA ever used it
masak has never seen it mentioned outside of textbooks, Wikipedia, and the spec 20:10
colomon "The unit originated in France as the grade, along with the metric system. " --Wikipedia 20:11
mberends p6l will never forgive us for this Occam Razoring 20:12
TimToady ah, they were probably metricizing 90°
colomon TimToady: exactly.
TimToady about the same time as they tried a 10-day week
mberends Napoleonic, that figures
colomon I hate to say it, but it kind of makes sense to me, actually. more sensible than many more popular elements of the metric system.... 20:14
moritz gradian: full circle = 400 gradians? 20:15
mberends colomon: please specify 2nd 'it': 10-day week or 400-grade circle? ;) 20:16
colomon 400-grade circle.
mberends phew
colomon it means right angles are 100-grades
TimToady still kinda likes the idea of PiRats 20:17
moritz
.oO( shouldn't we move Perl 6 from pi to tau? :-)
colomon is firmly opposed to tau
moritz my proposal wasn't quite serious, let's not argue about pi/tau in here :-) 20:18
colomon +1
moritz though of course pi/tau = 1/2 :-)
masak :P 20:19
pmichaud in the spirit of TMTOWDI, we should support both pi and tau. :)
*TMTOWTDI
sorear How insane is it to allow enums with non-integral values?
TimToady is getting zigzags in his vision, and it's not lightning, so better wrap up soon
sorear thinks it's actually completely sane 20:20
masak τMτOWτDI
mberends :)
sorear: what is your use case?
TimToady colomon doesn't want to tau the line
colomon TimToady: I've had it up tau here with these puns. 20:21
masak λολ
pmichaud tau: www.cnn.com/2011/TECH/innovation/06...index.html 20:23
TimToady 兄口兄
masak TimToady: renkouren? :) 20:25
oh wait, that's ru.
sorear sees ninguchinin 20:26
mberends: see latest spec change 20:27
mberends sees
TimToady sorear: not nin
nyuu 20:28
sorear oh 20:29
å…„ and äŗŗ look practically the same in this font :/ 20:30
tadzik the first tent has a flag, the second one doesn't
masak oh you westerners, you're so cute trying to describe hanzi. 20:31
tadzik I feel more like an easterner, or centerner :)
TimToady the first looks like "enter", and the second looks like "guy" :)
masak sorear: I did the same mistake above... but not due to the font :/ 20:32
moritz thought that Westernesse has long since sunk
sorear with the two side by side, there is 1 pixel of difference
TimToady maybe you need a bigger font size :)
masak "...just a bit of difference..." 20:33
everyone reading hanzy needs a bigger font size.
hanzi*
mberends sorear: that use of 'enum' conflicts with my expectation of integer-enum too much, so I would want to call it something different, probably something closer to constants. 20:36
also, enums should be able to auto-number in alignment with a preceding value 20:38
sorear mberends: hmm. Do you think it would be a good idea to 1. switch back to a "plain" enum with the numeric constants embedded in to-radians 2. switch to a bank of constants with no enum structure? 20:51
mberends sorear: 2 looks better on the grounds of simplicity 20:53
sorear Anyone else have comments/objections? 20:55
My type-sense tells me that constant Degrees = pi / 180; is a bit wrong 20:56
masak I don't think we need much structure there at all.
people who care enough about trig are perfectly capable of defining their own constants, too. 20:57
let's focus on the bits of the design where there's an actual need.
colomon hmmm... I disagree a bit with that
masak fair enough. let's hear it.
colomon people who care about trig are probably using radians anyway
masak aye. 20:58
agreed.
colomon it's the more casual user who might want to use degrees
and have them readily accessible
was in Piers' talk this morning about making programming more accessible 21:00
masak sub postfix:<degrees>($rad) { $rad / pi * 180 }; say sin(90\\ degrees)
colomon so now I'm visualizing a junior high school girl trying to use Perl 6 to do her geometry homework, and getting quickly frustrated because of radians.
masak I think postfix ops are great for units. 21:01
colomon rakudo: sub postfix:<degrees>($rad) { $rad / pi * 180 }; say sin(90degrees)
masak ENOP6EVAL 21:02
tadzik hi hi
colomon EPHASERS
that worked fine
masak but with the wrong result :(
colomon :(
masak there, fixed it.
brain was on sideways. 21:03
colomon only problem is how to work the inverse functions in that way....
masak degrees**-1 :P 21:04
colomon I guess I'd just as soon p6 doesn't worry about all that by default, though. Or mostly exposes it via to-radians & from-radians or something like that. 21:05
masak yes. 21:06
sorear have you made up your minds yet? what should be done? 21:13
masak votes for axing trigbase types 21:14
mberends is not really present 21:16
pmichaud I'm fine with eliminating trigbase types. if we discover we need them, we can figure out a better approach then. 21:17
21:25 colomon left 21:27 colomon joined
PerlJam re trigbase, +1 to the axe 21:43
22:39 colomon left 22:44 colomon joined 22:48 masak left 23:05 cotto joined 23:43 mberends left 23:55 dukeleto joined