Re: my $pi is constant = 3;

2005-08-11 Thread Ashley Winters
epresentations about the > requirement for the compiler to optimize the = form to: > > my Str $x is constant('foo'); Why isn't the late binding version my Str $x is ro('foo'); In contrast to the 'is rw' trait? When I say 'is constant', can I be rewarded for all my extra typing with some well-defined compile-time optimization? Ashley Winters

Re: @array = $scalar

2005-09-01 Thread Ashley Winters
ould create &infix:<,=> as a synonym for push? @array ,= $foo ; @array = @array, $foo; Ashley Winters

Re: Proposal: split ternary ?? :: into binary ?? and //

2005-09-05 Thread Ashley Winters
em there would be the *visual* similarity > between the two. Indeed. The "logical" (bad pun intended) operator to match with ?? is !! (cond) ?? (if_true) !! (if_false) Ashley Winters

Re: Stringification, numification, and booleanification of pairs

2005-09-25 Thread Ashley Winters
olor.as(Str) eq '#FF00FF' and "$color" eq "magenta" { $Ashley++; } So, to summarize, I want .as(Str) to be the lossless canonical representation, as well as the basis for the default .hash method, while Interpolate would be the pretty-printed localized lossy presentation Role. Ashley Winters

Re: Allomopherencing

2005-09-25 Thread Ashley Winters
compile-time type safely, you should need to declare my Dog $dog, or stick a pragma up top: use sadistic ; either of those declarations can disregard my potential for runtime tomfoolery, and abort the compiliation when there's something illogical. Ashley Winters

Re: Allomopherencing

2005-09-25 Thread Ashley Winters
On 9/25/05, Ashley Winters <[EMAIL PROTECTED]> wrote: > On 9/25/05, Yuval Kogman <[EMAIL PROTECTED]> wrote: > > Under strict type inferrencing, i'd expect this to be a compile time > > error: I quoted but didn't read close enough. You DID say strict typ

Re: Stringification, numification, and booleanification of pairs

2005-09-25 Thread Ashley Winters
On 9/25/05, Yuval Kogman <[EMAIL PROTECTED]> wrote: > On Sun, Sep 25, 2005 at 10:59:38 -0700, Ashley Winters wrote: > > > The Stringification of a UnixEpochTimestamp should probably be the > > same as its Integerization -- 12345678900. However, the Interpolation > &

Re: matching colors (was Stringification, numification, and booleanification of pairs)

2005-09-25 Thread Ashley Winters
g wrong > with one of the two... > > If we keep my proposal, then we get: > > $color ~~ color('#FF00FF') > $color ~~ color('magenta') Interesting proposal. Is there any motivation for people not to simply flip the argument-order to take advantage of the right-wise determinism? Or is that actually a benefit? '#F0F' ~~ $color ?? 'yes' !! 'no'; Ashley Winters

Re: Allomopherencing

2005-09-25 Thread Ashley Winters
Nothing that I see. I recant my arguments when strict inferencing is in place. That's exactly how I'd want it to work when optimization and/or stricture is in place. It'd be a *very* nice compiler feature. Ashley Winters

Re: numification and stringification of objects

2005-09-25 Thread Ashley Winters
pt it. I still think the proposed Representation behavior should really be the Interpolation behavior, and Representation should be a lossless but readable version of Serialization, though I'm clearly wrong, since I can't defend it. No worries. I'll come around to see the light. Someday. :) Ashley Winters

Re: Type annotations

2005-10-06 Thread Ashley Winters
de($_) } ] > } > static({ $_+1 }, dynamic("notcode", [1,2,3,4,5])); die "Str value 'notcode' cannot be called as a Sub reference -- have you asked Larry how to make a symbolic function call, lately?"; > dynamic("notcode", static({ $_+1 }, [1,2,3,4,5])); Same. Just my 2¢ Ashley Winters

Ways to add behavior

