On Jul 21, 2010, at 11:25 AM, Victor Nazarov wrote:

> 1) UndecidableInstances are required for this code to compile.
> Is it possible to avoid this language extension? What is the
> reason for it to be required?

The rule "No type variable has more occurrences in the assertion than in the 
head" is violated with "instance Show (f (Mu f)) => Show (Mu f)". The head 
becomes larger, so ghc cannot tell that checking the assertions will terminate.

> 2) app, var, abs functions. app function is defined
> differently for every example. Is it possible
> to perform some automatic lifting so that app will work
> for any combination of ApplicativeF? Can I use Functor class
> or should I define my own type-class for this purpose? Is it
> possible at all?

Yes, it is possible, see the section "automating injections" in the Data Types 
A La Carte paper.

greetings,
Sjoerd Visscher



_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to