[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