2005-10-24 Thread Ashley Winters
uot;doing $arg!"; } }; # behavior through prototype -- guessing realistic syntax Base.meta.add_method( do_it => method ($arg) { say "doing $arg!"; }); # or, just add it to a single instance $x.meta.add_method( do_it => method ($arg) { say "

Re: handling undef better

2005-12-17 Thread Ashley Winters
ndant, after all -- as is C<$var // undef>. When used as a value, undef returns C or something. Thus completes the circle of definedness. Ashley Winters

Re: overloading the variable declaration process

2006-02-07 Thread Ashley Winters
uot; > That's why I proposed "defined according to a particular role" as > one way to ask that sort of question. So, if ^Dog describes a Dog which defines a $dog, do we need an undescribed() function? Just kidding... kinda. Ashley Winters

Re: Synchronized / Thread syntax in Perl 6

2006-06-03 Thread Ashley Winters
had hyperoperators to implictly parallelize for us: my @answer = @jobs.»(); Which would run them in parallel automatically, if possible. - Ashley Winters

Re: underscores in the core lib

2006-08-06 Thread Ashley Winters
just like $scalars can hold arrays, &somesub could be a standard function or a user function (or a standard function which a user reimplemented -- you never know). - Ashley Winters

Re: Nitpick my Perl6 - parametric roles

2006-09-25 Thread Ashley Winters
y of more than 1 element, all(@array) never equals one(@array) - if they're all the same, it's more than 1, otherwise it's 0. Yeah, that would've been cool. Are we left with asserting C? That'd be pretty close to the original elegance. Ashley Winters

Re: Patterns

2007-01-06 Thread Ashley Winters
given @something { when $this { ... }# @something ~~ $this against $that { ... }# $that ~~ @something } That would help keep the ~~ DWIM table from trying to guess on which side you really wanted @something on. - Ashley Winters

Re: Iterator semantics

2008-09-12 Thread Ashley Winters
1 2 3 a b> or <7 d e f 8> or <> or undefined behavior? In the event you picked <1 2 3 a b>, when did the @hexlike grep block get called? - Ashley Winters

Re: 12 hackers hacking...

2008-12-25 Thread Ashley Winters
king syntaxes, I'd predict the syntax should be: for [...@gifts[0..$day-1]] -> $ ($key => $value) { ... } - Ashley Winters

Re: Angle quotes and pointy brackets

2004-11-30 Thread Ashley Winters
i <:standard>; > > > > Who is doing this? I'm just saying... > > > >use CGI ':standard'; > > And won't we just be doing: > > use CGI :standard; > > anyway? Indeed. Also, someone *ahem* will make the following work, with or without the C<.> %hash.:foo:bar:baz = 10; Ashley Winters

Container method calls

2004-12-04 Thread Ashley Winters
tied($foo)->bar() That way, we get: ((1|2)|(3&4)).values ~~ (1|3,2|4) # (1,2)|(3,4) I presume ((1|2)|(3&4)).\values ~~ (1|2, 3&4) @foo.\elems would work the same as @foo.elems, since @foo in scalar context *is* the container object in the first place. Comments? Ashley Winters

Re: Container method calls

2004-12-04 Thread Ashley Winters
MMD distinction. Is this behavior exclusive to methods? Or does something like this: 3.14159 + "1"|2; try to MMD-dispatch to: multi sub *infix:<+> (Num $foo, Str|Int $bar) instead of (or before) threading? Ashley Winters

Re: pull & put (Was: Angle quotes and pointy brackets)

2004-12-06 Thread Ashley Winters
On Mon, 6 Dec 2004 11:34:24 -0800, Larry Wall <[EMAIL PROTECTED]> wrote: > Though it's awfully tempting to fill in the holes in the periodic table: > > ($a, $b, $c) = @foo *<< 3; > > And then just say all the corresponding unaries default to 1 (or the arity > of the left): > > $bit = +<<

Lexical scope of parametric declaration blocks

2004-12-07 Thread Ashley Winters
] {...} Would that be valid/mean anything? Okay, that enough curiosity for today. :) Thanks, Ashley Winters

