не удалось сопоставить ожидаемый тип (Int -> Int -> Int) с фактическим типом `(t0, t1, t2) '

Я новичок, и я Я пытаюсь сделать несколько уроков по Haskell перед тем, как поступить в универмаг по информатике.

Я застрял в этой программе. Это занимает три оцепенения ers и расположит их в порядке возрастания. Может ли кто-нибудь помочь мне и сказать, что не так, потому что это сводит меня с ума? Спасибо за ваше время.

import Prelude hiding (min,max)
orderTriple :: (Int -> Int -> Int) -> (Int -> Int -> Int)
max :: Int -> Int -> Int -> Int
min :: Int -> Int -> Int -> Int
middle :: Int -> Int -> Int -> Int


max x y z
 |(x>=y) && (x>=z)  = x
 |(y>=x) && (y>=z)  = y
 |otherwise     = z

min d e f
 |(d<=e) && (d<=f)  = d
 |(e<=d) && (e<=f)  = e
 |otherwise     = f

middle g h i
 | (g <= (max g h i)) && (g >= (min g h i)) = g
 | (h <= (max g h i)) && (h >= (min g h i)) = h
 | otherwise                    = i

orderTriple (a,b,c) = ((min a b c),(middle a b c),(max a b c))

Ошибка:

orderList.hs:23:13:
    Couldn't match expected type `[Int -> Int -> Int]'
                with actual type `(t0, t1, t2)'
    In the pattern: (a, b, c)
In an equation for `orderTriple':
    orderTriple (a, b, c) = [(min a b c), (middle a b c), (max a b c)]
9
задан Ben 28 August 2016 в 17:27
поделиться