Re: Elimination of Item|Pair and Any|Junction

2005-07-28 Thread TSa (Thomas Sandlaß)
Larry Wall wrote: On Wed, Jul 27, 2005 at 06:28:22PM +0200, "TSa (Thomas Sandlaß)" wrote: : Since we are in type hierachies these days, here's my from ::Any : towards ::All version. That's pretty, but if you don't move Junction upward, you haven't really addressed the question Autrijus is asking

Re: Inferring (Foo of Int).does(Foo of Any)

2005-07-28 Thread TSa (Thomas Sandlaß)
HaloO, Autrijus Tang wrote: [..much better explaination of the co/contra prob then mine skipped..] Hence, my proposal is that Perl 6's generics should infer its variancy, based on the signature of its methods, and derive subtyping relationships accordingly. Yes!! That would be great. But I wou

Re: Garbage Collector API

2005-07-28 Thread David Formosa \(aka ? the Platypus\)
On 26 Jul 2005 05:18:05 -, David Formosa ) <[EMAIL PROTECTED]> wrote: > We are should have an API to talk to the GC and give it hints about when it > should run, and tweek the verious paramitors for its running. > > For example [...] Also my Bigobjet $big is GC::timely = Bigobect; # Requ

Re: Messing with the type heirarchy

2005-07-28 Thread Michele Dondi
On Wed, 27 Jul 2005, [ISO-8859-1] "TSa (Thomas Sandla?)" wrote: value to carry on a useless imaginary part. And Complex should consistently return undef when compared to other Nums or Complexes. And the Compare role My 0.02+0.01i: in mathematics it is commonly used to write e.g. z<3 to mean "

Re: Messing with the type heirarchy

2005-07-28 Thread TSa (Thomas Sandlaß)
HaloO Michele, you wrote: On Wed, 27 Jul 2005, [ISO-8859-1] TSa wrote: value to carry on a useless imaginary part. And Complex should consistently return undef when compared to other Nums or Complexes. And the Compare role My 0.02+0.01i: in mathematics it is commonly used to write e.g. z<3

Re: An idea for doing pack.

2005-07-28 Thread Yuval Kogman
I have a fundamental disagreement with what pack used to be - it's too stringish... =) the printf and unpack syntaxes always bothered me because they are akin to 'eval'ing, more than they are to quasi quoting. I like your Pack object - that is the parsed template, but I'd also like to be able to

Re: Garbage Collector API

2005-07-28 Thread Yuval Kogman
On Thu, Jul 28, 2005 at 01:08:13 -, David Formosa (aka ? the Platypus) wrote: > On 26 Jul 2005 05:18:05 -, David Formosa ) > <[EMAIL PROTECTED]> wrote: > > > We are should have an API to talk to the GC and give it hints about when it > > should run, and tweek the verious paramitors for i

Re: execution platform object? gestalt?

2005-07-28 Thread Yuval Kogman
On Wed, Jul 27, 2005 at 08:59:53 -0700, Larry Wall wrote: > So in this particular case it might be better to just say > > if exists &get_javascript_class {...} Eeep... That reminds me of how you check between versions of perl. I think I want something else: $?RUNTIME this is a comm

Re: The meaning of "returns"

2005-07-28 Thread TSa (Thomas Sandlaß)
HaloO Autrijus, you wrote: D) Make the return type observe both #2 and #3 at compile time, using type variables: sub id ( (::T) $x ) returns ::T { return($x) } And this is a natural extension to guide the inferencer so it won't be totally giving up on polymorphic functions such a

Re: Elimination of Item|Pair and Any|Junction

2005-07-28 Thread Yuval Kogman
On Thu, Jul 28, 2005 at 00:26:27 +0800, Autrijus Tang wrote: > Er, but Junctions take methods, the same way Objects do, so if there is > an Object in the type hierarchy, Junction probably belongs to it. Maybe there is a role called 'Junctive'? I think junctions are orthogonal to other types, excep

Re: lazy list syntax?

