Mercurial > repo
view interps/rhotor/Node.hs @ 3911:8c112ffd5765
<kmc> addquote zzo38 [~zzo38@24-207-49-17.eastlink.ca] has quit [Quit: I need the stats for the small leech, not the big one. So, if you write it on here while I am gone then when I return I will check.]
author | HackBot |
---|---|
date | Tue, 15 Oct 2013 22:19:50 +0000 |
parents | 859f9b4339e6 |
children |
line wrap: on
line source
module Node ( Node(Function,Application,Cons,Symbol,Nil,Break) ) where import Uniqs data Node = Function Node Node Node | Application Node Node | Cons Node Node | Break Node | Symbol Uniqs | Nil instance Eq Node where (==) Nil Nil = True (==) (Cons a1 d1) (Cons a2 d2) = (a1 == a2) && (d1 == d2) (==) (Application a1 d1) (Application a2 d2) = (a1 == a2) && (d1 == d2) (==) (Function a1 d1 c1) (Function a2 d2 c2) = (a1 == a2) && (d1 == d2) && (c1 == c2) (==) (Symbol a) (Symbol b) = a == b (==) a b = False (/=) a b = not (a == b) instance Show Node where show Nil = "Nil" show (Cons a b) = "(Cons " ++ (show a) ++ " " ++ (show b) ++ ")" show (Application a b) = "(Application " ++ (show a) ++ " " ++ (show b) ++ ")" show (Function a b c) = "(Function " ++ (show a) ++ " " ++ (show b) ++ " " ++ (show c) ++ ")" show (Break a) = "**" ++ (show a) show (Symbol a) = "#" ++ (show a)