On Mon, Dec 2, 2013 at 7:18 PM, Niko Matsakis <[email protected]> wrote:
> > OK, I read a bit more. I've been working on a blog post about "HKR" > (higher-kinded Rust) and you've been elaborating on some of the same > themes as I was thinking about (naturally enough). All makes sense. > ...which was part of the impetus for finally getting my thoughts down on "paper". :) > In the absence of an erased keyword, I think that higher-kinded traits > and objects are simply incompatible. The situation is not as simple as > you made it out, as the trait may itself have generic parameters of > higher-kind. Without having thought about very deeply about whether it's true (can you provide an example?), wouldn't this be more accurately phrased as: "(higher-kinded?) traits with higher-kinded generic parameters and objects are simply incompatible"? In other words, if the problem is with the higher-kinded generic parameters, then why not forbid objects only in that case, and support them in their absence? > > The other is the potential to abstract over traits. GHC does this with > the > > `ConstraintKinds` extension. (According to people who have implemented > > Haskell compilers, it's actually easier to implement it than not to![1] > > Which is pretty crazy.) > > I'm not sure this would be true for Rust, but perhaps. > I have no idea either - it's astonishing enough that it's true for Haskell. :) > > > There's two further issues that higher-kinded generics raise... > > This is as far as I got in this round. More later. :) > OK. :) (I also still have yet to find serious time for DST parts [2..4]...) > > > Niko > -- Your ship was destroyed in a monadic eruption.
_______________________________________________ Rust-dev mailing list [email protected] https://mail.mozilla.org/listinfo/rust-dev
