
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.

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@haskell.org http://www.haskell.org/mailman/listinfo/yhc
participants (2)
-
Thomas Hartman
-
Tom Shackell