g.
to go case insensitive.
The driving idea is that if someone uses ~~ instead of
== or eq some form of approximation is intended.
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede complexity, but follows it."
ts in computations these hypernums are standardized back into
Num ;)
An application for transfinite Ints is if you have two "infinite" files
concatenated into one. Then you can keep transfinite indices into the
second one. The size of such a file would be Inf*2 of course.
Regards
);
store a non-zero value in $diff? I assume that Num is discrete with a
binary representation and infix:<->:(Rat,Num-->Rat) converts $num to a
fraction with a power of two in the denominator. BTW, with floor
semantics I would expect $num < $rat.
Regards, TSa.
--
"The una
e. You need infix:<+>:(Int,Int) to
refer to a single target.
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede complexity, but follows it." -- A.J. Perlis
1 + 2 + 3 + 4 + ... = -1/12 -- Srinivasa Ramanujan
ired, IOW it sets the shift to zero. Note
that infix::(Whatever[::X],X-->Whatever[X]) but infix::(::X,
Whatever[X]-->X) are sort of non-commutative. Note that the default
value for Whatever is Inf ;)
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R.
No problem here.
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede complexity, but follows it." -- A.J. Perlis
1 + 2 + 3 + 4 + ... = -1/12 -- Srinivasa Ramanujan
HaloO,
[EMAIL PROTECTED] wrote:
Let's just make sure we're handling inf and -inf right and leave all
that other stuff until later.
The point is: what is the minimum we need to be future proof
and compatible to other language features.
Regards, TSa.
--
"The unavoidable price
everyone to put space after comma. :)
Wouldn't it suffice to enforce to disambiguate ',:' as ', :'?
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede complexity, but follows it.&quo
could be lazily resumed when
the rvalue comes in. Also infix: needs a lazy item that is collapsed
into Int, Num or Rat depending on the constraint of the container it
ends up in eventually. An Any gets the Rat. Hmm, and a Str perhaps the
two constituting Ints as fraction put into lowest term
standard names for two
CATCH handlers: "CATCH://" and "CATCH:orelse".
So with CATCH a magic namespace these would be CATCH:: and
CATCH:: respectively. Using the namespace is another
approach. But to me it doesn't feel as natural as the exception
type approach.
Regar
icate
path variables. Or imagine a coding convention where junctive
variables bear their generating operator: $foo|bar, $foo&bar and
$foo^bar.
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede complexity, but follo
arget postcircumfix:<[ ]>:(LazySortedList,Int)
suffice when the sort would return such a thing?
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede complexity, but follows it." -- A.J. Perlis
1 + 2 + 3 + 4 + ... = -1/12 -- Srinivasa Ramanujan
ma or plus.
To me undef means "outside of type" but () is definitely a list. It is
producing undef when indexed just as (1,2,3)[3] does where no one argues
that (1,2,3) is an undefined list of length 4 or some such.
Regards, TSa.
--
"The unavoidable price of reliability is sim
() # ()
Sorry, what am I missing that I see no problem with List
always itemizing to an Array?
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede complexity, but follows it." -- A.J. Perlis
1 + 2 + 3 + 4 + ... = -1/12 -- Srinivasa Ramanujan
False,
numifies to 0 and stringifies to ''.
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede complexity, but follows it." -- A.J. Perlis
1 + 2 + 3 + 4 + ... = -1/12 -- Srinivasa Ramanujan
HaloO,
Mark J. Reed wrote:
On Mon, Sep 8, 2008 at 11:08 AM, TSa <[EMAIL PROTECTED]> wrote:
Sorry, what am I missing that I see no problem with List
always itemizing to an Array?
A List *does* always itemize to an Array. But parens do not a List
make; the discontinuity mentioned is syn
* ();# $e == 0?
my $f = 3 ** ();# $f == 1?
my $g = () ?? 1 !! 2; # $g == 2?
my $h;# $h === ()? scalar defaults to nothing
Do the Nothing and Whatever have unique IDs?
my %h;
%h{()} = "Nothing";
%h{*} = "Whatever";
%h{*+3} = "Whatev
assignment to @a. When this happens the singly assigned
former content of @a is snaphot by the iterator. This also preserves
the former lazyness state. If possible the optimizer factors
out the assignments after the loop.
Regards, TSa.
--
"The unavoidable price of reliability is simpl
or that 'abc' is readonly?
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede complexity, but follows it." -- A.J. Perlis
1 + 2 + 3 + 4 + ... = -1/12 -- Srinivasa Ramanujan
that the result is written into the container
passed in the invocant slot. But the 'is rw' on the invocant has the
drawback that calling with a string literal is precluded.
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simpl
HaloO,
Moritz Lenz wrote:
TSa wrote:
The 'is rw' is on the method but I guess it is foreseen that the
result is stored in $string without preserving the identity of the
string?
No. It means that the Str object has to get hold of the container in
which it is stored, and store a mod
eds attribute access into dispatch and makes
base methods future proof with respect to deriving classes.
Your 100% rw observation then to me indicates that OO is more
about data sharing than method dispatch. Note that rw accessors
are particularly difficult to handle in typesafe mode.
Regards, TSa.
--
HaloO,
John M. Dlugosz wrote:
TSa Thomas.Sandlass-at-vts-systems.de |Perl 6| wrote:
Is it generally foreseen that an object knows about the containers
it is stored in?
Yes. But it is not generally the case that this is the same container
as the caller is holding. Detailed specifications of
HaloO,
Carl Mäsak wrote:
I really like all the replies I got to this; thank you Moritz,
Jonathan, TSa, Larry, John and Damian.
It was a pleasure to be useful.
From the feedback I received, I will now do the following:
1. Remove "is rw" from all attributes that aren't
HaloO,
Daniel Ruoso wrote:
Qui, 2008-09-18 às 18:11 +0200, TSa escreveu:
Shouldn't there be a warning in B that $!B::bar overwrites $!A::bar
without an accessor?
Actually, $!B::bar doesn't overwrite $!A::bar... the problem is simply
that $!A::bar is not visible from inside B, and
iant
typing of output parameters. Parameters with 'rw' have to be
*invariant* unless we manage to split the meaning of the type slot
in 'rw' parameter declarations between input and output.
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.
st. But I would
include zero and use a name like UInt that has other uses as well. Are
there pragmas that turn signature failures into undef return values?
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede complexity
([!==] $a,$b,$c) mean !([==] $a,$b,$c).
I have no idea how difficult such negation propagation in parse trees
is.
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede complexity, but follows it." -- A.J. Perlis
1 +
HaloO,
one nifty thing could be negation propagation in chained
comparisons: ($a ne $b ne $c) === !($a eq $b || $b eq $c).
This again insures some sanity if any of $a, $b or $c are
junctions. BTW, the boolean connectives &&, || and ^^ shouldn't
be auto-threaded through junctions.
ea of using the type system to represent
trees and dispatch for transformations like CDuce does it.
See <http://www.cduce.org>.
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede complexity, but follows it.&quo
rays that auto-flatten into a list and become real
arrays in a slice?
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede complexity, but follows it." -- A.J. Perlis
1 + 2 + 3 + 4 + ... = -1/12 -- Srinivasa Ramanujan
asier than naming
the n! sigs for a routine with n parameters. This is somewhat
unperlish. OTOH, an 'is commutative' on a six parameter multi
looks innocent whereas a routine with 720 sigs is impressive.
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" --
HaloO,
David Green wrote:
On 2008-Oct-22, at 10:03 am, TSa wrote:
Note that types have a fundamentally different task in a signature
than name and position have. The latter are for binding arguments to
parameters. The types however are for selection of dispatch target.
Names do that too; I
h quantification.
BTW, IIRC there are signatures in rules but I can't find it in S05.
Where is it?
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede complexity, but follows it." -- A.J. Perlis
1 + 2 + 3 + 4 + ... = -1/12 -- Srinivasa Ramanujan
false because there is a one(1,0,1) junction? As
Duncan points out junctions are immutable values and as such
the % autothreads but the resulting values are assembled into
a new junction according to the general rules, i.e. one(0,1).
The number of elements in one(1,2,3) is not preserved.
Regards, TSa
ix:<==>(Junction,Num-->Bool)
that is not auto-threaded.
BTW, would it be useful to have auto-threading for Set as well?
That is, Junction inherits it from Set.
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not prec
d the juxtaposition Dog Cat.
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede complexity, but follows it." -- A.J. Perlis
1 + 2 + 3 + 4 + ... = -1/12 -- Srinivasa Ramanujan
So one()
is just another way of writing False ;)
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede complexity, but follows it." -- A.J. Perlis
1 + 2 + 3 + 4 + ... = -1/12 -- Srinivasa Ramanujan
(1,2,3)
should be False because 2.WHAT is Int and any(1,2,3).WHAT is
Junction. Or are my expectations wrong?
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede complexity, but follows it." -- A.J. Perlis
1 + 2 + 3 + 4 + ... = -1/12 -- Srinivasa Ramanujan
he same analysis. Without
it the issue is left up to the runtime dispatcher. Both dispatch
targets treat the rhs different, of course. The ArrayItem case
builds an arrayref, the ArraySlice assigns the elements with
flattened @x.
Regards, TSa.
--
"The unavoidable price of reliability is sim
that to
1 ~~ Junction || 2 ~~ Junction || 3 ~~ Junction
Note that this demotion to object means that
any(1,2,3) ~~ Int
evaluates to false because the lhs is of type AnyJunction of Int.
To me this is the same as
[1,2,3] ~~ Int
which is false because there is an Array of Int not an Int.
l unit sphere.
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede complexity, but follows it." -- A.J. Perlis
1 + 2 + 3 + 4 + ... = -1/12 -- Srinivasa Ramanujan
e embedded closure refers to the strings
$^name. And now the dwimmyness shall make that implicit, right?
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede complexity, but follows it." -- A.J. Perlis
1 + 2 + 3 + 4 + ... = -1/12 -- Srinivasa Ramanujan
they shall become a set of lists or a set of sets.
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede complexity, but follows it." -- A.J. Perlis
1 + 2 + 3 + 4 + ... = -1/12 -- Srinivasa Ramanujan
traint on containers and in dispatch.
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede complexity, but follows it." -- A.J. Perlis
1 + 2 + 3 + 4 + ... = -1/12 -- Srinivasa Ramanujan
$a++;
fails when the Int 2 shall be written back into $a. I wonder if the
auto-generation of operators can be requested as follows:
enum A « :One(1), :Two(2), :Three(3) » does Int;
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"
dispatch to the Rat versions of operators?
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede complexity, but follows it." -- A.J. Perlis
1 + 2 + 3 + 4 + ... = -1/12 -- Srinivasa Ramanujan
h that === compares
them.
(As you point out, you can always use something like "Weekday::Sun eq
Star::Sun" or "Weekday::Sun == 0" if you want string or numeric equality.)
Yes, these comparisons are well defined in the Str and Num domains.
Regards, TSa.
--
"The una
x(1,0) === Int 1'? Should all these
be identical irrespective the fact that they come from three different
type domains? How is that implemented?
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede complexity, but
Int --> Rat) because this doesn't
need to be accompanied with a mod. That allows div on two Ints to
return an Int which complies to the general prescription for
overloading div and mod homogenously.
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
bit unperlish.
We have the pair of infix (!) operators min, max and the operator
minmax that delivers both values in one go. Copying that prior art
would simply mean to define divmod. I'm fine with that.
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C
whether always-2 is a good
semantics, or whether one would prefer some other default.
My idea is to let a pair numify to whatever the value numifies to.
Same thing with stringification. In general I think that a pair should
hide its key as far as possible if used as non-pair.
Regards, TSa.
--
&quo
HaloO,
Darren Duncan wrote:
Michael G Schwern wrote:
TSa (Thomas Sandlaß) wrote:
I want to stress this last point. We have the three types Int,
Rat and Num. What exactly is the purpose of Num? The IEEE formats
will be handled by num64 and the like. Is it just there for
holding properties? Or
rained set of roles and types
composed of it by juxtaposition. This allows signatures to state
their requirements clearly and machine enforcable. IOW, your approach
precisely solves the problem that fat interfaces can raise errors
only lately, that is when a call is attempted.
Regards, TSa.
--
&
27;m not
sure if the parens are necessary to pass the pair to say as argument
to be printed instead of a named argument that influences how the
printing is done.
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede complex
@a I think the choice of @@a versus @a is a bit like the choice
between a @a and an anonymous array in a $ var ala $a = [] which
can be handled through $a almost like @a.
@a =!= @@a :test;
BTW, what does the :test mean there?
Regards, TSa.
--
"The unavoidable price of reliability is
m wrong, but isn't context
just type information derived from the syntactic structure of the
source code?
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede complexity, but follows it." -- A.J. Perlis
1 + 2 + 3 + 4 + ... = -1/12 -- Srinivasa Ramanujan
h is interpolated when the closure runs.
That is there are two nested interpolations! Note that you can't
use "{" to initialize a variable because it either ends in a syntax
error or as in the given example swallows some code into a string.
This works as you intent:
my $left = '
HaloO,
pugs-comm...@feather.perl6.nl wrote:
-our Bool method getc (IO $self: *...@list)
+our Bool method getc (IO $self: Bool :async)
Shouldn't there be a sigiled :$async?
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"
ferent syntax to the proposed
form
class A::Foo {...}
class A::Bar {...}
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede complexity, but follows it." -- A.J. Perlis
1 + 2 + 3 + 4 + ... = -1/12 -- Srinivasa Ramanujan
w. IOW, say could have the 'is pure' trait on its parameters and
on itself.
OTOH, S06 already propose an optimization hint, which should do what you
want, look for "is cached".
But that is for a completely orthogonal kind of optimization.
Regards, TSa.
--
"The unavo
here clause parser know to default to numeric equality?
Through smart matching? Is that the default for a where clause with
no operator?
BTW, what is the supposed difference between these two forms?
I would favour the first on the footing that the where clause
belongs to the type.
Regards, TSa.
--
&qu
ntics. That is if
you want to traverse a RootedTree you have to explicitly skip
the parent. But this can be easily remedied with a method with
a different name. E.g. we could introduce .nodes in RootedTree
and have a .trees method in Tree. From this we see that these
two roles should be designed
ical context give us a Duration?)
I guess not because 2..3 and 4..5 are equal as duration but not equal
as ranges. Here I assume that == is included in the list of operators
that S03 claims to be sensibly overloaded. That is 2..3 == 4..5 means
2 == 4 && 3 == 5 which is false.
Regard
ve ‰ (promille) and ‱ (permyriad) as well. And when we are at
it .ppb and .ppt are common as well. At least Wikipedia has them.
There one also finds that ratios are expressed with the SI prefixes
like nano without a unit or U for uno. But I guess at the latest
this all belongs into a Ratio (standard
number
that is exact as far as relative error goes. Note that it can't
be subsumed by the other cases because that would produce 0..^0
which fails for 0 ~~ 0..^0 since that means 0 <= 0 < 0 which
is false.
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" --
dentity of an approximation closure and it is not required
from an implementation to render sin($x) == sin($x + 2*pi) even though
it is imaginable if $x contains a Num that has pi as approximation
closure so that an exact modulo can be put into the approximation
closure of sin's return value.
s Num
gets the additional methods one way or another. But it seems
open classes have acquired a design smell of late. Or why is
the process called monkey patching?
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede compl
HaloO,
Larry Wall wrote:
Although, interestingly, if the method is exported as a multi it
should automatically add in the current role or class as a constraint
on the (former) invocant so that multi dispatch will not overgeneralize.
I would expect
class Foo
{
method bar {...}
the resulting
junction any(0,0,0,0,0,1,1,1,1,1) is before the block. Thus
I'm opting for any(-4..6).
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede complexity, but follows it." -- A.J. Perlis
1 + 2 + 3 + 4
<= 0) or (0 <= +1 <= 0)" than it is to "(0 <=
-1 or 0 <= +1) and (-1 <= 0 or +1 <= 0)". The trick is to figure out
how to get this result without needing a nightmarish amount of
overhead to do it.
A structural analysis of the code that generates an auto-threading
poi
s are allowed outside of a class
scope. That is, the type constraint of the invocant inserts it into
the class. Perhaps in a non-privileged form, i.e. without access to
private attributes and methods. Does that make sense?
Regards, TSa.
--
"The unavoidable price of reliability is simplicity
turn false if it is tested in a
subroutine, then perl6 junctions are not really modelling
quantum superpositions
I agree. We should make sure that junctions model quantum
computations.
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does n
$x.STORE($y.FETCH);
}
Note that due to contravariance the type constraint of $lhs should
actually be the bottom type not Any. OTOH rw is invariant in general.
Only here in assignment the $lhs is write-only. But Perl 6 hasn't
specced that trait on parameters.
Regards, TSa.
--
"The unavoida
from their lexically available definition!
So does the programmer if she bothers to look them up.
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede complexity, but follows it." -- A.J. Perlis
1 + 2 + 3 + 4 + ... = -1/12 -- Srinivasa Ramanujan
C. Or would the code sequence above work also
with a capture instead of binding?
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede complexity, but follows it." -- A.J. Perlis
1 + 2 + 3 + 4 + ... = -1/12 -- Srinivasa Ramanujan
is is needed
to implement the distinction between the mutating and non-mutating
interfaces of objects. Hmm, could the compiler infer this trait from
the body of the method?
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede complexity, but follows it." -- A.J. Perlis
1 + 2 + 3 + 4 + ... = -1/12 -- Srinivasa Ramanujan
ry I believe it doesn't
pay off. IOW, objects are best kept eager.
Regards TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede complexity, but follows it." -- A.J. Perlis
1 + 2 + 3 + 4 + ... = -1/12 -- Srinivasa Ramanujan
haps prefix:«{T}»? Note that
S14 just has methods with name T but how does that work at all.
Note that a type cast is written as a prefix call and the sub
dispatcher is not failing over to method dispatch anymore.
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede complexity, but follows it." -- A.J. Perlis
1 + 2 + 3 + 4 + ... = -1/12 -- Srinivasa Ramanujan
res the readonlyness suffices. Most of the
time not even that when the constness is known statically.
Regards TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede complexity, but follows it." -- A.J. Perlis
1 + 2 + 3 + 4 + ... = -1/12 -- Srinivasa Ramanujan
refore see a single list of three values instead of
two consecutive lists of two items.
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede complexity, but follows it." -- A.J. Perlis
1 + 2 + 3 + 4 + ... = -1/12 -- Srinivasa Ramanujan
n use that to
switch over the xor:
given $x ^^ $y ^^ $z
{
when TooMany {...}
when TooFew {...}
when True {...}
}
A nicer set of return values would be Many, One and Zero. Numeric values
could be Many = -1, One = 1 and Zero = 0, so that they numerify nicely.
So can
HaloO,
Jon Lang wrote:
I'd still like to get a synonym for "mandate role", though - a word
that captures the meaning of "unit of behavior".
A bit burdened with conflicting meaning but I think "mixin" is what
you are looking for.
Regards, TSa.
--
"
ently overridden. Ones with an
implementation produce a warning if the composing class overrides
it without some extra syntax. This bites only the case where the
role provides a default implementation intended for overriding.
Regards, TSa.
--
"The unavoidable price of reliability is simplicity
ad thing.
We should have my $x = 1; foo($x++,$x,$x++); to call foo(1,2,2)
and not foo(1,3,2) or even foo(2,3,1). The capture creation for
the foo call should be strictly left to right and capturing the
value at that moment.
Regards, TSa.
--
"The unavoidable price of reliability is simpl
mixture of signature
and statement syntax inside \(). E.g. the question is if
\($x + $y is copy) is valid.
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede complexity, but follows it." -- A.J. Perlis
1 + 2 + 3 +
nto-trouble examples involve $x++,
so we'll need to be careful with that particular monad^Wside effect.
Actually not. Every code object invocation is a get-into-trouble
example unless it is purely functional code.
Regards, TSa.
--
"The unavoidable price of reliability is simplicit
x27;aaa' ~~ 'aa'..'az'. I find this
quite natural. Note that order is not a prerequisite for a notion of
range and range iteration. I think of ranges more like set and set
iteration. I'm going to post my take on the complex case elsewhere in
this thread.
Regards, TSa
vector spaces of arbitrary dimension where one intersects hyperspheres
around two points. One can also generalise to non-euclidean metrics,
of course. Perhaps even a string distance function might work.
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R.
equivalent to '<='.
This last one is !after and !before is '>='.
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede complexity, but follows it." -- A.J. Perlis
1 + 2 + 3 + 4 + ... = -1/12 -- Srinivasa Ramanujan
ile---this is what you call wearing a role hat. We
should keep the class dispatch as simple as possible and not mix in
the environment of the call into the meaning of an object!
Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does no
m which does Real.
The default Rat is then just Rat[rat64:] for example. And the
instanciating class might also be defaulted lexically. Essentially
all types are then denominated in this form which uniquely identifies
a role/class combination by means of the colon in brackets after the
name.
ctical distinction possible because of:
my $object = new Foo;
my $meta = $object.meta;
$meta.bar() # calls submethod but looks like method call
I guess the type of $meta is Ref of Class or somesuch.
Regards,
--
TSa (Thomas Sandlaß)
e(Int, 17);
my @a = make(Array, [1,2,3]); # single element array?
# or three element array?
my $e = make(Int 'string'); # type error in &make?
With the automatic binding of a ::Type variable to the type
of it's argument the definition of &make could be shortend to
sub make ( ::Type $value ) returns Type
{ ... }
and called like this
my $i = make(17);
which at least prevents type errors ;)
Regards,
--
TSa (Thomas Sandlaß)
ere seems to be
some overlap in particular in the construction process which is
characterized as involving an unitialized object. So in that case
some macro magic might make the instance available to the submethod.
But this will be a non-invocant parameter.
But mind the sig!
--
$TSa =:= all( none( @Larry ), one( @p6l ))
. chars in strings depending on the
Unicode level and index arithmetic of arrays. Some unification of the
underlying math would be nice, indeed. And that typically involves
starting from 0 and the positive remainder pointing into the day.
Regards,
--
TSa (Thomas Sandlaß)
be instanciable? I guess the explicit forms are:
FooStuff[Int]::foo(1,2);
&strfoo ::= (FooStuff[Str].new)::new; # from Autrijus Hackathon notes
Will re-instanciation be prevented when the latter is spelled
&strfoo := (FooStuff[Str].new)::foo; # or with =
Actually this syntax might be wrong usage of ::.
But do I get you right that the lazy forms are
does FooStuff; # lazy role instanciation into current scope
foo(1,2); # &FooStuff[Int]::foo:(Int,Int)
foo(1,'blahh'); # type error?
Regards,
--
TSa (Thomas Sandlaß)
stant
I assumed lvalue subs would implicitly return void and an
assignment goes to the function slot of the args used in the assignment
and subsequent calls with these args return exactly this value.
In that respect arrays and hashes are the prime examples of lvalue
subs. Other uses are interpolated data, Delauny Triangulation etc.
Regards,
--
TSa (Thomas Sandlaß)
n-invocant params, in assignments etc.
For research on the topic see e.g.
http://www.cs.washington.edu/research/projects/cecil/www/Papers/predicate-classes.html
--
TSa (Thomas Sandlaß)
compensated by a good match.
--
TSa (Thomas Sandlaß)
401 - 500 of 657 matches
Mail list logo