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

Reply via email to