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

python - Operations inside variables -

Generic Map Parameter java -

arrays - What causes a java.lang.ArrayIndexOutOfBoundsException and how do I prevent it? -