Re: S05 question

2004-12-08 Thread Ashley Winters
gt; } rule day { \d<2> } rule hour { \d<2> } rule minute { \d<2> } rule second { \d<2> } rule fraction { \d+ } rule date { -? -? } rule time { \:? \:? [\. ]? } rule datetime { T } } For a grammar, that works perfectly! In a one-liner, I'd rather just use: $datetime ~~ /$year := (\d+) -? $month := (\d+) -? ./ and specify the vars I want to save directly in my own scope. Ashley Winters

Re: S05 question

2004-12-08 Thread Ashley Winters
On Wed, 8 Dec 2004 16:07:43 -0700, Luke Palmer <[EMAIL PROTECTED]> wrote: > Ashley Winters writes: > > For a grammar, that works perfectly! > > Yep. > > > In a one-liner, I'd rather just use: > > > > $datetime ~~ /$year := (\d+) -? $month := (\d+)

Re: strictness and fully qualified global vars

2004-12-28 Thread Ashley Winters
p;func>; # how would I do this otherwise? } I assume the second line can't really be done through stringification due to singletons. Well, on second thought, you could make $foo.meta (or whatever) start answering to CLASS(0xDEADBEEF) style classnames. Those are probably needed for debugging or something anyways. Ashley Winters

Re: strictness and fully qualified global vars

2004-12-28 Thread Ashley Winters
On Tue, 28 Dec 2004 22:31:47 -0700, Luke Palmer <[EMAIL PROTECTED]> wrote: > Ashley Winters writes: > > sub foo (Class $who) { > > my $thing := $who<$var>; > > my &func := $who<&func>; # how would I do this otherwise? > > }

Re: Possible syntax for code as comment

2005-01-08 Thread Ashley Winters
On Sat, 8 Jan 2005 21:05:20 +0100, Stéphane Payrard <[EMAIL PROTECTED]> wrote: > Anyway the particular length of variables names was not the subject of > my mail, but a good syntax for aliasing name in signatures. Hmm... how about abducting the -> operator and using default variable initializatio

Re: Junctive puzzles.

2005-02-07 Thread Ashley Winters
On Tue, 8 Feb 2005 11:12:40 +0800, Autrijus Tang <[EMAIL PROTECTED]> wrote: > On Mon, Feb 07, 2005 at 05:33:06PM +0100, Miroslav Silovic wrote: > > my $a = (0 | 6); > > say 4 < $a and $a < 2; > > Yup. My mathematic intuition cannot suffer that: > > 4 < X < 2 > > to be true in any circumstan

Re: Pop a Hash?

2005-02-11 Thread Ashley Winters
On Thu, 10 Feb 2005 08:59:04 -0800, David Storrs <[EMAIL PROTECTED]> wrote: > On Wed, Feb 09, 2005 at 05:13:56AM -0600, Rod Adams wrote: > > > > Does > > > > ($k, $v) <== pop %hash; > > or > > ($k, $v) <== %hash.pop; > > > > make sense to anyone except me? > > ... the only time it's useful is > if

Re: Junction Values

2005-02-16 Thread Ashley Winters
On Wed, 16 Feb 2005 14:29:14 -0600, Rod Adams <[EMAIL PROTECTED]> wrote: > Larry Wall wrote: > > >That, and we'd like a novice to be able to write > > > >given $x { > > when 1 | 2 | 3 {...} > > when 4 | 5 | 6 {...} > >} > > > Or just change C to accept a list of things to compa

Re: Junction Values

2005-02-18 Thread Ashley Winters
sub *infix:<..>(Int $x, Junction $y) { return $x .. first { .does(Int) } $y.values; } Ashley Winters

Re: Junction Values

2005-02-18 Thread Ashley Winters
On Fri, 18 Feb 2005 23:12:40 +0100, Eirik Berg Hanssen <[EMAIL PROTECTED]> wrote: > Ashley Winters <[EMAIL PROTECTED]> writes: > > > On Fri, 18 Feb 2005 12:47:51 -0700, Luke Palmer <[EMAIL PROTECTED]> wrote: > >> Run through your mind how t

Re: Junction Values

2005-02-18 Thread Ashley Winters
On Fri, 18 Feb 2005 14:35:53 -0800, Ashley Winters <[EMAIL PROTECTED]> wrote: > 1 .. sqrt(10) -> LazyList of (1..3) > 1 .. sqrt(10|20) -> Junction of any(1,2,3, 1,2,3,4) > > LazyList does Iterator, but Junction does not. You'd have to use (1 .. > sqrt(3|6)).values

Set sigils (was: Re: Junction Values)

2005-02-19 Thread Ashley Winters
curried arguments? hmm @!foo = none After all, why should scalars get all the good secondary sigils? :) Ashley Winters

