pugs.blogs.com | pugscode.org | pugs.kwiki.org | paste: sial.org/pbot/perl6 | <stevan> Moose... it's the new Camel ":P | .pmc == PPI source filters! Set by Alias_ on 16 March 2006. |
|||
TimToady | I've not had bad luck lately with parrot installs. | 00:00 | |
in fact, I always install parrot. | |||
PerlJam | I used to do that until things broke | 00:01 | |
TimToady | this is the first time I've been burned by pugs install though... | ||
like I say, my parrot install hasn't broken for a couple months. | |||
but maybe that's because I have my PARROT_PATH set right | 00:02 | ||
actually, as I recall, the problem used to be that pugs was believing the installed parrot over the PARROT_PATH parrot. | 00:03 | ||
svnbot6 | r10312 | gaal++ | * Touch Test.pm and Prelude.pm so they will be regenerated to | 00:04 | |
r10312 | gaal++ | fit with the recent CompUnit change. The good news is that | |||
r10312 | gaal++ | next time when things change the error message can be much better. | |||
gaal | in fact the next time, the error will be intercepted and the stale file regenned on the fly. Or that's the plan. | 00:05 | |
putter++ # bugging me about versioned bytecode months ago | 00:06 | ||
gaal-- # not putting in versioned bytecode months ago | |||
particle_ | when !~ matches, what does $/ contain? | 00:07 | |
svnbot6 | r10313 | Darren_Duncan++ | ext/Relation/ : added new Relation.pm methods restrict() and delete() ; added method aliases [where, grep, delete_where, select, select_all_but] ; added return types to method sig docs | ||
gaal | eep it'll be dawn in a couple of hours, I should sleep & | ||
TimToady | particle_: same thing as when ~~ matches. !~ only changes the boolean sense | 00:08 | |
particle_ | okay. | 00:09 | |
TimToady | just means the Match object shows up in the else instead of the then... | ||
audreyt | TimToady: ping | 00:15 | |
TimToady: re f(x=>1) named and f('x'=>1) pair, I like that even more | 00:18 | ||
it follows that f(1=>2) also not named. | |||
TimToady: also, there is a student in SoC who wants to hack MAD->p6, are you willing to mentor him (i.e. evaluate his progress and provide feedback)? | |||
if yes, signup is at code.google.com/soc/mentor_home.html | 00:19 | ||
00:19
justatheory joined
|
|||
audreyt | (it is currently the highest ranked mentorless proposal) | 00:20 | |
TimToady | hmm, I'm a lousy mentor... | 00:23 | |
but maybe I could do that. | |||
I always read SoC as Southern California... | 00:24 | ||
I don't have a google account... | 00:25 | ||
particle_ | invite on its way | 00:26 | |
audreyt | also, google allocs slots by number of distinct mentors | ||
(i.e. mentors that volunteered for proposals) | 00:27 | ||
00:27
feng123 joined
00:28
garth joined
|
|||
audreyt | so it'd be nice to expand the mentor base a bit :) | 00:28 | |
svnbot6 | r10314 | fglock++ | PCR - added :ratchet to the benchmark (3.7x faster than plain PCR); t/09-ratchet.t passes 18/23 tests | ||
audreyt | TimToady: also, the "magical special" flavour of autoquoting works quite well as the indicator of "magical special" named-arg | 00:30 | |
00:36
SubStack joined
|
|||
TimToady | okay, I get the feeling you like it. :) | 00:36 | |
I do too. :) | |||
I take it you're still trying to get used to [,]... | 00:37 | ||
audreyt | nope, that's fine | ||
it has to be treated specially | |||
just like * did | |||
because of arglist delaying | |||
TimToady | the one lossage is that [,] can't really trigger a $capture | 00:38 | |
audreyt | so I'll just take it as a differently spelled * | ||
TimToady | but I'm thinking =$capture works maybe | ||
audreyt | you mean ([,]$capture) | ||
wouldn't work? | |||
TimToady | if it's just a list, $capture doesn't interpolate. | 00:39 | |
audreyt | [,]%hash fails too, right? | ||
(instead of interp'ing to named, it'd take pairs) | |||
TimToady | Well, %hash makes pairs... | ||
audreyt | but *%hash worked because it's unary | ||
[,] is listop | |||
TimToady | right. | ||
audreyt | and so can't tell %hash apart from $pair | ||
whilst a unary op can. | 00:40 | ||
TimToady | could just force it. | ||
audreyt | [,]%hash1, %hash2 | ||
you mean, force all pairs back into named? | 00:41 | ||
or force as in using MMD? | |||
TimToady | one level's worth, just like * did | ||
audreyt | so you mean, if you give [,] one arg | ||
then it behaves like old * | |||
if you give it two | |||
does it propagate? | 00:42 | ||
[,] %h1, %h2 | |||
does that make both into nameds? | |||
TimToady | it's not really a force for %hash1, %hash2 because a reduction is defined syntactically. | ||
yes, to do just one is [,](%h1), %h2 | |||
audreyt | but not [,] (%h1), %h2 | ||
TimToady | so each pair is "comma separated" at the top level. | 00:43 | |
which makes it named | |||
presumably not. | |||
audreyt | we had *$hash and *%hash do the same thing | ||
TimToady | as I say, it's just $capture that doesn't naturally continue to work. | ||
audreyt | persumably we'd need to write [,] %$hash now? | ||
00:43
FurnaceBoy joined
|
|||
TimToady | presumably. | 00:43 | |
and =$capture, perhaps | 00:44 | ||
or @$capture, to just get the @ etc. | |||
audreyt | I'm fine w/ that | ||
TimToady | [,] $$capture, @$capture, %$capture; | ||
audreyt | I'm tempted to write *$capture to stand for "whatever caster"" ;) | 00:45 | |
TimToady | anyway, it really was seeming more and more like we needed to de-borrow * from Ruby. | ||
audreyt | but nah. it's a term. | ||
sure | |||
hm. | 00:46 | ||
TimToady | the deref meme was just wrong for *. now we're consistently globby with it. | ||
audreyt | my $capture = \( [,] want() ); | ||
my @a := =$capture; | 00:47 | ||
my $b := =$capture; | |||
TimToady | shades of typeglobs... | ||
audreyt | surely want() is not evaluated twice? | ||
trying to avoid typeglob shades :) | 00:48 | ||
TimToady | I would hope it would only evaluate once. | ||
audreyt | but more importantly, in capture construction, does want() just get the current context even when it's not part of binding? | ||
TimToady | it's still logically flattened, whether it's lazy or not. | 00:49 | |
hmm. that's why my --> Dog: conjecture said it's probably better to return an object that decides. | 00:50 | ||
audreyt | I agree, but that is an argument against builtins that checks want() and do different things | 00:52 | |
currently: | |||
TimToady | yes, want is a weird inside out delayed dispatch, or something. | ||
audreyt | reverse('1', '2'); # '21' on scalar context, ('2', '1') on list | 00:53 | |
TimToady | a parallel gather/take like thing | ||
audreyt | slurp('/etc/passwd'); # whole file on scalar, list of lines on list | ||
TimToady | if we had a language without side effects, it wouldn't be a problem. | ||
audreyt | readdir('/etc'); # one entry on scalar, all entries on list | ||
readline(); # ditto | |||
splice(@x, 0, 4); # all spliced on list, but _last_ item on scalar | 00:54 | ||
$str ~~ rx/.../; # positional captures on list, Match object on scalar | |||
that's all, I think | |||
TimToady | I think want has to be an "observation" in the Copenhagen interpetion | ||
audreyt | reverse() doesn't involve side effect | 00:55 | |
TimToady | interpretation, even | ||
audreyt | all others does | ||
and hence can't be delayed | |||
splice's side effect is always the same regardless of context | |||
so is poetntially safe | 00:56 | ||
all others are unsafe. | |||
(well, it can be argued that slurp()'s is also the same) | |||
TimToady | can want know whether to collapse the wavefunction or not? | ||
audreyt | it can know if it's not-yet-bound | 00:57 | |
by passing in a Whatever context | |||
but that doesn't help readline() and readdir() | |||
which needs to do different things | |||
and has to do it now | |||
TimToady | It's like there needs to be a negotiotion. | ||
how lazy do you want me vs how lazy can I be | 00:58 | ||
audreyt | right | ||
TimToady | gee, sounds a lot like type inferencing... | ||
audreyt | it is a special kind of inferencing | ||
return-type inferencing | |||
but I'm wondering if we need all that mechanism, for readdir() and readline() | |||
instead of just saying that List context is just casting whatever returned into a List | 00:59 | ||
and vice versa | |||
which precludes them doing different things | |||
but that only affects <reverse readdir readline splice> | 01:00 | ||
TimToady | as far as I'm concerned, it could all just fall under the rule "if we don't know, it's list context". | ||
audreyt | I wonder if | 01:02 | |
reverse('x', 'y') | |||
can _always_ reverse the list | |||
regarddless of context | |||
and reverse('xy') would always just reverse the string | |||
as it's just "xy".reverse | |||
TimToady | interesting fallout from the 1-arg rule... | 01:03 | |
audreyt | i.e. have it decided by arguments, not by context | ||
TimToady | reverse(@onearg) | ||
audreyt | @onearg is an Array | 01:04 | |
goes to Array.reverse | |||
performs list reverse | |||
TimToady | so we only get into trouble with reverse([,] @onearg) | ||
audreyt | it's... not troublesome, I think | 01:05 | |
TimToady | I don't plan to lose much sleep over it... | ||
audreyt | and also even that can be made to work. | ||
because [,] puts it to pos, not inv | |||
it is still a list. | |||
so still list-reversed. | |||
?eval ~(reverse 1,2,3) | 01:06 | ||
01:06
evalbot_10311 is now known as evalbot_10314
|
|||
TimToady | because foo($x) really means foo([,] $(\$x)) | 01:06 | |
evalbot_10314 | "3 2 1" | ||
audreyt | yes. | ||
foo($x :), to use another notation | 01:07 | ||
TimToady | what's your opinion of the triangulation metaoperator? | 01:08 | |
audreyt | it's... cute | ||
TimToady | er... | ||
audreyt | [[+]] 1,2,3 | 01:09 | |
I wonder if that looks better | |||
TimToady | I had that first. | ||
audreyt | ok, how about [(+)] | 01:10 | |
TimToady | but...there's something to be said for cute... | ||
audreyt | just trying to reuse list-producer metaphor instead of backslash-metaphor | ||
TimToady | looks too much like a reduce on the (+) operator | ||
audreyt | but it is | ||
a reduce on the (+) operator | |||
just a "special" scan reduce ;) | |||
TimToady | is (+) a set operator? | 01:11 | |
audreyt | oh no... | ||
([+]) 1, 2, 3 | |||
can be made to work, but too yucky | |||
[/+\] | |||
I guess I'll livewith [\+]. | |||
TimToady | also tried [+]\ and [+\ | ||
audreyt | if you have a infix:<\+>, well, too bad | 01:12 | |
TimToady | also played with |\ briefly. | ||
I like that [\ is assymetrical | |||
audreyt | nod. | ||
TimToady | [/+\] would have to start in the middle. :) | ||
yes, but at least I doctored it so that [\+] gives you the normal | 01:13 | ||
svnbot6 | r10315 | audreyt++ | * Prim.List: [+] 1,2,3 is again fold, not scan. | ||
TimToady | reduce rather than the scan | ||
audreyt | so, in sigs | 01:14 | |
is (*@x) still slurpy? | |||
the syntax only changes on the calling end? | |||
TimToady | correct. | ||
slurpy is a manifestation of the globby meme | |||
"pattern match a bunch of things here". | 01:15 | ||
and can't be confused with GLOBAL:: because we never declare globals in sigs. | 01:16 | ||
01:29
Khisanth joined
01:34
justatheory joined
|
|||
svnbot6 | r10316 | audreyt++ | * reverse() is now context-insensitive. one-arg form, if the | 01:37 | |
r10316 | audreyt++ | arg is not listish, coerces to string and reverse it; otherwise | |||
r10316 | audreyt++ | it's always a list reverse. | |||
01:40
justatheory joined
|
|||
audreyt | TimToady: S06 still has | 01:41 | |
doit *$pair,1,2,3; # always a named arg | |||
doit *%pairs,1,2,3; # always named args | |||
I take it's now | |||
[,]%$pair | |||
[,]%pairs | |||
right? | |||
TimToady | yes | 01:42 | |
audreyt | doit [,](%$pair),1,2,3; # always a named arg | 01:43 | |
doit [,]('when' => 'now'),1,2,3; # always a named arg | |||
doit [,](%(get_pair)),1,2,3; # always a named arg | |||
so that's the correct way | |||
not sure how the second line works. | 01:44 | ||
if it works at all | |||
TimToady | though in the particular case of 1,2,3 it doesn't matter whether they're in or out | ||
audreyt | shouldn't it also need a | ||
ludan | good night | ||
audreyt | %('when'=>'now') | ||
? | |||
ludan: g'nite | |||
TimToady | I don't expect a %() would hurt there. | 01:45 | |
audreyt | but without %(), I can't see it working | ||
TimToady | =$pair possibly. | ||
audreyt | 'when'=>'now' is not different from $pair | ||
doit [,] %$pair,1,2,3; # always a named arg | |||
doit [,] %(get_pair()),1,2,3; # always a named arg | |||
doit [,] %('when' => 'now'),1,2,3; # always a named arg | |||
well, eventually [,]= becomes the next * | |||
TimToady | is that an assignment operator? | 01:46 | |
audreyt | heh ;) | ||
oh. did you see my question about | 01:47 | ||
$+PATH = 'x' | |||
TimToady | there's a nice consistency to the % there. | ||
audreyt | @+PATH = (1,2,3) ? | ||
TimToady | It seems like a good plan, except for the fact that different listy env vars are going to use different delimiters... | 01:48 | |
01:48
Ymmv joined
|
|||
audreyt | which is why maybe it's not neccessarily a good plan... | 01:48 | |
(also, mutable $+PATH in general is unspecced) | 01:49 | ||
but I guess it better be mutable | |||
also, not sure what %+PATH even means :) | |||
maybe the ENV hash only declares $+PATH, and @+PATH is a lookup failure. | |||
TimToady | env @PATH is delim<:> := $+PATH | 01:50 | |
I dunno. | |||
this reminds me a bit of @array ~~ /pattern/ | 01:51 | ||
$+PATH is parsed ... | |||
audreyt | dies_ok { f7($bar => 42) }, | 01:52 | |
"variables cannot be keys of syntactical pairs (1)"; | |||
Juerd: implicitly computed keys are now dead, yay | |||
TimToady | wouldn't that just be a pair argument? | 01:53 | |
audreyt | yup | ||
but f7 was declared as | |||
TimToady | or does it die because of f7? | ||
got it. | |||
audreyt | sub f7 (:$bar!) | ||
bbiab | 01:54 | ||
svnbot6 | r10317 | audreyt++ | * implicitly computed keys in named arguments are now dead: | ||
r10317 | audreyt++ | f(a=>42); # named | |||
r10317 | audreyt++ | f('a'=>42); # positional | |||
TimToady | commuting home & | ||
01:56
DaGo joined
02:00
neoesque joined
|
|||
TimToady | degone | 02:12 | |
audreyt | back | 02:14 | |
so a [,](...) within a capture introduces a "zone" | 02:15 | ||
within which things are parsed differently | |||
using autoconcat rules | |||
TimToady | by autoconcat you mean A x B x C x D...? | 02:16 | |
that is, the syntactic rewriting of [x]? | |||
audreyt | I mean | 02:17 | |
[,](%a, %b, %c, @d) | |||
explodes the elements one level | |||
and concat them together asif they were written out in toplevel | 02:18 | ||
TimToady | which is what a reduce is supposed to do... | ||
by syntactic metaphor | |||
audreyt | yes, but in the case of [,] and [;] | ||
that means more like "reparse" | |||
btw, why doesn't [=] work? | 02:19 | ||
[=] $a, 3; | |||
TimToady | I don't see why it wouldn't. | ||
audreyt | I'll add it to S03 then. I dopn't see why it wouldn't, either. | 02:20 | |
what is the negation of ===? | |||
not ($a === $b) ? | |||
TimToady | not( $a === $b ) | ||
audreyt | is [=]() nonsensical of undef? | 02:21 | |
(same goes for [:=]) | |||
TimToady | I suppose. | ||
audreyt | [+=] $a, $b, $c; # sane, then | 02:22 | |
TimToady | Then theres [\+=] $a, $b, $c | 02:23 | |
audreyt | ok. thanks for getting this normalizationg ([,] [=] [;]) in | ||
before au[frank|dreyt] burned too much time on the */** form... | 02:24 | ||
it's quite a bit easier to explain, the current way. | |||
TimToady | It just suddenly hit me that we already had * staring us in the face. | ||
audreyt | easiest to miss when it's too close... | ||
TimToady | I think so. Damian likes it. | ||
audreyt | I like it as long as we use [,] %() consistently :) | ||
this actually means [,] cannot introduce new invocants | 02:25 | ||
can't tell between [,] $$x and [,] $x | |||
for some reason, this still doesn't bother me, if we keep =$x. | |||
=$cap, that is | 02:26 | ||
that is, we treat = as almost a sigil | |||
for the special purpose of the [,] zone | |||
it feels a bit icky | |||
TimToady | 'course it was the pain of rewriting all the *@foo to make * "almost a sigil" that drove me over the edge to whacking it... | 02:27 | |
audreyt | $$cap.call([,] @$cap, %$cap); | ||
what do you feel about imposing this on users? | |||
call([,] =$cap) # because this takes a special-case of prefix:<=> | 02:28 | ||
TimToady | as long as there's a way to do it, we can look at slicker ways to do it later. | ||
audreyt | however, we can workaround it by saying any function calls in [,] zone | ||
gets all its full Capture-return exploded | |||
sub func {return(1: 2, x=>3)}; \([,] func()); | 02:29 | ||
TimToady | yes. | ||
audreyt | and then it falls out from that | ||
ok, that feels much clearner :) | |||
TimToady | do extra invocants turn into positionals or blow up? | ||
audreyt | yes. | 02:30 | |
(but I prefer the latter) | |||
but well hm | |||
TimToady | clearner++ | ||
audreyt | the latter can't work, can it | ||
has to be the former | |||
the former, then. | |||
extra invs become positionals | |||
and we can use your Capture layout | |||
TimToady | kinda goes back to the idea that the invocant is the honorary head of the positionals... | 02:31 | |
audreyt | where the inv is just a bit | ||
RAID again... | |||
TimToady | yeah. | ||
audreyt | ok. can you document those two points? | ||
I feel together they can make [,] fly stably | |||
(capture-explosion and inv-turns-into-pos-under-explosion) | 02:32 | ||
TimToady | I've been thinking of invocants in Captures as kind of a search strategy, where different types from the type bag | ||
are more specific. | |||
and the head of @ is just the most generic place to look for an invocant. | |||
audreyt | surprisingly, I parsed that line with no difficulty and even agree with it :) | ||
TimToady | it took me a while to compose it... | 02:33 | |
02:33
DaGo joined
|
|||
TimToady | I'm being called to dinner, but I'll whack on it later. | 02:33 | |
audreyt | so it was worth that while, I suppose... | ||
yay | |||
TimToady++ | |||
02:33
dduncan joined
|
|||
TimToady | biab & | 02:34 | |
audreyt goes to find some lunch | |||
dduncan | audreyt, when you come back, can you give an idea when the earliest possible date/time is that the cut-off for what goes/doesn't into 6.2.12 is? | 02:35 | |
I'd like to know how much time I have to work with to get certain things in | 02:36 | ||
eg, will it be before or on next tuesday/wednesday? | |||
audreyt | well, we know it has to happen after parrot release | 02:37 | |
preferably right-after | |||
which means next wednesday is likely | 02:38 | ||
or thursday | |||
or at latest next weekend | |||
dduncan | for parrot or pugs or both? | ||
audreyt | both | ||
parrot 0.4.4 will be relenged this weekend | |||
and released, usually a few days after | |||
bbiab... | 02:39 | ||
dduncan | thank you | ||
audreyt | np :) | 02:40 | |
02:40
dduncan left
02:49
FurnaceBoy joined
02:55
multic joined
02:59
multic left
03:02
nothingmuch joined
03:13
KingDiamond joined
|
|||
meppl | gute nacht | 03:24 | |
03:25
DaGo joined
03:44
aufrank joined,
Ymmv joined
|
|||
aufrank | hello! | 03:45 | |
FurnaceBoy | ola | ||
aufrank | is gaal around? | 03:46 | |
stevan++ | 04:02 | ||
will perl 6 cherry pick the role additions from the newest Moose? | |||
svnbot6 | r10318 | lwall++ | More long dot tests. | ||
aufrank | calc | ||
04:07
FurnaceBoy_ joined
|
|||
aufrank | sorry, that was supposed to be M-x calc =\ | 04:12 | |
04:24
FurnaceBoy joined
|
|||
stevan | aufrank: I hope Perl 6 will consider some of the role additions I have made | 04:38 | |
aufrank | I think excludes sounds really useful | ||
that said, I've never programmed with roles at all, so it's just gut feeling at this point | |||
stevan | yeah me too, stole that from Fortress :) | ||
aufrank | I haven't really done the heavy lifting of thinking up use cases ;) | ||
stevan | well one of the main issues with role composition is that easy things are easy | 04:39 | |
but complex things can get really hairy really fast | |||
Moose still hasn't worked out the full details of how attributes and roles interact | 04:40 | ||
when i mentioned to the guys who wrote the original Traits paper that we were experimenting with that | |||
they said "good luck, let us know how it works out" :) | |||
its a potentially very thorny feature | 04:41 | ||
aufrank | attributes are traits? | ||
sub foo is fancy does dance_moves { ... } | 04:42 | ||
fancy is the attribute, dance_moves is a role? | |||
stevan | aufrank: no, class-attributes/instance-slots | ||
aufrank | oh oh | ||
stevan | role Foo { has $.bar; } role Bar { has $.bar; } role FooBar { does Bar; does Foo; } | 04:43 | |
what should happen there | |||
conflict is the most obvious | |||
aufrank | role foo { has $.a } role bar { has $.a } sub foo does foo does bar { say $.a } | ||
stevan | right now in Moose, any attr name conflict blows up right away | 04:44 | |
however, this is only because we closely associate instance slot names and attribute names | |||
if we decoupled that, it would not be an issue | |||
aufrank | can you be explicit with $::foo<a> or something> | ||
? | |||
stevan | exactly | ||
aufrank | (was I close on syntax?) | 04:45 | |
stevan | but it gets messy the more details you add to the use case | ||
fairly close I think,.. I have been outta the loop myself :) | |||
aufrank | S12 is one of the one's that I'm not sure I've ever been all the way through... | ||
stevan | :) | 04:46 | |
it's a dense one thats for sure | |||
aufrank | stevan: are instance slot names and attribute names separated in ruby? | 04:49 | |
one of the two is @@, I think | |||
PerlJam | stevan: I'm not sure if I got this from perl6 or from the traits paper or what, but isn't part of the compositional nature of roles that once composed, they lose their identity as separate entities? | ||
(ergo, the "right" thing to do in conflict is to blow up) | 04:50 | ||
stevan | aufrank: my ruby-fu is fairly weak these days :) | 04:53 | |
aufrank: IIRC, @foo is an instance variable, and @@foo is a class variable | |||
aufrank | mine too, or I wouldn't be asking ;) | ||
I'm just trying to get a sense of what that decoupling would bring with it | |||
is it just losing some of the $.a and $!b sugar in class declarations? | 04:54 | ||
stevan | PerlJam: once roles are combined, they become basically just an anon-role which is simply a composite of the roles with all mixing rules and conflict stuff applied | ||
aufrank: decoupling attr names from how they are stored just allows the meta-level to get more funky :) | 04:55 | ||
I am not sure if there is any true value though | |||
aufrank | maybe I'll wait til you draw a picture ;) | 04:56 | |
PerlJam | Why do I get the feeling that pelr6 needs another special block for composition-time actions? I don't know what you'd call it though, BEGIN, INIT, CHECK, and ... COMP? COMPOSE? hmm | ||
I guess it would be a special kind of FIRST though | 04:57 | ||
stevan | aufrank: :) | 04:58 | |
PerlJam | yeah, stevan++ for drawing good pictures :) | ||
stevan | PerlJam: one of the "experiments" in Moose is that of not trying to do everything at compile time | 04:59 | |
stevan knew those years at Art School didn't go to waste :) | |||
PerlJam | so moose has lazy conflict resolution? | ||
stevan | PerlJam: Moose is very lazy | 05:00 | |
PerlJam | one of these days I'll have to find time to play with moose. I saw your journal entry just a few minutes ago, but it only percolated up to a musing "neat" and not quite all the way to "I should play with this now" | 05:01 | |
svnbot6 | r10319 | aufrank++ | added todo items for [,] and recent clarifications in S06 | 05:05 | |
aufrank | alright, sleep time | 05:07 | |
see you folks around | |||
audreyt | g'nite | 05:15 | |
I'll be back in 3~4 hrs | |||
PerlJam | have a good sleep audreyt | ||
audreyt | s/sleep/shopping/ actually... | 05:17 | |
(that g'nite was to aufrank) | |||
& | |||
PerlJam | oh, well, have a good ... um, down time? rest from hacking? whatever it is that shopping does for you :) | 05:23 | |
Juerd | shopping time. | 05:24 | |
That's the safest way to say it :) | 05:25 | ||
05:52
DaGo joined
05:56
Ymmv joined
06:07
masak joined
|
|||
gaal | aufrank: you moosed? | 06:11 | |
06:11
Ymmv joined
|
|||
gaal | 04:13 < TimToady> reduce rather than the scan | 06:11 | |
06:11
Aankhen`` joined
|
|||
gaal | I'm not sure I agree with that | 06:12 | |
reduce is more general than fold or scan | |||
morning | |||
azuroth | I have safari :D | 06:29 | |
svnbot6 | r10320 | spinclad++ | - JudyHS: doc: added second, alternative, iterator interface | 06:39 | |
07:08
ghenry joined
07:09
ghenry left
07:13
macroron joined
07:20
iblechbot joined
07:41
r0nny joined
08:06
Ymmv joined
08:19
bb3 joined
08:22
elmex joined
08:26
DaGo joined
|
|||
svnbot6 | r10321 | spinclad++ | - JudyHS: add new calls to Judy.h | 08:33 | |
gaal | stevan: re: recent Moose post: In Haskell you can define either == or /= and either other one will be derived if it isn't defined. Maybe Moose should do that? | 08:37 | |
08:37
bernhard joined
|
|||
audreyt | rehi | 08:40 | |
hm, the named-arg caused 100% increase in failed subtests | 08:41 | ||
audreyt triages | 08:42 | ||
08:47
AtomicStack joined
|
|||
svnbot6 | r10322 | spinclad++ | - JudyHS: typo fixes | 09:01 | |
09:15
m joined
09:17
m joined
09:59
KingDiamond joined
10:03
larsen joined
10:13
nnunley joined
|
|||
ingy | hi nnunley | 10:21 | |
10:21
neoesque joined
10:23
DaGo joined
10:25
Kournikoza joined
|
|||
Kournikoza | hello, when i changed the timezone on my system, and my perl program is in a loop (and uses localtime()).. how can i know that the timezone has changed, so localtime() can work with it instead of the old timezone? | 10:26 | |
10:30
trampel joined
10:47
DaGo joined
10:51
chris2 joined
|
|||
Kournikoza | help, how can I get the current time in "seconds with %6d microseconds" with strftime? | 10:53 | |
10:54
ludan joined
|
|||
Juerd | You can't | 10:59 | |
Kournikoza | help, how can I get the current time in "seconds with %6d microseconds" with strftime? | 11:00 | |
11:03
mykhal joined
11:14
bernhard joined
|
|||
Kournikoza | help, gettimeofday returns the current time, but if i change the timezone, gettimeofday doesnt adapt to the timezone, but the date command shows the change.. what must i do? | 11:15 | |
11:18
elmex joined
|
|||
azuroth | is it a perl6 program, Kournikoza? | 11:36 | |
11:44
garth joined
11:56
AtomicStack joined,
iblechbot joined
|
|||
Kournikoza | azuroth yes | 11:56 | |
azuroth | excellent, I didn't know time stuff was implemented | 11:57 | |
Kournikoza | please, i needto know how i get the time in $seconds,$microseconds linked with the curernt time zone.. how can i do that? i tried several things with gmtime etc.. but i don't get the seconds and ms.. | 12:00 | |
12:01
pmurias joined
|
|||
pmurias | hi | 12:01 | |
audreyt | hi | 12:02 | |
pmurias | are there any plans for a rule syntax which wouldn't require named rules to be surrounded by <> | 12:03 | |
12:03
Ymmv joined
|
|||
pmurias | ? | 12:03 | |
> | |||
eq. /named_rule1 named_rule2/ instead of /<named_rule1> <named_rul2>/ | 12:04 | ||
audreyt | how do you diff that from literals? | 12:08 | |
12:21
neoesque joined
12:22
TimToady joined
|
|||
pmurias | require them to be quoted(some rules have very little of them eq. Signature.pg or Capture.pg) | 12:25 | |
or use the perl5 'no strict' style behaviour rules which are not defined return their name | 12:27 | ||
the <> less syntax would require an :modifier | 12:29 | ||
the APL,pheme,and the {Signature,Capture}.pg don't use literals, so it would be a (big) win for those | 12:36 | ||
audreyt | *nod* | 12:44 | |
pmurias | how should be the modifier named than? | 12:46 | |
12:48
weinig joined
|
|||
audreyt | not sure | 12:49 | |
pmurias | :bare? | ||
12:55
DaGo joined
|
|||
audreyt | I wonder if we can use standard combinator for them, even... | 12:59 | |
rule foo { <f1> <f2> } | |||
becomes | 13:00 | ||
sub foo { ; f1; f2; } | |||
probably just an idle thought. | |||
(but I do agree that <>-less syntax is attractive) | |||
<'literal'> just becomes 'literal' | 13:01 | ||
audreyt praises vim8 | 13:07 | ||
pmurias | what does '...' do in standard rules? | 13:08 | |
audreyt | it means two anychar | ||
I mean three | |||
13:08
marmic joined
|
|||
pmurias | :) the ... were just place holders | 13:10 | |
i want to know what do '' mean | |||
Gothmog_ | audreyt: You mean vim7? | 13:11 | |
audreyt | yes. | ||
Gothmog_ | Or did I miss something? | ||
k. :-) | |||
audreyt | I compensated for that in the "two anychar" below | ||
pmurias: they mean literal ' I think | 13:12 | ||
pmichaud | right now ' means literal ' | 13:22 | |
audreyt | token program { ^ statement_list ?ws [ $ | ?syntax_error ] } | 13:23 | |
token statement_list { statement [ ?statement_end statement ]* ?statement_end? } | |||
it does look a bit less cluttered | |||
pmichaud | how do we differentiate ? (non-capture) from ? (**{0..1})? Require that all quantifiers abut the thing the quantify? | 13:25 | |
s:2nd/the/they/ | |||
audreyt | prefix vs postfix? | 13:26 | |
and yes. | |||
pmichaud | rule { subrule1?subrule2 } | 13:27 | |
hmmmm | |||
audreyt | not sure if it's going to be a win overall | ||
audreyt recites the "different things should look different" mantra | 13:28 | ||
pmichaud | I guess one would disambiguate with [...]: rule { [subrule?]subrule2 } or rule { subrule[?subrule2] } | ||
pmurias | IMHO something else should be used for non-capture instead of ? in the <> less mode | ||
garth | rule { subrule1 subrule2 } vs. token { abc } vs. regex { abc } -- one more way to differentiate rules from tokens etc. | ||
pmichaud | except I would think that token should be like rule and less like regex | ||
audreyt | what pmichaud said. | 13:29 | |
pmichaud | i.e., rule { subrule1 subrule2 }, token { subrule1 subrule2 } vs regex { abc } | ||
pmurias: at one point we had <<...>> as capturing subrule and <...> as non-capturing | |||
another way to do a non-capturing rule is + ... <subrule> captures, <+subrule> doesn't | 13:30 | ||
(but that seems to give an odd interpretation to '+') | 13:31 | ||
pmurias | why is ? more easily explained? | ||
audreyt | my &f; say f(); | 13:32 | |
I wonder if this should die. | |||
i.e. is Code more like Array/Hash or is it more like Scalar. | |||
pmichaud | I've been thinking of it like scalar | 13:33 | |
but hadn't thought about it deeply | |||
audreyt | I think it has something to do whether assigning into &f should work in general | 13:34 | |
if you can say | |||
&*say = ... | |||
then it should init to undef, sure | |||
but maybe &*say is bound to that name, not assigned into it in the first place | 13:35 | ||
question is, is the default "my &f" a Code, or a Scalar with Code constraint. | 13:36 | ||
Pugs currently has the latter | 13:37 | ||
pmurias | pmichaud: the same problem occures with + as with ? | ||
pmichaud | pmurias: I don't disagree; I don't have another answer. :-) | 13:38 | |
audreyt | I guess doing it the way perl5 people would expect is probably best | 13:39 | |
i.e. it is mutable by default, and it should die | 13:40 | ||
when called in uninitialized mode | |||
13:40
ruoso joined
|
|||
audreyt | ?eval my &plus = {$^x+$^y}; &plus .= assuming(x=>1); plus(2) | 13:41 | |
13:41
evalbot_10314 is now known as evalbot_10322
|
|||
evalbot_10322 | 3 | 13:41 | |
audreyt | pmichaud: ping | 13:56 | |
pmichaud | poing | 13:57 | |
audreyt | pmichaud: did you sign up as SoC mentor? | ||
pmichaud | yes | ||
audreyt | have you taken any mentorship slots yet? | ||
pmichaud | at least I said I'd be one, I don't know that I "signed up" anywhere | ||
audreyt | oh. you need to do that, like, today | ||
pmichaud | afaik I don't have any mentorship slots yet | ||
audreyt | code.google.com/soc/mentor_home.html | 13:58 | |
if you had not | |||
pmichaud | I didn't know there was a "signup" | ||
audreyt | there was | ||
and if you didn't, then you can't take up mentorship at all | |||
so please sign up :) | |||
(because I'm trying to get aufrank's application pushed to your plate :)) | |||
(and scw's if you feel that you have extra time, but aufrank's definitely) | 13:59 | ||
pmichaud | I'm now signed up | ||
and yes, I have time, or will find the time | |||
audreyt | yay | 14:00 | |
pmichaud | I'd be glad to be working with aufrank and scw | ||
audreyt | so you have access to the "mentor home" project listing? | ||
or are you "pending approval" from perl.org? | |||
pmichaud | "pending approval" | ||
audreyt | particle_: are you the admin, or should I ping Robrt? | 14:01 | |
14:01
jsiracusa joined
|
|||
audreyt | nvm. pinged robrt | 14:03 | |
14:04
Khisanth joined
|
|||
scw | :) | 14:04 | |
aufrank | hi folks | 14:08 | |
audreyt | yo | ||
aufrank | my ears were burning ;) | 14:09 | |
audreyt | :) | 14:10 | |
audreyt is trying to avoid the undesirable ituation of mentoring ~10 people | 14:13 | ||
svnbot6 | r10323 | audreyt++ | * Uninitialized VCode is now (conceptually) undef, so this | ||
r10323 | audreyt++ | is no longer a parsefail, but a runtime failure: | |||
r10323 | audreyt++ | my &f; f 1; | |||
audreyt | so far quite successful; more than half is delegated away :) | ||
svnbot6 | r10324 | audreyt++ | * Regen AST.Internals instances to capitalize error messages. | 14:16 | |
r10325 | audreyt++ | * Eval.hs: "yield" should preserve the calling context correctly now. | 14:19 | ||
r10326 | audreyt++ | * Pugs.Parser.Operator: uninitialized functions are not | 14:22 | ||
r10326 | audreyt++ | relevant to parsing: | |||
r10326 | audreyt++ | my &f := -> $x {...}; f 1, 2, 3; # this is still listop | |||
r10327 | audreyt++ | * unTODO various passing tests, and take the quotes out of | 14:25 | ||
r10327 | audreyt++ | f('x'=>1) now that it has to be written f(x=>1). | |||
clkao | does pil2js backend work now? | ||
14:27
iblechbot joined
|
|||
audreyt | havn't checked recently | 14:27 | |
will get it to work before release | |||
14:33
DaGo joined
14:38
Limbic_Region joined
14:39
justatheory joined
|
|||
aufrank | I'm going to be afk for most of the weekend, I think | 14:40 | |
heading home to cleveland to watch a basketball game | |||
pmichaud | have fun | ||
aufrank | I'll see you folks sunday night or some time monday :) | ||
bye! & | |||
14:55
jserv-- joined
14:56
justatheory joined
|
|||
pmurias | ` could be used for non capturing rules | 14:58 | |
svnbot6 | r10328 | scw++ | Rule::Perl5::Ratchet: fix emitter to make lexical unnamed subrule works. | 15:04 | |
15:08
FurnaceBoy joined
15:35
mago joined
15:37
mago joined
|
|||
gaal | there are two mentions of &?SUB in S06. Is this correct, or should those be &?ROUTINE ? | 15:45 | |
TimToady | gaal: fixed, thanks | 15:52 | |
ingy | audreyt: ping | ||
audreyt | pong | 15:54 | |
ingy was interviewing someone a couple days ago for a programming position, who didn't really know Perl so much. At the end of the interview he said, "You Perl guys are pretty cool. I was always scared away by those crazy people like ESR and Larry" | |||
audreyt | but I need to sleep, like, now | ||
gaal | TimToady: thank you. I'm rereading S06 and things are making sense again :) | ||
ingy | hi audreyt | ||
I have a url for you | 15:55 | ||
audreyt | ok | ||
ingy | yaml type tags... | ||
audreyt | as long as it's not localhost/ | ||
I've already got that one | |||
ingy | pyyaml.org/wiki/PerlTagScheme | ||
gaal | and you can use it whereever you go! | ||
ingy | funny place for it I know... | ||
anyway I promised you a proposal | 15:56 | ||
audreyt | ok, I got it. | ||
I remember I said "tests" | |||
but a spec is fine | |||
it makes sense only when both YAML.pm and YAML::Syck can support it | |||
ingy | its not a spec | ||
audreyt | preferably in the same release | ||
Juerd | What is "couple days"? Short for "couple of days"? | ||
audreyt | Juerd: probably | 15:57 | |
ingy | it's a draft proposal for you to comment on at this point | ||
audreyt | why !! not !? | ||
ingy | it's a trac so just comment on the page | ||
!! is more official | 15:58 | ||
audreyt | got it | ||
ok | |||
ingy | ! can be anything | ||
I don't really care what it is in practice, as long as we are in parity | |||
audreyt | "pyyaml.org/wiki/PerlTagScheme" | ||
er | |||
"determined by" | 15:59 | ||
how does Foo::Bar signify its desired layout? | |||
ingy | and I'm trying to get in parity with the python folks and ruby folks too | ||
audreyt | probe ->new's layout? | ||
otherwise I think it's sane | 16:00 | ||
you have an idea of when you'll have cycles to put together a draft impl in YAML.pm? | |||
ingy | using !perl/Foo.Bar implies there is a Foo::Bar class with a from_yaml method | ||
or somesuch | 16:01 | ||
audreyt | not too sure about that | ||
why can't we just bless it? | |||
ingy | then use !perl/:Foo.Bar | ||
or !perl/hash:Foo.Bar | 16:02 | ||
which are synonyms | |||
audreyt | and hash:Foo::Bar is also synonym | ||
I'm not too sure about :: vs . synonymship | |||
either we all normalize to . | |||
or we only normalize to . on the object-handling sigilless way | 16:03 | ||
and preserve :: otherwise | |||
ingy | Well, for !perl/ tags I don't care... | ||
audreyt | ok then | ||
ingy | for !!object:Foo.Bar | ||
audreyt | in that case, :: is probably better to !perl | ||
too confusing otherwise | |||
!!object I agree. | |||
ingy | I was just throwing out options | ||
audreyt | I understand | ||
and I was just about to fall asleep prior to that :) | 16:04 | ||
ingy | do you like the sigils or long forms for Perl? | ||
I don't really want to support both | |||
the long forms are nice because the blessing is just an extension | 16:05 | ||
of the unblessed forms | |||
I think the sigils are too cute | |||
audreyt | I dislike the sigils | ||
ingy | cool. gone | ||
audreyt | the new form should be as distinct as possible | ||
from the old form | |||
we are breaking all compat | |||
so we might as well do it in a more regular and clearner way | 16:06 | ||
ingy | sigh... | ||
yeah | |||
audreyt | the tone of your "sigh" and "or somesuch" reminds me of TimToady... | ||
ingy | yes | ||
borrowed from him | |||
audreyt | as we all do :) | 16:07 | |
ingy | well not sigh but somesuch and handwaving | ||
audreyt | ok, I think the current proposal will fly | ||
will take a closer look tomorrow | |||
ingy handwaves audreyt goodnight | |||
audreyt handwaves back | |||
& | |||
16:11
cdpruden joined
|
|||
scw | hi, there are some inconsistent in S05, the first and last appearance of 'ratchet' described totally opposite behaviors of :ratchet and ':' | 16:11 | |
TimToady | fixed, thanks. | 16:15 | |
afk & | |||
nothingmuch | can we have a commit bot svn.perl.org too? | 16:20 | |
nothingmuch tries to remember who runs svnbot6 | 16:21 | ||
ingy | hola nadamucho | 16:24 | |
16:34
saorge joined
|
|||
nothingmuch | hola ingu-san | 16:41 | |
nothingmuch freezes | |||
i ran out of hot water in the middle of the shower, just after i finished putting on the shampoo | 16:42 | ||
worst possible timing | |||
16:44
sri__ joined
16:45
sri__ joined
16:49
larsen joined
|
|||
svnbot6 | r10329 | scw++ | Pugs::Compiler::Rule: more tests on alternation for ratchet | 16:53 | |
16:53
justatheory joined
16:58
trampel left
16:59
ruoso joined
17:25
justatheory joined
17:26
geoffb joined
17:55
Mahmoud joined,
Mahmoud left
17:56
davidfetter joined
18:05
r0nny joined
18:21
ruz joined
18:24
FurnaceBoy is now known as FB|afk,
elmex joined
|
|||
stevan | gaal: I would love for Moose to support a Haskell style Eq, I just need to figure out the details of a requires_either '==' | '!=' | 18:36 | |
for that matter a haskell style Ord would be cool too :) | 18:37 | ||
davidfetter | hello | 18:38 | |
any postgres fans in the house? | |||
er, any other ones? ;) | |||
ruoso seriously consider reimplementing latex2html with P::C::R | 18:40 | ||
davidfetter | i'm looking for ppl who can help me figure out whether it makes sense to see about making a PL/Parrot | ||
ruoso | davidfetter, it would be at least impressive | 18:41 | |
davidfetter | ruoso, i'm pretty much of a n00b as far as VMs and language bindings go. does it even make sense to talk about such a thing? | 18:42 | |
ruoso | sure it does... | 18:43 | |
parrot is currently embedable in perl 5 | |||
ruoso wonders if "embedable" is a valid word.... | 18:44 | ||
davidfetter | so what's a 50,000-foot view of how such a thing might work? | ||
i.e. would parrot have some kind of extension for calling SPI? | |||
ruoso | link to libparrot and call parrot bytecode... | 18:45 | |
davidfetter | would it be some kind of off-to-the-side VM like PL/J ? | ||
does parrot have a "safe mode" the way perl does? | |||
as in "can't open files or pipes?" | |||
ruoso | if not, it certainly should... | ||
leo | davidfetter: not yet | 18:46 | |
davidfetter | ok, so PL/ParrotU 1st, then | ||
ruoso, when you say "link to libparrot," what do you mean? | 18:50 | ||
ruoso | davidfetter, the same as link to libperl | 18:51 | |
davidfetter | hrm. | ||
ruoso | libparrot provides an interface to the vm | ||
davidfetter goes off to dig into just how PL/Perl(U) is done | |||
ruoso | where you can execute code... | ||
19:07
dduncan joined
|
|||
ingy | audreyt: I rewrote pyyaml.org/wiki/PerlTagScheme (please review and comment there) | 19:29 | |
19:43
pmurias joined
|
|||
pmurias | hi ruoso! | 19:43 | |
ruoso | hi | ||
19:44
elmex joined
|
|||
ruoso fighting with latex2html | 19:45 | ||
davidfetter | how about going through pdf 1st? | 19:53 | |
ruoso | davidfetter, it messes with footnotes | 19:54 | |
and semantic information | 19:55 | ||
but I finally understood how to extend latex2html to support a new document syle | |||
s/syle/style/ | |||
it's still not exactly as I wanted, but it's acceptable already... | 19:56 | ||
20:01
Quell joined
|
|||
pmurias | davidfetter: any problems with the parrot part of the embbeding? | 20:02 | |
20:03
ruoso joined
|
|||
ruoso hates when he hits ctrl+alt+backspace by accident... | 20:03 | ||
pmurias | i hit mostly caps-lock by accident | 20:07 | |
ruoso | the problem is that ctrl+alt+arrows switches desktops | 20:08 | |
so if I press backspace too quickly after switching desktops I end killing the X server | |||
20:10
FB|afk is now known as FurnaceBoy
|
|||
davidfetter | pmurias, i'm just not qulified to do any of it :/ | 20:12 | |
pmurias, so i'm trolling for ppl who are at least qualified to figure out whether it's possible :) | 20:13 | ||
20:13
r0nny joined
|
|||
Khisanth | ruoso: you could just disable that | 20:18 | |
pmurias | i'm not sure about the sql part, but the parrot embbeding part is not a big hassle | ||
what i failed to do for Parrot::Inline was to write the nessary typemaps | 20:19 | ||
ruoso | Khisanth, I know... but eventually I need it... | 20:24 | |
pmurias | good night | ||
20:32
elmex joined
20:41
amv joined
20:47
obra_work is now known as obra
|
|||
PerlJam | Wow. I asked one year ago if the DBDI list was still alive and the answer was "yes, and we'll start producing something soonish" but there hasn't been any traffic since. | 21:08 | |
and when I asked it had been silent for about a year already. | 21:10 | ||
21:10
ajs_home joined
21:11
shachaf joined
21:13
elmex joined
21:32
frederico joined
|
|||
svnbot6 | r10330 | Darren_Duncan++ | ext/Relation/ : added new Relation.pm methods extend() and map() ; other small changes | 21:32 | |
21:36
weinig is now known as weinig|away
22:19
larsen joined
22:31
macroron joined
22:51
avar joined
22:57
chris2 joined
|
|||
svnbot6 | r10331 | Darren_Duncan++ | ext/Relation/ : removed method delete() and its alias delete_where() ; added new methods union(), exclusion(), intersection(), difference() and their aliases plus(), disjoint_union(), d_union(), symmetric_difference(), intersect(), minus(), except() | 23:11 | |
23:25
shachaf joined
23:32
Odin-LAP joined
23:41
shachaf_ joined
23:42
elmex joined
23:46
SamB joined
|