Hello Jeon-Young, I attach a version that compiles. Keep in mind thatOn Tue, Nov 24, 2015 at 01:20:03PM -0500, Jeon-Young Kang wrote:
> Dear All.
>
> I'd like to compare fields of each record.
>
> here is my record.
>
> data Person = Person {name:: String, age:: Int } deriving(Show)
> data Relations = Friend | Older | Younger
>
> class Comparison a where
> compare:: a -> a -> Relations
>
> instance Comparison Person where
> compare Person a b Person a b
> | b1 == b2 = Friend
> | b1 > b2 = Older
> | b1 < b2 = Younger
>
> How can I fit it?
>
> Sincerely,
>
>
> Jeon-Young Kang
compare (Person x y) (Person q w) -- this is legal
compare Person x y Person q w -- "space" takes precedence over everything,
-- so this function has 6 arguments
-- instead of the expected 2!
λ> Main.compare (Person "cdsac" 1) (Person "cdscasd" 20)
Younger