[Yhc] how to compile this in yhc?

Tom Shackell shackell at cs.york.ac.uk
Fri Dec 7 03:38:38 EST 2007


Hi,


Unfortunately yhc still uses nhc98's rather broken type checker. It 
clearly doesn't infer that 'parse' must be bound to be the Float case. 
Adding a type annotation fixes the problem.

readfloat :: String -> Maybe Float
readfloat x | null parse || not (null leftover) = fail $ "myRead: "++x
             | otherwise = return v
   where
   parse :: [(Float,String)]
   parse@((v,leftover):ps) = readsPrec 0 x




Cheers


Tom


Thomas Hartman wrote:
> 
> Is there some way to compile the following function in yhc?
> 
> works in ghc with glasgow exts deactivated, yhc complains context for 
> Prelude.read needed (in final line)
> 
> 
> readfloat :: String -> Maybe Float
> readfloat x | null parse || not (null leftover) = fail $ "myRead: "++x
>             | otherwise = return v
>   where parse@((v,leftover):ps) = readsPrec 0 x
> 
> thanks!
> 
> ---
> 
> This e-mail may contain confidential and/or privileged information. If you
> are not the intended recipient (or have received this e-mail in error)
> please notify the sender immediately and destroy this e-mail. Any
> unauthorized copying, disclosure or distribution of the material in this
> e-mail is strictly forbidden.
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Yhc mailing list
> Yhc at haskell.org
> http://www.haskell.org/mailman/listinfo/yhc


More information about the Yhc mailing list