[Haskell-begin] data declarations
jeffzaroyko at gmail.com
Tue Jul 22 23:42:32 EDT 2008
Brandon S. Allbery KF8NH <allbery <at> ece.cmu.edu> writes:
> On 2008 Jul 22, at 23:01, Roger Myers wrote:
> > Not sure if I'm on the right track here, so as a beginner I thought
> > I'd ask on
> > this list.
> > I want to declare a type 'All' that consists of the of the types
> > 'Tinteger,
> > Tbool, Tstring, Tarray' but I would also like to make a relationship
> > that
> > Tinteger and Tbool are also the type 'Simple' and that 'Tstring' and
> > 'Tarray'
> > are 'Composite' and that Mixed is then either Simpletype or Composite.
> > So I can then write a function that takes a type of All and produces
> > a list of
> > Mixed.
> Any particular reason that All can't be represented by Mixed? That
> would be my first cut at it (assuming I didn't need advanced type
> hackery for some reason).
Hmm... ah, bad thinking on my part. I think this serves me a lot better:
data Simple = Tinteger Int
| Tbool Bool
data Composite = Tstring String
| Tarray [All]
data All = Simple | Composite
k :: All -> [All]
k a = case a of
Simple -> [a]
Composite -> [a]
More information about the Beginners