Top Level Namespace

Defined Under Namespace

Modules: Adt, Monadt Classes: AdtPattern, ListM

Constant Summary collapse

Default =
data

Instance Method Summary collapse

Instance Method Details

#data(*fields) ⇒ Object



3
4
5
6
7
8
9
10
# File 'lib/monadt/adt.rb', line 3

def data(*fields)
  base = if fields.size > 0
           Struct.new(*fields)
         else
           Object
         end
  Class.new(base)
end