
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
Thank you so much :)
On Tue, Nov 24, 2015 at 2:01 PM, Francesco Ariis
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