Haskell parse error on input ‘|’ when trying to compile -


hi i'm learning haskell , made code implemente fractions when compile error parse error on input ‘|’ code following:

module fraccion(frac,div,mcd,fraccion)   data frac = div integer integer deriving (eq, show)   mcd :: integer -> integer -> integer mcd b | > b = mcd (a-b) b         | < b = mcd (b-a)         | == b =  fraccion :: integer -> integer -> frac  fraccion b | b == 0 = error "divisor can't 0"              | b <  0 = fraccion (-a) (-b)              | b >  0 = div (a `div` mcdab) (b `div` mcdab)                         mcdab = mcd (abs a) b  instance (num frac)     negate (div b)      = (div (-a) b)     abs    (div b)      = (div (abs a) b)     (div b) * (div c d) = fraccion (a*c) (b*d)     (div b) + (div c d) = fraccion (a*d+b*c) (b*d)     (div b) - (div c d) = fraccion (a*d-b*c) (b*d)     frominteger n = (div n 1)     signum (div b) | > 0 = 1                      | < 0 + -1                      | == b = 0  instance show frac     show (div b) = (show a) ++ "/" ++ (show b) 

could please me error?

on line 27:

| < 0 + -1 

a simple typo. put + meant =

| < 0 = -1 

you'll want capitalize show on second-to-last line. deriving clause type shouldn't include show either, because define instance explicitly rather deriving it. finally, module export list should this.

module fraccion(frac(div),mcd,fraccion) 

Comments

Popular posts from this blog

ubuntu - PHP script to find files of certain extensions in a directory, returns populated array when run in browser, but empty array when run from terminal -

php - How can i create a user dashboard -

javascript - How to detect toggling of the fullscreen-toolbar in jQuery Mobile? -