2005-07-28 Thread Yuval Kogman
On Wed, Jul 27, 2005 at 20:17:41 -0300, Flavio S. Glock wrote: > I have an object representing the sequence "1..Inf". > I tried creating a Coroutine, and then assigning the Coroutine to an > Array, but it only yielded "1": > > my @a = $span.lazy; # "1" > > The coroutine worked fine in a "whil

Re: Elimination of Item|Pair and Any|Junction

2005-07-28 Thread Larry Wall
On Thu, Jul 28, 2005 at 05:31:46AM +0800, Autrijus Tang wrote: : On Thu, Jul 28, 2005 at 03:55:55AM +0800, Autrijus Tang wrote: : > Hrm. I thought the original motivation of forcing people to write : > : > Any|Junction : > : > was precisely to discourage people from accidentally write : > :

Re: Type::Class::Haskell does Role

2005-07-28 Thread TSa (Thomas Sandlaß)
HaloO Luke, you wrote: All in all, generic equality and comparison is something that Perl 5 did really poorly. Some people overloaded eq, some overloaded ==, some wrote a ->equal method, and there was no way to shift between the different paradigms smoothly. This is one of the times where we h

$value.confess()

2005-07-28 Thread Brent 'Dax' Royal-Gordon
While trying to track down a type error in a Pugs program today, I thought of what could be a handy debugging feature. I would like Perl 6 values to capture the call stack when they're created and store them into a property called "confess" (Autrijus's name). $value.confess would then return an a

Some thoughts on PIL

2005-07-28 Thread Autrijus Tang
On Thu, Jul 28, 2005 at 06:31:34PM +0200, "TSa (Thomas Sandla�)" wrote: > BTW, where can I read about PIL, other then in Parrot/Pugs svn? (Cc'ing in P6C.) The current type-indexed design of PIL is going away, because it is closely tied to the PIR/Parrot model, to the disadvantage of our Perl5/Jav

Re: Elimination of Item|Pair and Any|Junction

2005-07-28 Thread Autrijus Tang
On Thu, Jul 28, 2005 at 09:27:00AM -0700, Larry Wall wrote: > Or maybe Any really does mean "Object" and we're just viewing our > hierarchy too strictly if we make every relationship "isa". That's one > thing that neither this formulation nor Thomas's are making very > clear--which type relations

Re: Elimination of Item|Pair and Any|Junction

2005-07-28 Thread Autrijus Tang
On Fri, Jul 29, 2005 at 05:59:43AM +0800, Autrijus Tang wrote: > I can see marking things explicitly for named bindings: > > foo(:literal); > foo(*%nameds); > foo(*$pair); > foo([EMAIL PROTECTED]); Er, sorry, the last one should be foo(*%{ hash @list_of_pairs }); Thanks, /

Re: Garbage Collector API

2005-07-28 Thread David Formosa \(aka ? the Platypus\)
On Thu, 28 Jul 2005 16:22:19 +0300, Yuval Kogman <[EMAIL PROTECTED]> wrote: [...] > On Thu, Jul 28, 2005 at 01:08:13 -, David Formosa (aka ? the Platypus) = > wrote: [...] >> my Bigobjet $big is GC::timely =3D Bigobect; # Request timely >> # destruction of $big. Usefull for filehandels and

Re: lazy list syntax?

2005-07-28 Thread Flavio S. Glock
2005/7/28, Yuval Kogman <[EMAIL PROTECTED]>: > > I think unary = is what you want: > > my @a = $span.lazy; > > for [EMAIL PROTECTED] -> $item { > ... > } > > Ofcourse, my @a = $span.lazy will have to be fixed, but what you > tried should be working. Is "f

Re: lazy list syntax?

2005-07-28 Thread Yuval Kogman
On Thu, Jul 28, 2005 at 19:58:16 -0300, Flavio S. Glock wrote: > 2005/7/28, Yuval Kogman <[EMAIL PROTECTED]>: > > > > I think unary = is what you want: > > > > my @a = $span.lazy; > > > > for [EMAIL PROTECTED] -> $item { > > ... > > } > > > > Ofcourse, my