dynamic-object- Object-oriented programming with duck typing and singleton classes.

Safe HaskellNone



This module re-exports things needed to use Objects, and adds a few utility functions.



data Object u Source

The Object type, where u carrying the information of its underlying types.

empty :: Objective o => oSource

An empty object.

insert :: (Objective o, Member o memb, ValType o memb ~ val, Typeable memb, Typeable val) => memb -> val -> o -> oSource

Given a pair of Member label and a value, create the data field for the member and inserts the value.

type MemberLens o memb = Member o memb => Simple Traversal o (ValType o memb)Source

The lens for accessing the Member of the Object.