[Haskell-beginners] inserting tupels inside list as tupels in list

kane96 at gmx.de kane96 at gmx.de
Sun Dec 20 08:50:41 EST 2009


I already have things like that:

type Day = Int 17 data Month = Jan | Feb | Mar | Apr | May | Jun | Jul | Ago | Sep | Oct | Nov | Dec deriving (Eq,Enum,Show)
type Year = Int
type Date = (Day,Month,Year)

type ID = Int
type Event = (ID,String)
type Organiser = [ (Date, [Event]) ]

and now I should implement a function like this:
addEvents :: Date -> [Event] -> Organiser -> Organiser
that adds to an organiser a list of events for a specific date

an example looks like this:
xmas :: Event
xmas = (2, "Christmas")
aliceOrg :: Organiser
aliceOrg = [ ( (21,Dec,2009), [panic,aliceBDay] ),
             ( (25,Dec,2009), [xmas] ) ]


-------- Original-Nachricht --------
> Datum: Fri, 18 Dec 2009 17:58:12 -0500
> Von: Brent Yorgey <byorgey at seas.upenn.edu>
> An: beginners at haskell.org
> Betreff: Re: [Haskell-beginners] inserting tupels inside list as tupels in list

> On Fri, Dec 18, 2009 at 07:02:16PM +0100, kane96 at gmx.de wrote:
> > maybe the subject is a little bit confusing :p
> > 
> > I have a organiser list like that and have to add events (like panic,
> xmas, ...) which is also a type of tupel for a specific date:
> > 
> > aliceOrg = [ ( (21,Dec,2009), [panic,aliceBDay] ) 
> >              ( (25,Dec,2009), [xmas] ) 
> >              ( (10,Jan,2010), [bobBDay] )
> > 
> > What function(s) can I use to add these nested lists and tupels here?
> 
> You can use all the functions for manipulating lists and tuples in the
> standard libraries... I'm not entirely sure what you are asking.
> 
> Let me suggest, however, that you probably don't want to be using
> tuples so much; make your own data types.  Something like this:
> 
>   type Day = Int
>   data Month = Jan | Feb | ...
>   type Year = Int
> 
>   data Date = Date Day Month Year
> 
>   data CalEntry = CalEntry Date [Event]
>   data Event = ...
> 
>   type Organizer = [CalEntry]
> 
> This is much less confusing since instead of just tuples everywhere
> you have specific types that say exactly what the data represents.
> 
> -Brent
> _______________________________________________
> Beginners mailing list
> Beginners at haskell.org
> http://www.haskell.org/mailman/listinfo/beginners

-- 
Preisknaller: GMX DSL Flatrate für nur 16,99 Euro/mtl.!
http://portal.gmx.net/de/go/dsl02


More information about the Beginners mailing list