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 | There are references all over in Perl 6, it's just that most of them don't require the extra level of indirection required by taking an explicit reference to a scalar value, which in a sense is taking a reference to a reference. | 00:01 | |
And this is really the direction we were going anyway with Perl 5, if we'd ever managed to get rid of type glob as lvalue. | |||
the plan was to allow any aliasing (including of lexicals) | |||
by saying \$x = \$y, which is essentially the binding op of p6 | 00:02 | ||
00:02
frodo72 joined
|
|||
TimToady | which is also essentially what happens in binding to formal arguments. | 00:03 | |
So the relationship of \$x to \($x) (p6's version) runs fairly deep. | |||
On top of that, it's quite possible to make the implementation of the Arguments type polymorphic, just as the official Int type is represented internally by either an int or a BigInt, but that's totally transparent to the user. | 00:04 | ||
does this make a little more sense now? I admit we announce the thinking somewhat bassackwardly... | 00:06 | ||
Darn it, now I'm dropping my subject/verb agreement. Gotta stop hanging out with Audrey... | |||
Hmm, actually, in this case it wasn't subject/verb agreement, but the past tense marker. Still... | 00:07 | ||
It's also possible that Arguments is still the wrong name. Bindables or some such might be more accurate. | 00:10 | ||
In fact, it's the process of making bindable that we call autoboxing. | 00:11 | ||
00:25
mako132_ joined
|
|||
Juerd | TimToady: It does make some sense now, while it used to make none, but I'm still not quite seeing the entire thing if this is supposed to make a lot of it | 00:26 | |
TimToady: I'm cautious of anything that involves both binding and referencing, as my understanding of Perl wants them to be wildly different things that just happen to be useful for similar purposes | 00:27 | ||
TimToady: And I think subject and verb don't have to agree, as long as they stay friendly and *respect* eachother :) | 00:29 | ||
TimToady | :) | ||
Juerd | Good night, or whatever localtime you prefer at my 2:29 am | ||
TimToady | April fools... | ||
Juerd | Ohhhh, it's started! | 00:30 | |
I will go to bed with the nice feeling of anticipation of weird news in tomorrow's newspaper | |||
*zz* | |||
01:04
nothingmuch joined
01:30
amnesiac joined
|
|||
TreyHarris | do I remember right that the convention is changing in p6 so that user-defined block labels are all-lowercase? | 01:56 | |
TimToady | first I've heard of it... | ||
audreyt | if it's a convention, it's from the future | ||
TreyHarris | s04 gives examples in "label:" form rather than "LABEL:" form | 01:57 | |
TimToady | I think uppercase is still better for visibility in most cases. | ||
FurnaceBoy | thank goodness, somebody is speaking. Fridays are too quiet. | ||
TimToady | (npi) | 01:58 | |
It's not Friday everywhere... :) | |||
FurnaceBoy | :-) | ||
TimToady | But yes, the net tends to go dead Friday nights. some people have lives, it seems... | ||
TreyHarris | one of my students just got badly burnt by typing "BEGIN: {" when he meant to type "BEGIN {", and I was writing a note to my class, and I thought I'd add, "in Perl 6, the designers have realized this pitfall, especially with the number of named blocks increasing from 4 to 15, and so the convention for user-defined labels is changing to all lowercase." | 01:59 | |
but if that isn't true... i guess my memory is fuzzy | |||
FurnaceBoy | not this little cane noir! | ||
yeah all caps is great for visibility but I always worry about collisions... | |||
audreyt | Begin: { ... } # maybe this | 02:00 | |
FurnaceBoy | maybe one day we will consider colour/typography indispensable | ||
TimToady | The convention could certainly change. | ||
FurnaceBoy | at, could work | ||
audreyt | nah. just use umlauts for sigils. | ||
FurnaceBoy | :-)) | ||
FurnaceBoy is an ASCII-phile | |||
TimToady | I don't think lowercase labels conflict with anything currently, | 02:01 | |
TreyHarris | well, I thought I'd read on p6-l at some point that all-lowercase would be preferred, and in S04 I see "label:" used, so that bolstered that memory | ||
TimToady | Disambiguating colons generally have to have at last two things before htem. | ||
FurnaceBoy | except they might look like keywords, subliminally | ||
TimToady | *them | ||
FurnaceBoy | in C, I'd use lowercase | ||
TimToady | yeah visual ambiguity can be a problem. | ||
FurnaceBoy | in Perl I habitually use uppercase | ||
TimToady | saying "next line" is kinda cool though. | 02:02 | |
FurnaceBoy | but I like at's suggestion | ||
I'll trial it | |||
I don't find 'next LINE' any less clear | |||
audreyt | TimToady: map:{3} and .map:{3} | ||
TimToady | but it is a little less like English. | ||
FurnaceBoy | as a typographer, I'm used to thinking about 'first glance' ambiguity | ||
TimToady | Sticking with at least an initial cap is probably best. | 02:03 | |
FurnaceBoy | it can't be dismissed totally as a problem :-) | ||
yeah | |||
good compromise methinks | |||
but, these 'conventional' namespaces also need to be documented too | 02:04 | ||
TimToady | the : might be illegal in map:{3} if we don't have :{} form. | 02:05 | |
audreyt | TimToady: do labels always attach to blocks? | ||
TimToady | the .map:{3} parses as .map: {3} actually | ||
audreyt | S02 sorta implies that | ||
TimToady | goto | 02:06 | |
audreyt | goto in S04 doesn't say that | ||
TimToady | I think the labelling policy in P5 and P6 are pretty much the same, | 02:07 | |
audreyt | i.e. whether labels are applied on statements or blocks | ||
TreyHarris | labels can only start expressions, or immediately follow a "do", according to LW mail from 7 May 2005 | ||
TimToady | except for do label: {...} | ||
audreyt | "start expressions"? | ||
TimToady | statements, surely. | ||
audreyt | k | ||
. | |||
TreyHarris | start statements. yes, sorry. | 02:08 | |
TimToady | We could, if it comes down to it, change label syntax. We have the technology... | ||
audreyt | ...and the magick | ||
TimToady | éę³ | ||
TreyHarris | perhaps there should at least be a warning if you use one of the 15 names as a label | 02:10 | |
02:10
Qiang joined
02:11
Khisanth joined
|
|||
TreyHarris | audreyt: oh, btw, the trunk version does run much more quickly. 'say "hello world"' now runs on my laptop in 4 seconds flat, much better than the 22 it was taking with the last CPAN release ;-) | 02:11 | |
thank you | 02:12 | ||
FurnaceBoy | "Technology is a word that describes something that doesn't work yet." -- Douglas Adams | ||
<TreyHarris>perhaps there should at least be a warning if you use one of the 15 names as a label | 02:13 | ||
warning is good | |||
TimToady | Or we could have the convention that all labels are in CJK: | ||
å: goto å; | |||
audreyt | TreyHarris: np :) | ||
I'd need to get the container stuff (and the dispatch stuff) figured out with TimToady today | |||
TreyHarris | make smoke still is something I have to run overnight though... it takes 7.5h or so | 02:14 | |
audreyt | before I can implement something that can be called 6.28.0 in good conscience | ||
FurnaceBoy | lol@TimToady cjk | 02:16 | |
TimToady | I suppose Greek would do in a pinch. | ||
FurnaceBoy | It's amazing the didactic effect of example code | ||
think K&R, etc | 02:17 | ||
so whatever the example does, will usually become accepted practice :-) | |||
TimToady | Hmm, now I'm worried... :) | ||
FurnaceBoy | I was just thinking 'why' I habitually use cap LABELs | ||
means that examples should get an extra 'do we want this to be taken as gospel' pass | 02:18 | ||
TimToady | We do have an underlying convention of all caps representing strange control flow. | ||
FurnaceBoy | makes sense. | ||
I definitely see the 'visibility' argument | |||
TimToady | that unifies BEGIN and LINES somewhat. | ||
FurnaceBoy | esp w.r.t. goto | ||
audreyt | what about IMPORT? | ||
TimToady | called magically | ||
FurnaceBoy thinks...that word again... | 02:19 | ||
audreyt | not specced :) | ||
FurnaceBoy | :-) | ||
TimToady | so an argument can be made for that. | ||
audreyt goes writing another patch | |||
so Foo::Bar.import in S11 should spell Foo::Bar.IMPORT | |||
TimToady | so it would seem | 02:20 | |
audreyt | but Perl6::Export::Attrs says it's not a method | ||
TreyHarris | yes, but with 15 named blocks as compared to 4, it seems much more likely in P6 that collisions will occur (causing that colon to control whether the block is handled specially or not). Bad Huffmanizing. | ||
audreyt | but a closure trait | ||
like INIT (so it'd go into S04 and cannot be called as that) | 02:21 | ||
so maybe a default .import() walks all IMPORT{} blocks | |||
in that module | |||
would that make (some) sense? | |||
TimToady | cup have full/empty, but yes | ||
audreyt | i.e. use the P6::E::A semantics | ||
TimToady | *half | ||
The whole export thing is underspecced from an infrastructural point of view. | 02:22 | ||
audreyt | .import would first handle all "is export" stuff, then call all the IMPORT blocks | ||
that's what dconway's P6::E::A does, and I think it's somewhat sane | 02:23 | ||
TimToady | possibly the is export stuff just turns into an IMPORT block... | ||
possibly they should be called EXPORT blocks. | 02:24 | ||
I wonder if they should work like macros... | |||
It's kinda like "use foo;" turns into | 02:26 | ||
use foo; EXPORT1(); EXPORT2(); | |||
or some such | |||
and EXPORT blocks could use quasiquoting to return thunks to the compiler. | 02:27 | ||
well, ASTs | |||
TreyHarris | how odd. i can't find any file in the source that contains all of the named closure trait blocks... did one of them change names since the current rev of S04, or are some of them unimplemented? | 02:28 | |
TimToady | I sincerely doubt they're all implemented yet. | 02:29 | |
And the places they are called from are going to be scattered all over. | 02:30 | ||
TreyHarris | TimToady: yeah, I see that now. I'm still finding my way around the source code | 02:31 | |
TimToady | I would have little reason to expect to see them all in one place except maybe for parsing. | ||
TreyHarris | well, that was what i was expecting | ||
02:31
cmarcelo joined
|
|||
TimToady | And I suspect the current parser just generalizes FOO {...} as a form. | 02:31 | |
though I'm just guessing. | 02:32 | ||
or maybe in has only a subset of the names. | |||
*it | |||
TreyHarris | trying to find the right place to inject a warning if you use the name of one of those blocks becomes more difficult. | 02:34 | |
ah, well, i'll ponder on the bus. | 02:35 | ||
TreyHarris & | |||
TimToady | I should probably go for a walk myself, being underexercised. | ||
plus, hanami shitai... & | 02:36 | ||
audreyt | TimToady: it's fixed set of names... if we allow extension, probably prefix macros | 02:38 | |
i.e. treat them as macros in the prefix category | |||
02:39
cmarcelo left
02:42
Limbic_Region joined
02:43
Quell joined
02:48
DesreveR joined
02:49
elmex joined
03:03
elmex joined
03:33
pdcawley_ joined
03:45
Cryptic_K joined
04:20
FurnaceBoy_ joined
04:28
khisanth_ joined
04:29
khisanth_ is now known as Khisanth
04:42
siosiosios joined
04:54
Khisanth joined
05:18
Quell joined
05:22
Khisanth joined
05:27
nirgle joined
05:37
Cryptic_K joined
05:39
Aankhen`` joined
06:20
coumbes joined
06:25
Quell joined
06:33
Guest27883 joined,
siosiosios joined,
pdcawley_ joined,
chovy joined,
hlen joined,
ko1_away joined,
evalbot_9807 joined,
broquaint joined,
amv joined,
p5evalbot joined,
chip joined,
webmind joined,
wolverian joined,
xX[ReP]Xx joined,
coignard joined,
scw joined,
chihchun joined,
integral joined,
merlyn joined,
Odin- joined,
buu joined,
revdiablo joined,
jiing_ joined,
jiing joined,
knewt joined,
PerlJam joined,
LeTo joined,
Juerd joined,
audreyt joined,
Eimi joined,
tewk joined,
pasteling joined,
Steve_p joined,
Guest27883 joined
06:38
ko1_away is now known as ko1_
06:39
clkao joined
07:04
stennie joined
07:08
Aankhen`` joined
07:14
Barry joined
07:24
fordinal joined
07:27
Barry left
07:33
nnunley joined
07:43
iblechbot joined,
ghenry joined
07:51
clkao joined
|
|||
clkao | audreyt: saw my updates to data::bind? | 08:20 | |
i think we are almost there | |||
08:23
nirgle left
08:50
marmic joined
09:30
larsen joined
09:32
nnunley joined
09:59
chris2 joined
10:33
cognominal joined
10:35
elmex joined
11:29
iblechbot joined
12:06
oeon joined
|
|||
Juerd | Re labels: Has #LABEL# ever been considered instead of LABEL:? | 12:06 | |
wolverian | :label(foo) # :) | 12:07 | |
(I mean, :label<foo> ...) | |||
Juerd | :label(foo) would be postfix and not as visible | ||
Purely in theory, it's nicer than actual syntactic labels | |||
Hmm | 12:08 | ||
wolverian | why postfix? | ||
Juerd | Because that's how :these<things> are commonly used. | ||
They're arguments, not syntactic elements | 12:09 | ||
wolverian | assume an invisible run_statement (+$label?, Statement $statement) for every statement.. | ||
Juerd | ... | 12:10 | |
We're past that, I thought | |||
wolverian | hm? I'm obviously joking. kind of. | ||
Juerd | Such solutions used to be suggested almost daily :) | ||
wolverian | invisible magic? :) | 12:11 | |
Juerd | I've been reading some old p6l posts, so it wasn't too obivous to me :) | ||
Invisible everything, actually | |||
12:37
pmurias joined
|
|||
pmurias | hi all | 12:37 | |
is anyone against changing PCR->match to take a single argument, the string to match or a hash with named arguments | 12:42 | ||
? | |||
13:11
nothingmuch joined
13:15
elmex joined
|
|||
pmurias | hi nothingmuch | 13:15 | |
nothingmuch | hi ho | 13:22 | |
pmurias | pmurias is fighting calling convention differences between the primitive and user defined rules in lrep | 13:31 | |
ruso: was Grammar/Perl6.pm fully generated by dump_rule.pl or hand modified, in the first case commit the newer dump_rule.pl ASAP | 13:43 | ||
ruso: in the second case i'll extend dump_rule.pl myself | 13:46 | ||
13:49
theorbtwo joined
|
|||
pmurias | ruoso: sorry for misspelling your nick | 13:55 | |
14:11
clkao joined
14:35
turrepurre joined
14:44
b_jonas joined
14:50
masak left
14:51
larsen joined
15:03
larsen_ joined
15:07
drbean_ joined
15:09
siosiosios joined
15:14
larsen joined
15:19
KingDiamond joined
15:25
Khisanth joined,
autark joined
15:39
larsen_ joined
15:46
weinig_ joined
16:29
knewt joined
16:32
ko1_ is now known as ko1_away
16:54
manbou joined
17:07
nnunley joined
17:39
chris2 joined
17:49
clkao joined
17:58
hlen joined
18:27
kisu left
18:31
chris2 joined
18:34
nnunley joined
|
|||
gaal | what does this do? func(:arg<1> :arg<2>) # same arg, twice | 18:44 | |
18:44
KingDiamond joined
|
|||
audreyt | gaal: please read the April fools batch of commits! | 18:45 | |
(trickling in p6l now) | |||
gaal | is there any signature in which $arg or @arg may be populated? | ||
ah :) | |||
audreyt: would openfoundry host svn for a tiny p5 module? (Class::Rebless, for which which szabgab++ has been writing tests)? | 18:46 | ||
audreyt | to answer your question, that is simply :arg<2> | ||
gaal: sure, just click "New project" | 18:47 | ||
gaal | audreyt: too bad, that means p6 argument lists can't express command line syntax | ||
audreyt: saw the link, didn't know if non-.tw projects were welcomed. I'll take that as a "yes they are" :-) | |||
audreyt | yes they are | 18:48 | |
gaal | openfoundry++ | ||
clkao | audreyt: yo | ||
audreyt | yo | 18:53 | |
clkao: check the Arguments spec :) | |||
it's now very well-specced | |||
and Variable::Bind can serve as ref impl :) | |||
gaal | openfoundry doesn't have "Perl-style license". should I use "artistic"? (I don't worry very much about this stuff) | ||
audreyt | Artistic is fine | 18:54 | |
esp. with Artistic2's morphing to GPL | |||
clkao | audreyt: where? i didn't see any commit | 18:55 | |
audreyt | clkao: see p6l | 18:57 | |
clkao | oh there. | 18:58 | |
clkao syncs that mirror | |||
18:59
chris2_ joined
|
|||
clkao | wasn't there a plan to move those into pugs repository and renamed to non-number-based filenames? | 18:59 | |
gaal | .call is NEXT? | ||
clkao | audreyt: what did you do in hackathon? | 19:00 | |
(besides calligraphing) | |||
audreyt | gaal: &call is | ||
.call is not | |||
clkao: 4000+ words of synopses diffs | 19:02 | ||
perl6 now fits into my brain. | |||
gaal | what is an "uninstantiated prototype"? | 19:03 | |
audreyt | gaal: instead of nameds, make them positional pairs and hoist first? | 19:04 | |
gaal: ::Dog | |||
which means, roughly | |||
(undefined :: Dog) | |||
in haskell | |||
gaal | heh | ||
audreyt | it is an Undef with the klass slot assigned to ^Dog | 19:05 | |
(or, in p6 speak, the .meta slot) | |||
gaal | *nod* | ||
clkao | audreyt: whoot | 19:09 | |
audreyt: see the xs in data::bind? i was surprised there's no such api :/ | |||
audreyt | yeah :/ | 19:10 | |
19:26
nnunley joined
19:54
KingDiamond joined
|
|||
audreyt | note on the &?SUB -> &?ROUTINE change: this is done because TimToady clarified that within a sub{...} | 20:26 | |
&?BLOCK still just refers to that sub | 20:27 | ||
so all recursion forms can use &?BLOCK | |||
regardless of whether it's sub{...} or ->{...} | |||
that means &?ROUTINE is useful only for .wrap or return-control | 20:28 | ||
and would then 1)work for methods too via &?ROUTINE($inv: $arg) | |||
and 2) deserve a longer huffmanizing | |||
gaal | is coro still a keyword? | 20:37 | |
pmurias | gaal: no, all subs are coroutines | 20:40 | |
integral | where are coroutines discussed? I can't find them in S06 | 20:43 | |
20:44
Barry joined
20:46
SamB joined,
Barry left
|
|||
pmurias | integral: i can't find them either, my answer was based on vage memory | 20:52 | |
integral | I was wondering how a global coroutine's hidden state works in a multi-threaded environment | 20:53 | |
pmurias | faultless as all things in perl6 ;) | 20:54 | |
good night | 20:57 | ||
21:11
justatheory joined
21:23
nnunley joined
21:37
elmex joined
|
|||
audreyt | Perl6::Spec::Concurrency discusses them, but it's not yet normative | 21:43 | |
21:44
chris2__ joined
21:45
hexmode joined
|
|||
svnbot6 | r9814 | clkao++ | (+$a) is now (:$a) | 22:10 | |
22:13
badalex joined
|
|||
meppl | gute nacht | 22:39 | |
22:40
drbean_ left
22:41
vel joined
22:42
kakos joined
22:44
drbean joined
22:46
Aankhen`` joined
22:49
mako132_ joined
|
|||
wolverian | audreyt, s/unamed/unnamed/ in S06 | 23:05 | |
23:14
theorbtwo joined
|
|||
wolverian | TimToady, hey, it's april 2nd already here.. that just wasn't funny :) | 23:18 | |
23:19
Khisanth joined
23:21
lichtkind joined
23:30
goneri joined
23:35
drbean left
23:38
drbean joined
23:45
drbean joined
23:51
drbean joined
23:59
drbean joined
|