Okay, can I ask you to provide a little more explanation of what you want to perform with your code? To me, at least, the question, "How can I fit it?" is a little too terse. I think before you even set up a new data, class, class instances etc., the most key step is to put in words, the simpler and cleaer the better, exactly what you what the code to do for you. Pseudo code in prose, if you like. You'll find that with clarity of thought expressed in words comes a greater command of the programming language, or at least, a clearer idea of what you want from the programming language. Matthew On 24/11/2015, Jeon-Young Kang <jykang22@gmail.com> wrote:
Thank you so much :)
On Tue, Nov 24, 2015 at 2:01 PM, Francesco Ariis <fa-ml@ariis.it> wrote:
On 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
Hello Jeon-Young, I attach a version that compiles. Keep in mind that
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
-- Department of Geography State University of New York at Buffalo
jykang22@gmail.com
Jeon-Young Kang