Re: [rust-dev] paring back the self type to be, well, just a type

2012-04-16 Thread Nicholas Matsakis
] paring back the self type to be, well, just a type It's not just monads that require parameterized self types. It comes up even in something like a generic collection type, if you want to have a map operator. I agree that the problems you raised are real, but I think giving up on the self type

[rust-dev] paring back the self type to be, well, just a type

2012-04-12 Thread Niko Matsakis
I've been reading more closely into the impl/iface code and I think I've found another problem. The current `self` type is actually more than a type---rather it's a kind of type constructor. I think we should change it to be just a type, because we do not have other type constructors in our

Re: [rust-dev] paring back the self type to be, well, just a type

2012-04-12 Thread Dave Halperin
Hi, I've been a lurker on this list for a little while now. Just thought I'd point out that the solution to this in Haskell is the 'kind' system, see http://www.haskell.org/onlinereport/decls.html#sect4.1.1. The equivalent of the line 'impl of foouint for uint' would cause an error that foo

Re: [rust-dev] paring back the self type to be, well, just a type

2012-04-12 Thread Niko Matsakis
On 4/12/12 2:08 PM, Dave Halperin wrote: I'm not advocating either way on this in terms of the complexity tradeoff for adding a kind system, just pointing out that it's what you'd need to make the current system work and it's not completely crazy to want that flexibility out of the type