Re: The S29 Functions Project

2005-03-13 Thread Ashley Winters
sub cos (Num +$degrees) returns Num { return cos :radians($degrees * PI / 180); } my Num $x = cos :degrees(270); Ashley Winters

Re: The S29 Functions Project

2005-03-13 Thread Ashley Winters
On Sun, 13 Mar 2005 23:42:41 -0600, Rod Adams <[EMAIL PROTECTED]> wrote: > Ashley Winters wrote: > >For documentary purposes, can we make that $radians? > > > >multi sub cos (Num +$degrees) returns Num { > >return cos :radians($degrees * PI / 180); > &g

Perl6 Rule library (was: New S29 draft up)

2005-03-18 Thread Ashley Winters
) }]+ } &ParseHex := &ParseNumber.assuming :digits(@HexDigits); } with &*hex being some sort of alias to Perl6::Rules::ParseHex? Umm... can you call a rule as a function? rule foo { .* } $x = foo("I am the very model of a modern irregular expression"); Or do I not want to know the answer to that? Ashley Winters

Re: Documentary annotations: $what doc

2005-03-31 Thread Ashley Winters
say: > > sub f2c (Num $temp doc) > doc > {...} > > Or would I be forced to spell it doc('stuff') ? Perhaps you spell it 'annotated' and add a few shortcuts? Num $temp is annotated('Temperature in degrees F') Num @temp is an('Array of temperatures in degrees F') Dog $spot is a('Good Dog!') Ashley Winters

Re: <[]> ugly and hard to type

2005-04-16 Thread Ashley Winters
[ ] { } < > : ++ $ . ? / +| +& ?| ?& >}/ to match some of my favorite punctuations, right? It allows multi-character alternatives as well as the single-character ones, so it seems preferable to me (assuming it could be optimized happily). Ashley Winters

Re: Truely temporary variables

2005-04-17 Thread Ashley Winters
gt; Anything wrong with: > >my $sql = q{...}; >temp $sql = q{...}; >temp $sql = q{...}; > > (Assuming C is made to work on lexicals, of course.) How about 'the'? I don't want to I the variable, I just want to use it. the $sql = q{...}; the $sth = $dbh.

Re: adverbial blocks: description and examples requested

2005-05-05 Thread Ashley Winters
o.grep({ $^a <=> $^b}) or the adverbial colon: if @foo.grep:{$^a <=> $^b} { ... } Ashley Winters

Re: ./method

2005-05-15 Thread Ashley Winters
ourage me to use it consistently. Even when $_ points at the invocant, I'd be strongly inclined to use ./method for $self.method. After a decade of using unix shells, typing ./ is closer to huffman(1.1) than huffman(2). This is a really clean solution. Ashley Winters :vote

Re: junctions vs English negatives.

2005-05-15 Thread Ashley Winters
On 5/15/05, Luke Palmer <[EMAIL PROTECTED]> wrote: > multi sub infix: (Any|Junction $a, Any|Junction $b) { > !($a == $b); > } > > Then it Just Works. Also, that's the right way to provide a working != for any object which defines ==. We all want that, right? Ashley Winters

