Counting Constructors
Tobias Haeberlein
T.Haeberlein@gmx.de
Tue, 17 Jul 2001 12:08:51 +0200 (MEST)
I want a show - instance for that type:
data Bind a = Zero | Succ a
resp. for the types (Bind ( ... (Bind a)...))
showing the following:
show (Succ ( ... (Succ Zero)..)) = n
(where n is the number of Succ's)
and
show (Succ ( ... (Succ x)..)) = show x
(when x != Zero)
------------------------------------------------
And - a very similar problem - i'd like to have a
function 'count' which get something of type 'Bind'
and returns a value of type (Either Int a):
count ((Succ ( ... (Succ Zero)..)) = Left n (n = #succ's)
and
count (Succ ( ... (Succ x)..)) = Right x (x != Zero)
-------------------------------------------------
Does anyone know, how to define those functions in haskell/hugs ??
(Are they defineable at all?)
Thanks,
-Tobi
--
GMX - Die Kommunikationsplattform im Internet.
http://www.gmx.net
GMX Tipp:
Machen Sie Ihr Hobby zu Geld bei unserem Partner 1&1!
http://profiseller.de/info/index.php3?ac=OM.PS.PS003K00596T0409a