
hello, I can not find the problem, I use WinHugs and shows me(Syntax error in input (unexpected keyword "where"). here is my code: f :: (Float,Float) -> Float f (x,y) = (a(x,y) + 4) * (b(x,y) + 3) where a :: (Float,Float) -> Float a(x,y) = (x + y)*2 b :: (Float,Float) -> Float b(x,y) = (y - x)*5 How can I define this code with let in? Thanks for any help. -- View this message in context: http://www.nabble.com/Problem-in-code-t1742233.html#a4734684 Sent from the Haskell - Haskell-Cafe forum at Nabble.com.

Hi, Haskell is based on indentation for grouping, so your code is fine, you just need to indent the lines marked:
f :: (Float,Float) -> Float f (x,y) = (a(x,y) + 4) * (b(x,y) + 3) where a :: (Float,Float) -> Float a(x,y) = (x + y)*2 b :: (Float,Float) -> Float b(x,y) = (y - x)*5
You can do it with let, but there is no need. Thanks Neil
participants (2)
-
Jenny678
-
Neil Mitchell