<div>Currently, yes; I was experimenting with type families. But it's pretty simple to get it to compile on 6.6.1:</div>
<div>- remove the {-# LANGUAGE #-} pragma and replace with {-# OPTIONS_GHC -fglasgow-exts -fallow-undecidable-instances #-}</div>
<div> </div>
<div>- change the class declaration for MonadPrompter from</div>
<div>> class Monad m => MonadPrompter m where<br>> type PromptType m :: * -> *<br>> prompt :: PromptType m a -> m a<br> </div>
<div>to</div>
<div> </div>
<div>> class Monad m => MonadPrompter p m | m -> p where</div>
<div>> prompt :: p a -> m a</div>
<div> </div>
<div>- change all the instance declarations from something like this:</div>
<div> </div>
<div>> instance MonadPrompter (XXX) where</div>
<div>> type PromptType (XXX) = YYY</div>
<div>> prompt = ...</div>
<div> </div>
<div>to something like this:</div>
<div> </div>
<div>> instance MonadPrompter YYY (XXX) where</div>
<div>> prompt = ...</div>
<div> </div>
<div>& you're done.</div>
<div> </div>
<div> -- ryan</div><br>