Re: Transparent / Opaque references

2005-05-27 Thread Ashley Winters
On 5/27/05, Juerd <[EMAIL PROTECTED]> wrote: > > There is no way to get an anonymous rw scalar, is there? Can't the [] and {} syntaxes be considered aliases for new Array(...) and new Hash(...)? my $x := new int = 10; # looks like it should work Ashley Winters

Re: How to default? (was Unary dot)

2002-04-12 Thread Ashley Winters
nable to have given default to the caller's topic? sub printRec { given { # $_ is now the caller's topic in this scope } } Perhaps C would work as well. Ashley Winters

Re: Fisher-Yates shuffle

2002-04-13 Thread Ashley Winters
today: A semicolon is required after every statement, except before a closing curly or end of file. Perl 6: A semicolon is also required after every block, except when the closing curly is on a line of its own, or it precedes another closing curly or end of file. As far as whitespace, you can get around that if%foo{"key"}->{print"Hello"} # -> and \s{ are kinda equivalent if%foo->{"key"};{print"Hello"} Using -> like that would be evil. We should put it in the test suite now... Ashley Winters

Re: Loop controls

2002-05-06 Thread Ashley Winters
" context. Perhaps C is a binary operator? condition else expr. Like operator::or, but doesn't try to return a value. die unless foo; foo else die; Ashley Winters

Re: FIRST, BETWEEN, etc.. (was Re: Loop controls)

2002-05-16 Thread Ashley Winters
and fetch the element you want, e.g.: > > > > my $pi2k = @pi_digits[2000]; > > In this case, I'd expect @pi_digits.length == Inf, not undef. I'd agree with that. Perhaps you want *@lazy.length to work? Ashley Winters

Re: Perl 6 grammar progress?

2002-07-01 Thread Ashley Winters
On Monday 01 July 2002 02:30 pm, Uri Guttman wrote: > >>>>> "AW" == Ashley Winters <[EMAIL PROTECTED]> writes: > > AW> Also, where does $() come in? Is statement scalarification ever > AW> useful outside a string? > > it is the same a

Re: Perl 6 grammar progress?

2002-07-01 Thread Ashley Winters
On Sunday 30 June 2002 09:09 pm, Sean O'Rourke wrote: > On Sun, 30 Jun 2002, Ashley Winters wrote: > > I don't know how the grammars are going, and I'm not fit to write one > > myself, > > Hey, neither am I, but that hasn't stopped me from taking a stab o

Re: Perl 6 Summary

2002-07-02 Thread Ashley Winters
7;; > > &@_[0]; > > } Perhaps a pragma which does: my %MY := caller.{MY}. for instance: pass_by_name { sub { use scope 'caller'; print $a } } Perhaps something simpler which implies the same thing? sub is iterator { print $a } I'm just shooting in the dark, good luck. :) Ashley Winters

Re: Perl 6 Summary

2002-07-03 Thread Ashley Winters
rototype which would implicitly wrap a sub{} around a passed-in argument? i.e. lazy evaluation via sub prototype? sub check_it_out (&$idx is rw, &$val is rw) { $idx = 0; $val = 7; } check_it_out($i, $a[$i]); # really means: check_it_out(sub is rw { $i }, sub is rw { $a[$i] }); I wo

Re: what's new continued

