Re: Bag / Set ideas - making them substitutable for Arrays makes them more useful

2010-11-09 Thread TSa (Thomas Sandlaß)
he list (1,4,9)? And if $x happens to be a scalar isn't it just squared? In the end we just need &map:( &closure, Set $data --> Set) as an overload. Or perhaps &map:( &closure, Iterable ::T $data --> T). Regards, TSa. -- "The unavoidable price of reliability is si

Re: Bag / Set ideas - making them substitutable for Arrays makes them more useful

2010-11-08 Thread TSa (Thomas Sandlaß)
disjoint operators. This is why we have ~ for concatenation and not overloaded +. It makes of course sense to iterate a Bag. But indexing it doesn't. We are also not indexing into strings: "blah"[2] is not 'a'. Regards, TSa. -- "The unavoidable price of re

Re: Smart match isn't on Bool

2010-08-02 Thread TSa (Thomas Sandlaß)
ith $three? Or is the topic the return value of two() at that point? 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: Smart match isn't on Bool

2010-08-01 Thread TSa (Thomas Sandlaß)
... unless you want C to do a value-and-type check, > in which case it doesn't exactly follow the pattern for smartmatching > of the other builtin types (which only check value equivalence, > not type equivalence). This is true only if you want to distinguish 1 and True which are the

Re: Smart match isn't on Bool

2010-07-31 Thread TSa (Thomas Sandlaß)
!" } > whenever timeout() { say "Who cares what you say, time's up!" } > whenever $override { say "Whatever, switching to automatic > override" } > } Am I getting your intention to be that when honors the given and whenever just checks truth? Couldn't we use if for this? That would avoid the new keyword. 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: Suggested magic for "a" .. "b"

2010-07-28 Thread TSa (Thomas Sandlaß)
> applying .reverse could result in a coercion to Sequence. Swapping the endpoints could mean swapping inside test to outside test. The only thing that is needed is to swap from && to ||: $a .. $b # means $a <= $_ && $_ <= $b if $a < $b $b .. $a # means

Re: Type system for Perl 6

2010-02-05 Thread TSa (Thomas Sandlaß)
rations that is usable for type checking. But the where clause is now only a closure that is called when needed. So { $_ < 10 } is not a subtype of { $_ < 20 }. So no predicate dispatch either. Someone should explain the dispatch algorithm to you. I don't remember exactly how the voting ther

Re: Type system for Perl 6

2010-02-05 Thread TSa (Thomas Sandlaß)
arameter irrespective of its use. E.g. you can declare a read/write attribute of that type. 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 does List.map: { .say } work?

2009-11-04 Thread TSa (Thomas Sandlaß)
e object directly. That is, in the scope of the binding the object goes kind of naked. 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: Int/Rat max precision (was Re: r28882 - docs/Perl6/Spec)

2009-10-27 Thread TSa (Thomas Sandlaß)
ith an Int, of course. From a Huffman POV the roles for generic integers and rationals must be short, so the Numeric and Rational roles in S32 are going in the wrong direction. 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: role invocant slot in type sig (was: unusual invocants)

2009-10-26 Thread TSa (Thomas Sandlaß)
iguous type conversion on Dogwood. So I change the proposal such that a juxtaposition means Dog[::T:] Wood[T] which nicely gives the Dogwood implementation of bark as requested by the two roles. Regards, TSa. -- "The unavoidable price of reliability is simplicity" -- C.A.R. Hoare "

Re: unusual invocants

2009-10-26 Thread TSa (Thomas Sandlaß)
opose to have a Dogwood class and two auxiliary proxy classes for the Dog and Wood roles? Isn't that too much effort? OTOH, a conversion routine could indeed return such a proxy if the original shall be kept unchanged. Regards, TSa. -- "The unavoidable price of reliability is si

role invocant slot in type sig (was: unusual invocants)

