[Haskell] Please help!!!

Stefan O'Rear stefanor at cox.net
Sat Jun 9 16:12:08 EDT 2007


On Sat, Jun 09, 2007 at 12:22:02PM -0700, AVG wrote:
> 
> What's wrong??
> 
> greatest common divisor
> 
> code:
> 
> 
> 
> mdc :: Int-> Int -> Int
> mdc _ 1 = 1
> mdc 1 _ = 1
> mdc x y
> |x > y = mdc (x-y) y
> |y > x = mdc (y-x) x
> |x==y = x

Since the three lines starting with | are a continuation of the
preceding line, they must be indented more.

> mdcl :: [Int]-> [Int]
> mdcl []=[]
> mdcl l = mdcl ([mdc (tira(take 1 l)) (tira(take 1 (drop 1 l)))]++ drop 2 l)
>
> gcdl :: [Int] -> Int
> gcdl l = tira l
> 
> tira :: [Int] -> Int
> tira []=0
> tira [x]=x

Spelling out names like 'mdcl' and 'tira' will make it easier for us to
help you.  gcd isn't a problem because it is well established
mathematical notation, but the others are opaque to me.

Stefan


More information about the Haskell mailing list