main :: [sys_message] main = [Stdout (show (symdiff a b) ++ "\n")] where a = ["John", "Serena", "Bob", "Mary", "Serena"] b = ["Jim", "Mary", "John", "Jim", "Bob"] symdiff :: [*]->[*]->[*] symdiff a b = (a' -- b') ++ (b' -- a') where a' = nub a b' = nub b nub :: [*]->[*] nub = f [] where f acc [] = acc f acc (a:as) = f acc as, if a $in acc = f (a:acc) as, otherwise in :: *->[*]->bool in i [] = False in i (a:as) = a == i \/ i $in as