dynamic-object

Object-oriented programming with duck typing and singleton classes.

Latest on Hackage:0.2.1

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

BSD-3-Clause licensed by Takayuki Muranushi
Maintained by [email protected]

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.

Objects are implemented as Maps 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.