On Jan 5, 2007, at 18:04 , Ross Paterson wrote:
On Fri, Jan 05, 2007 at 03:51:31PM +0100, Sven Panne wrote:
I've tested the new cgi package a few days ago and IIRC there were
basically
two problems:
* Hugs doesn't support System.Environment.getEnvironment yet,
but I guess
that this could easily be fixed.
Indeed.
* Some instances in Network.CGI.Monad overlap, which is not
supported in
Hugs. I don't know if the overlap is crucial and what the
rationale behind
this is. Perhaps I've missed some discussions on the libraries
list. Perhaps
we can simply #ifdef/remove the overlap. Ross?
One could expand MonadTrans in
instance (MonadTrans t, MonadCGI m, Monad (t m)) => MonadCGI (t m)
replacing it with
instance (MonadCGI m) => MonadCGI (ListT m)
instance (MonadCGI m) => MonadCGI (ContT m)
instance (Error e, MonadCGI m) => MonadCGI (ErrorT e m)
instance (MonadCGI m) => MonadCGI (ReaderT r m)
instance (MonadCGI m) => MonadCGI (StateT s m)
instance (Monoid w, MonadCGI m) => MonadCGI (StateT w m)
instance (Monoid w, MonadCGI m) => MonadCGI (RWST r w s m)
I added that instance reluctantly, but it is quite useful when you
write your own monad transformers and want to wrap CGIT. Removing it
would break some existing code (Hope is the only one I know of), but
if that's what's needed to get it working with Hugs, I'm ok with it.
/Bjorn
_______________________________________________
Hugs-Users mailing list
Hugs-Users@haskell.org
http://www.haskell.org/mailman/listinfo/hugs-users