king syntaxes, I'd predict
the syntax should be:
for [...@gifts[0..$day-1]] -> $ ($key => $value) { ... }
- 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
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
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
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
had hyperoperators to
implictly parallelize for us:
my @answer = @jobs.»();
Which would run them in parallel automatically, if possible.
- 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
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
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 "
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
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
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
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
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
> &
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
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
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
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
ould create &infix:<,=> as a synonym for push?
@array ,= $foo ; @array = @array, $foo;
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
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
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
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
o.grep({ $^a <=> $^b}) or the adverbial colon:
if @foo.grep:{$^a <=> $^b} { ... }
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.
[ ] { } < > : ++ $ . ? / +| +& ?| ?& >}/
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
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
) }]+ }
&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
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
sub cos (Num +$degrees) returns Num {
return cos :radians($degrees * PI / 180);
}
my Num $x = cos :degrees(270);
Ashley Winters
curried arguments? hmm
@!foo = none
After all, why should scalars get all the good secondary sigils? :)
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
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
sub *infix:<..>(Int $x, Junction $y) {
return $x .. first { .does(Int) } $y.values;
}
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
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
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
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
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?
> > }
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
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+)
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
] {...}
Would that be valid/mean anything?
Okay, that enough curiosity for today. :)
Thanks,
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 = +<<
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
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
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
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.
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.
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
).
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.
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.
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
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
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,
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
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
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
used to be discussion on the list about adding more possibilities, but I
didn't follow it.
Thanks,
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
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
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
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
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
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
" 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
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
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
68 matches
Mail list logo