% Unique Identifiers
% Sebastian Fischer [sebf]
% October, 2008

This module defines an interface for generating unique identifiers. It
is written in a way that supports the use of [Pandoc] for rendering.

[sebf]:       mailto:sebf@informatik.uni-kiel.de
[Pandoc]:     http://johnmacfarlane.net/pandoc/

~~~ {.literatehaskell}

> {-# OPTIONS_GHC -XTypeFamilies #-}
>
> module Data.IDSupply where

~~~

~~~ {.literatehaskell}

> class IDSupply is
>  where
>   type ID is
>
>   initSupply   :: IO is
>   splitSupply  :: is -> (is,is)
>   idFromSupply :: is -> ID is

~~~

~~~ {.literatehaskell}
~~~

