Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
OOHaskell -- Haskell's overlooked object system
[go: Go Back, main page]

OOHaskell

See the paper "Haskell's overlooked object system"

License: MIT/X11 style

Download: [.zip]

(C) 2004-2005, Oleg Kiselyov, Ralf Laemmel, Keean Schupke

OOHaskell -- Haskell's overlooked object system

The code relies on the HList library.
Since 10 September 2005, HList is contained in the OOHaskell distribution.
The code has been released for GHC 6.4.
See the Makefile for ways of running test cases.

Here is a brief overview on the sample files:

- SimpleIO.hs        -- Simple objects in classes; in the IO monad
- SimpleST.hs        -- Incomplete variation using the ST monad
- CircBuffer.hs      -- A typical polymorphic collection type
- Selfish.hs         -- Open recursion and inheritance examples
- Shapes*.hs         -- Several encodings of the shapes example
- SelfReturn.hs      -- Returning self; almost
- CovariantArgs.hs   -- Co-variant argument types as in Eiffel
- EiffelFaqLcon.hs   -- Co-variance example from Eiffel FAQ
- CovariantReturn.hs -- Co-variant return types as in Java 5
- RecList.hs         -- Iso-recursive types; recursive classes
- Nominal*.hs        -- Nominal types; nominal subtype polymorphism
- DynamicOo.hs       -- Dynamics for OOHaskell objects
- DeepNarrow.hs      -- A narrow operation for deep subtyping
- DeepSubtyping.hs   -- Examples for width vs. depth subtyping
- New.hs             -- Operations for safe value recursion
- SelfishSafe.hs     -- Many examples with safe value recursion


Non-OOHaskell examples:

- Weirich	-- The C++ implementation from the Shapes Code Suite.
- Rathman	-- The Haskell implementation from the Shape Code Suite.
- Shapes1 .. 6  -- non-OOHaskell-based implementations of shapes example.
- interpreter	-- An example that simulates extensible datatypes

Last updated; September 10, 2005