view interps/rhotor/Uniqs.hs @ 10694:45bc9fc3b680

<rdococ> le//rn nvert//To nvert something is to revert it back to its previous form, while recording the reversion as a conversion in itself.
author HackBot
date Sun, 16 Apr 2017 02:13:23 +0000
parents 859f9b4339e6
children
line wrap: on
line source

module Uniqs (
	Uniqs(Root, A, B, C)
)
where
	
data Uniqs = A Uniqs | B Uniqs | C Uniqs | Root

instance Eq Uniqs where
	(==) Root Root 		= True
	(==) (A a) (A b) 	= a == b
	(==) (B a) (B b) 	= a == b
	(==) (C a) (C b) 	= a == b
	(==) _ _			= False
	(/=) a b			= not (a == b)

instance Show Uniqs where
	show Root			= "R"
	show (A b)			= 'A':show b
	show (B b)			= 'B':show b
	show (C b)			= 'C':show b