You are better to use simple typeclasses. It depends on what you are trying
to do, but when I want an open type, I use classes + type families.


2011/3/18 Stephen Tetley <stephen.tet...@gmail.com>

> On 18 March 2011 13:31, Grigory Sarnitskiy <sargrig...@ya.ru> wrote:
>
> > Anyway, a new question arose.  If I have already declared a type, can I
> add new constructors to it from other modules?
> >
> > Maybe there are some GHC extensions to solve both these problems.
>
> "no can do".
>
> There are ways to encode extensible types (e.g the "finally tagless"
> sytle), but on balance you are better to design extensibility for
> functions - easy to add more functions - than make your code much more
> complicated so it can be extensible for types.
>
> Parser combinators and pretty print combinators are great and largely
> simple examples of extensibility with functions.
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe@haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to