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