smart match Any ~~ Num

2008-08-06 Thread TSa
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."

Re: new article, "A Romp Through Infinity"

2008-08-06 Thread TSa
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

Re: new article, "A Romp Through Infinity"

2008-08-07 Thread TSa
); 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

Re: Humorous but serious article

2008-08-07 Thread TSa
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

Re: new article, "A Romp Through Infinity"

2008-08-07 Thread TSa
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.

Re: adverbs o operators

2008-08-07 Thread TSa
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

Re: new article, "A Romp Through Infinity"

2008-08-07 Thread TSa
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

Re: adverbs o operators

2008-08-07 Thread TSa
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

Re: Some details of function return captures

2008-08-08 Thread TSa
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

Re: Catching exceptions with the // operator

2008-08-08 Thread TSa
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

Re: Allowing '-' in identifiers: what's the motivation?

2008-08-12 Thread TSa
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

Re: how much detail can I get from caller.want?

2008-09-01 Thread TSa
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

Re: adverbial form of Pairs notation question

2008-09-08 Thread TSa
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

Re: adverbial form of Pairs notation question

2008-09-08 Thread TSa
() # () 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

Re: adverbial form of Pairs notation question

2008-09-08 Thread TSa
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

Re: adverbial form of Pairs notation question

2008-09-08 Thread TSa
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

Re: adverbial form of Pairs notation question

2008-09-09 Thread TSa
* ();# $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

Re: Iterator semantics

2008-09-09 Thread TSa
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

Re: How to define a new value type?

2008-09-16 Thread TSa
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

Re: How to define a new value type?

2008-09-17 Thread TSa
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

Re: How to define a new value type?

2008-09-17 Thread TSa
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

Re: Should $.foo attributes without "is rw" be writable from within the class

2008-09-17 Thread TSa
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. --

Re: How to define a new value type?

2008-09-18 Thread 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

Re: Should $.foo attributes without "is rw" be writable from within the class

2008-09-18 Thread TSa
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

Re: Should $.foo attributes without "is rw" be writable from within the class

2008-09-19 Thread TSa
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

Re: Subroutine parameter with trait and default.

2008-09-22 Thread TSa
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.

Re: Split with negative limits, and other weirdnesses

2008-09-23 Thread TSa
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

Re: Recommended Perl 6 best practices?

