Description
Object-oriented programming with duck typing and singleton classes.
Description
This package aims to combine the merit of Haskell's open, strong type system with flexible Object-oriented programming found in dynamically-typed languages such as python or ruby.
Object
s are implemented as Map
s from method keys to values. Each key specifies its own value types. You can add new members at runtime, for any instances of the object (singleton class). At the same time, you have typed and runtime-error-free access to the members (duck typing).
See Data.Object.Dynamic.Examples.PointParticle
for examples.