On Thu, Jul 18, 2013 at 4:06 AM, Bennie Kloosteman <[email protected]>wrote:

> This may be correct at the moment most people are using single crate
> static compilation..  Though i do asume that traits can be  imported from
> the standard lib ..
>

It's not the import of traits that's the problem. It's the import of trait
implementations.


> I dont think it stopped Haskell ...
>>
>
> "Umm. Bennie? Name *one* large system that has been implemented in
> Haskell. Haskell hasn't been stopped because it hasn't attempted the
> challenge."
>
> I cant answer that as im not a Haskel dev but it seems quite a significant
> community .    Am i right though in equating this to 2nd order generics ?
>  C# 1  had  large apps without them ..
>

2nd order generics raise more issues, but they aren't required to have the
problem we are discussing. You can break instance coherence just fine
without generics at all, and you can *certainly* break them when generics
get into play. The first (multiple implementations of a trait at the same
type) is generally referred to as the "coherence problem". The second (a
generic implementation overridden by a specific implementation) is referred
to in the Haskell world as "overlapping instances".

For a language to work at scale, I feel that both problems need a
reasonable resolution. Rust may in fact have one, but I'm unable to tell
from the manual and the wiki entries that I've seen so far.
_______________________________________________
bitc-dev mailing list
[email protected]
http://www.coyotos.org/mailman/listinfo/bitc-dev

Reply via email to