Hello Alan,

It's not clear what you're asking for here. What's keeping you from "accessing 
the full power of the GHC type system"?

Richard

On Jul 9, 2014, at 4:35 PM, AlanKim Zimmerman <[email protected]> wrote:

> I have hit a problem in HaRe when lifting a declaration from e.g. a where 
> clause of a function to the top level, where there is a type signature of any 
> complexity.
> 
> e.g lifting 'baz' from function 'foo' below
> 
> --------------------------
> foo a = baz
>   where
>     baz :: Int
>     baz = xx 1 a
> 
>     xx :: (Num t) => t -> t -> t
>     xx p1 p2 = p1 + p2
> --------------------------------------
> 
> becomes
> 
> ---------------------------------------------
> foo a = (baz xx a)
>   where
>     xx :: (Num t) => t -> t -> t
>     xx p1 p2 = p1 + p2
> 
> -- baz:: (forall t. Num t => t -> t -> t) -> Int ->Int
> baz :: Num a => (a -> t1 -> t) -> t1 -> t
> baz xx a= xx 1 a
> -----------------------------------------------
> 
> For a very small subset this can be calculated easily, but for full 
> generality it would be great to access the full power of the GHC type system.
> 
> So before diving in too deeply, I thought I would test the waters as to the 
> feasibility of doing something like this. I was hoping that perhaps the 
> effort at an external constraint solver might be making the interfacing 
> slightly simpler.
> 
> Regards
>  Alan
> 
> _______________________________________________
> ghc-devs mailing list
> [email protected]
> http://www.haskell.org/mailman/listinfo/ghc-devs

_______________________________________________
ghc-devs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/ghc-devs

Reply via email to