Object-1.0: Object oriented programming for haskell using multiparameter typeclasses.

Safe HaskellNone
LanguageHaskell98

Object.Example

Documentation

data Simple Source

Constructors

Simple 

Fields

_simple :: Int
 

Instances

Show Simple 
Action Simple Simple_ 
(~) * anything Int => Action Simple ((:=) Simple_ anything) 
type MethodOutput Simple Simple_ = Int 
type Output Simple (Method m) = MethodOutput Simple (Method m) 
type MethodOutput Simple ((:=) Simple_ anything) = Simple 
type Output Simple ((:=) (Method m) input) = MethodOutput Simple ((:=) (Method m) input) 

data Foo x Source

Constructors

Foo 

Fields

_bar :: Int
 
_baz :: Char
 
_blub :: x
 

Instances

Show x => Show (Foo x) 
Action (Foo x) Blub_ 
Action (Foo x) Baz_ 
Action (Foo x) Bar_ 
(~) * value0 x0 => Action (Foo x) ((:=) Blub_ value) 
(~) * value0 Char => Action (Foo x) ((:=) Baz_ value) 
(~) * value0 Int => Action (Foo x) ((:=) Bar_ value) 
type MethodOutput (Foo x0) Blub_ = x0 
type MethodOutput (Foo x0) Baz_ = Char 
type MethodOutput (Foo x0) Bar_ = Int 
type Output (Foo x0) (Method m0) = MethodOutput (Foo x0) (Method m0) 
type MethodOutput (Foo x0) ((:=) Blub_ value) = Foo x0 
type MethodOutput (Foo x0) ((:=) Baz_ value) = Foo x0 
type MethodOutput (Foo x0) ((:=) Bar_ value) = Foo x0 
type Output (Foo x0) ((:=) (Method m0) input0) = MethodOutput (Foo x0) ((:=) (Method m0) input0) 

type