2008-10-01 Thread TSa
([!==] $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 +

Re: Recommended Perl 6 best practices?

2008-10-01 Thread TSa
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.

Re: globs and trees in Perl6

2008-10-02 Thread TSa
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

Re: [svn:perl6-synopsis] r14586 - doc/trunk/design/syn

2008-10-07 Thread TSa
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

Re: Signatures and matching (was "Re: XPath grammars (Was: Re: globs and trees in Perl6)")

2008-10-22 Thread TSa
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" --

Re: Signatures and matching (was "Re: XPath grammars (Was: Re: globs and trees in Perl6)")

2008-10-27 Thread TSa
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

Re: globs and rules and trees, oh my!

2008-10-27 Thread TSa
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

Re: Collapsing Junction states?

2008-11-13 Thread TSa
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

Re: Collapsing Junction states?

2008-11-13 Thread 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

Re: Collapsing Junction states?

2008-11-13 Thread TSa
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

Re: Collapsing Junction states?

2008-11-13 Thread TSa
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

Are eqv and === junction aware?

2008-11-13 Thread TSa
(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

Re: More about arrayref/hashref in spectest suite

2008-11-13 Thread TSa
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

Re: Are eqv and === junction aware?

2008-11-14 Thread TSa
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.

Re: [perl #60674] sign($x) always returns 1 when $x ~~ Complex

2008-11-20 Thread TSa
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

Re: Should a closure-in-a-string get the placeholder parameters from its surroundings?

2008-11-21 Thread TSa
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

Re: how to write literals of some Perl 6 types?

2008-12-03 Thread TSa
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

Re: how to write literals of some Perl 6 types?

2008-12-03 Thread TSa
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

Re: how to write literals of some Perl 6 types?

2008-12-03 Thread TSa
$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 "

why infix::(Int, Int --> Rat)

2008-12-04 Thread TSa
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

Re: how to write literals of some Perl 6 types?

2008-12-04 Thread TSa
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

Re: how to write literals of some Perl 6 types?

2008-12-04 Thread TSa
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

Re: why infix::(Int, Int --> Rat)

2008-12-05 Thread TSa
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

Re: why infix::(Int, Int --> Rat)

2008-12-05 Thread TSa
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

Re: What does a Pair numify to?

2008-12-11 Thread TSa
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

Re: Smooth numeric upgrades?

2008-12-11 Thread TSa
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

Re: Roles and IO?

2008-12-12 Thread TSa
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. -- &

Re: What does a Pair numify to?

2008-12-16 Thread 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

Re: Proposal: Make @a and @@a different variables

2008-12-16 Thread TSa
@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

Re: Proposal: Make @a and @@a different variables

2008-12-17 Thread TSa
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

Re: Not a bug?

2009-01-12 Thread TSa
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 = '

Re: r25172 - docs/Perl6/Spec

2009-02-02 Thread TSa
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 "

Re: References to parts of declared packages

2009-02-13 Thread TSa
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

Re: Detecting side-effects in Perl 6 (Was: Re: infectious traits and pure functions)

2009-02-17 Thread TSa
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

Re: Detecting side-effects in Perl 6 (Was: Re: infectious traits and pure functions)

2009-02-17 Thread TSa
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

Re: More trees and roles

2009-02-20 Thread TSa
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

Re: Temporal changes

2009-02-23 Thread TSa
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

Re: Comparing inexact values (was "Re: Temporal changes")

2009-02-25 Thread TSa
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

Re: Comparing inexact values (was "Re: Temporal changes")

2009-02-26 Thread TSa
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" --

Re: Comparing inexact values (was "Re: Temporal changes")

2009-02-26 Thread TSa
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.

Re: new Capture behavior (Was: Re: r25685 - docs/Perl6/Spec)

2009-03-06 Thread TSa
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

Re: [pugs-commits] r25698 - docs/Perl6/Spec/S32-setting-library

2009-03-06 Thread TSa
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 {...}

Re: junctions and conditionals

2009-04-01 Thread TSa
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

Re: [Fwd: Re: junctions and conditionals]

2009-04-01 Thread TSa
<= 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

Re: S08 Draft questions (Captures and Signatures)

2009-04-01 Thread TSa
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

Re: simultaneous conditions in junctions

2009-04-01 Thread TSa
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

Re: Array variables as formal parameters ???

2009-05-25 Thread TSa
$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

Re: Array variables as formal parameters ???

2009-05-25 Thread TSa
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

Re: Question for Larry

2009-05-26 Thread TSa
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

Re: Information Model manuscript, pt.2

2009-06-03 Thread TSa
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

Re: Implicit threading vs Imperative barriers

2009-06-04 Thread TSa
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

Re: LValues, types, mutability

2009-06-09 Thread TSa
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

Re: Why pass by reference?

2009-06-16 Thread TSa
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

Re: XOR does not work that way.

2009-07-02 Thread TSa
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

Re: XOR does not work that way.

2009-07-03 Thread TSa
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

Re: YAPC::EU and Perl 6 Roles

2009-07-15 Thread TSa
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. -- "

Re: YAPC::EU and Perl 6 Roles

2009-07-15 Thread 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

Re: Parameter binding

2009-07-23 Thread TSa
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

Re: Parameter binding

2009-07-29 Thread TSa
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 +

Re: Parameter binding

2009-07-29 Thread TSa
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

Re: Synopsis 02: Range objects

2009-08-27 Thread TSa
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

Re: Synopsis 02: Range objects

2009-08-27 Thread 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.

Re: Synopsis 02: Range objects

2009-08-31 Thread TSa
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

Re: unusual invocants

2009-10-21 Thread TSa
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

Re: unusual invocants

2009-10-22 Thread TSa
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.

Re: Submethods

2005-07-06 Thread TSa (Thomas Sandlaß)
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ß)

Re: Type variables vs type literals

2005-07-06 Thread 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ß)

Re: Submethods

2005-07-06 Thread 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 ))

Re: Time::Local

2005-07-06 Thread TSa (Thomas Sandlaß)
. 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ß)

Re: Type variables vs type literals

2005-07-07 Thread 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ß)

Re: Hackathon notes

2005-07-08 Thread 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ß)

Re: Hackathon notes

2005-07-08 Thread 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ß)

Re: MML dispatch

2005-07-12 Thread TSa (Thomas Sandlaß)
compensated by a good match. -- TSa (Thomas Sandlaß)

<    1   2   3   4   5   6   7   >