merd =
    Ruby-like expressivity +
    static type checks (a la Haskell)


This project is currently on hold. Nothing is really usable yet, though quite a few things are working.

I will keep on adding and modifying the documentation (especially concerning similar projects).


merd-devel is the mailing list about merd development.

A forum and various stuff is provided by sourceforge.

Like all good free software, merd is in CVS :) You can access browse it using viewcvs
see sourceforge CVS help for more



Why Yet Another Language

Dynamic Languages

The language I really miss is alike Ruby: very usable with nice default library. The success of Perl/Python/Ruby is partly due to their data structures, especially lists/arrays, hashes and strings. Alas, they miss static checks, Ruby being a dynamically typed languages, very few checks are done at compile-time, making medium to big programs hard to maintain.

As far as I know, few dynamically typed languages try to achieve compile-time type checks on the overall program. The typical orientation is adding type annotations (mainly for speedups and run-time checks). Dylan is an example of mixing dynamic typing and explicit typing (or in Scheme, bigloo)

Soft Typing designates the effort of using type inference for dynamic languages. Alas dynamic languages have a lot of features making it hard to infere types:

Static Languages

Compared to dynamic languages, statically typed languages are usually less expressive or much more complicated:

Is this expressiveness loss too much? unavoidable?


Haskell can hardly play in the dynamic languages ground due to its lazyness. The transition between imperative to monads is a too big step.


OCaml is a serious player with a lot of features:

Alas, some bad points makes it badly suited for scripting

Most bad points above do not need changing the language, or only a few extensions. For example G'Caml gets rid of the lack of overloading. Camlp4 brings some solution to the syntax problems.
But I think OCaml is already too big a language to add new features.



Here is a small presentation (generated with MagicPoint from this file)



Current version is 0.1.6.

$Id: index.html.m4,v 1.15 2003/01/09 18:30:56 pixel_ Exp $