Id generation routines.
openId :: Ids m => m Id openIds :: Ids m => Int -> m [Id] openR2Id :: Ids m => m (R2Id m r) openR2Ids :: Ids m => Int -> m (R2Id m r) openRId :: Ids m => m (RId x) openRIds :: Ids m => Int -> m [RId x]
There is Ids
type class, which allows the
functions to be called both from IO
and
GUI
monad.
openId
returns one new id
openIds
returns a list of N items
i.e. [id1,
id2..idN]
openIds 3 = [id1, id2, id3]
openRId
, openRIds
,
openR2Id
and openR2Ids
are the same as openId and openIds but they return special
receiver and bi-receiver ids (see Section 13, “StdReceiver”).