2002-07-03 Thread Ashley Winters
o Would prefix ^ always return 'wanted' number of repetitions? Like a smart C? @x = qw(foo bar baz); @y = (one); for @x, ^"unseen"; @y, ^"too high" -> $x; $y { # foo, one # bar, too high # baz, too high } Ashley Winters

greedy/non-greedy regex assertions

2002-07-04 Thread Ashley Winters
used to be discussion on the list about adding more possibilities, but I didn't follow it. Thanks, Ashley Winters

Re: greedy/non-greedy regex assertions

2002-07-04 Thread Ashley Winters
On Thursday 04 July 2002 10:47 am, Larry Wall wrote: > On Thu, 4 Jul 2002, Ashley Winters wrote: > So I'd guess that we just don't talk about :-1, but rather say that > > <*$min..$max> > > is naturally greedy, and as with any quantifier you write > &g

Re: greedy/non-greedy regex assertions

2002-07-04 Thread Ashley Winters
On Thursday 04 July 2002 11:07 am, Ashley Winters wrote: > > I would expect /a<*1..2>?/ to mean /[a<*1..2>]?/ just looking at it. How > can ? ever mean non-greedy unless it follows a metachar <[*+?]>? Perhaps I can respond to my own question. In /.+?/ . is an asserti

Re: what's new continued

2002-07-07 Thread Ashley Winters
On Sunday 07 July 2002 02:19 pm, Damian Conway wrote: > Ashley Winters asked: > > > It *might* possibly work to hyper the constructor: > > > > > > my ($a, $b) = ^new Foo > > > > Would prefix ^ always return 'wanted' number of repetitions? L

Re: what's new continued

2002-07-07 Thread Ashley Winters
On Sunday 07 July 2002 03:05 pm, Damian Conway wrote: > Ashley Winters wrote: > > How about: > > > > $_ = new Doberman for my Dog ($spot, $rover) is rw; > > I don't think so. > > In Perl 6 you'd just need: > > $_ = new Doberman for $spot,

Re: what's new continued

2002-07-07 Thread Ashley Winters
On Sunday 07 July 2002 04:10 pm, Ashley Winters wrote: > > given my Doberman $sis is female = .dog[0] but pregnant -> $mother { > for my Doberman @puppies = new Doberman x $mother.littersize In hindsight, I probably meant for my Doberman @puppies = ^new Doberman x $mothe

Re: what's new continued

2002-07-07 Thread Ashley Winters
On Sunday 07 July 2002 05:33 pm, Ashley Winters wrote: > my($foo, $bar) = for { $_ = new Stuff } Err, the parser would die if I did that, never mind. Can I have each, perhaps? *@foo = each { undef } I shouldn't be programming on Sunday, Ashley Winters

Re: What's MY.line?

2002-07-11 Thread Ashley Winters
your scope. sub violate_me { caller(1).MY{'$y'} := caller(1).MY{'$x'};# hypothetical syntax } { my $x = 1; my $y; # Might be able to BEGIN { violate_me() } instead violate_me(); print $y; } Ashley Winters -- When you do the community's rewrite, try to remember most of us are idiots.

Re: Perl6 grammar (take V)

2002-07-14 Thread Ashley Winters
). I nominate: $() == scalar() %() == hash() @() == array() For the above function: $hashref = %(function_returning_list_which_needs_to_be_hashified()); That would make %() a hash constructor, just like {}. Ashley Winters -- When you do the community's rewrite, try to remember most of us are idiots.

Re: Perl6 grammar (take V)

2002-07-15 Thread Ashley Winters
On Monday 15 July 2002 07:52 am, Brent Dax wrote: > Ashley Winters: > # > You've got a point. There's an easy way to say "I want a sub": > # > > # > my $sub = -> { ... } > # > > # > But I can't think of a similarly punctuation-intensiv

Re: Grammar ambiguities again (was: Perl 6 Summary for week ending 20020714)

2002-07-15 Thread Ashley Winters
t; under what circumstances it happens. I think the rule of auto-hashifying only when an explicit pair is found is gonna be hard to swallow. I still have my vote on %() as a hash constructor in addition to {}. :) Ashley Winters -- When you do the community's rewrite, try to remember most of us are idiots.

Re: Grammar ambiguities again (was: Perl 6 Summary for week ending

2002-07-15 Thread Ashley Winters
ct a hash ref from those pairs. My argument is that %{} already represents 'HASH' context, and we don't need %() for that as well. Instead, we need a punctuation-happy hash constructor. Ashley Winters -- When you do the community's rewrite, try to remember most of us are idiots.