deriving

package deriving
Automatic derivable implementations of standard basic methods.

Concerns

  • deriving: Automatic derivable implementations of standard basic methods.
    • deriving: Automatic derivable implementations of standard basic methods.

deriving::deriving

module deriving

Automatic derivable implementations of standard basic methods.

This module introduce Derivable as the main interface to implement (or auto-implement) and provides additional mixin-interfaces with specific default behavior of standard basic methods based on the services of this interface.

The name deriving is inspired from the deriving mechanism of Haskell.

This module also introduce a new annotation auto_derive. See Derivable for details.

Introduces
  • Derivable: Interface of objects that expose some kind of internal representation in a very unreliable way.
  • DeriveToS: Implementation of to_s for Derivable objects.
  • DeriveEqual: Implementation of == and hash for Derivable objects.