2009-10-22 Thread TSa (Thomas Sandlaß)
p. But then other non-Dogwood Dog doers are excluded unless they have a Dogwood coercion routine. Or they use the Dogwood class directly. Regards, TSa. -- "The unavoidable price of reliability is simplicity" -- C.A.R. Hoare "Simplicity does not precede complexity, but follo

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: unusual invocants

2009-10-21 Thread TSa (Thomas Sandlaß)
low arbitrary role combinations without conflict. 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-20 Thread TSa (Thomas Sandlaß)
he primary concept. The object influences how it is done or what is the output. The method can of course call mutating methods on the object but this is a secondary concern. 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: Freezing role methods

2009-10-14 Thread TSa (Thomas Sandlaß)
utomatic procedure and some nice syntax. But it looks to me as code analysis of T1 and T2 is needed to generate the wrappers in C. One point I don't like in the paper is that freezing methods can be used to erase methods from a role. This is diametrically opposed to the intent of roles to ma

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: Synopsis 02: Range objects

2009-08-28 Thread TSa (Thomas Sandlaß)
't a > stringifying version. :) That said, it may not be good for much more > than that. Yeah, sometimes orthogonality of features is too much of a good 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: 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-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: 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: 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-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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: [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: 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: On Sets (Was: Re: On Junctions)

2009-03-28 Thread TSa (Thomas Sandlaß)
TOH it collides with (+) visually. 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: Logo considerations

2009-03-25 Thread TSa (Thomas Sandlaß)
eatures that Perl 6 provides which is relatively new to languages in > general. The concept of superimposed shapes is very well done in the Trisquirclehedron. See http://lucacardelli.name/Topics/TheoryOfObjects/ObjectSubject.html Regards, TSa. -- "The unavoidable price of reliabilit

Re: a junction or not

2009-03-18 Thread TSa (Thomas Sandlaß)
urn a code ref, i.e. &any, &all, etc. A simple solution is to have subtypes of Junction like AnyJunction, AllJunction, OneJunction and NoneJunction or perhaps like Junction::Any, Junction::All, Junction::One and Junction::None. Regards, TSa. -- "The unavoidable price of

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: 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: Range and continuous intervals

2009-03-01 Thread TSa (Thomas Sandlaß)
ot;, > and it would be immutable. The only other name that comes to mind is RangeSet. But I prefer Interval because this is the name of the concept in math. 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: 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: 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-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-24 Thread TSa (Thomas Sandlaß)
le by making numeric $x ~~ $y simply mean $x == $y. What is the benefit? 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: min= (from "Rakudo Built-ins Can Now Be Written In Perl 6")

2009-02-24 Thread TSa (Thomas Sandlaß)
enforces an exact match so there's no need for dynamic dispatch. I assume that an 'is rw' actually dispatches on the declared container type of the lhs. 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: 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: 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: 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: 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: References to parts of declared packages

2009-02-13 Thread TSa (Thomas Sandlaß)
mes. I know that the current design involves dispatch to packages but I think that blurs the distinction between packages and classes. If they are all the same anyway then why have the module, package and class keywords? This is a bit too much redundancy for me. Regards, TSa. -- "The unavo

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: 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: 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: returning one or several values from a routine

2009-01-06 Thread TSa (Thomas Sandlaß)
# the Capture object's named parameters, as a hash. 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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

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-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 "

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
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: 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: [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: [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: 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: 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

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: 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

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
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
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: 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: 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: 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: [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: Smooth numeric upgrades?

2008-10-05 Thread TSa (Thomas Sandlaß)
s. But then we need a way for the programmer to specify how these approximations shall be handled. 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: [svn:perl6-synopsis] r14585 - doc/trunk/design/syn

2008-10-05 Thread TSa (Thomas Sandlaß)
rints 1 say $x + $y; # prints 0 It is a cleaver idea to make the operator choose an appropriate value for a Nothing value. Why having that only for meta operators? Regards, TSa. -- "The unavoidable price of reliability is simplicity" -- C.A.R. Hoare "Simplicity does not precede co

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: 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: 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: 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: 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: 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: 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: 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-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-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

  1   2   3   4   5   6   7   >