------------------------------------------------------------------------------
[MOOSE and existing Languages]

The language for system programming in MOOSE is still to determine.
So here is a summary for each suggested programming language.

* "C"
=====
  "C" is a low-level, weakly typed, non-modular, non-generic,
non-reflexive language. The *only* positive point about it is that
it is the one standard as a programming language.
  Note that "C" offers no particular interest when cut from all
its standard libraries, for you can no more port existing software.
As MOOSE won't implement any standard "C" library (at least as
support for native code), because its semantics is so much different,
"C" offers no interest on top of MOOSE.
  Thus, "C" just has nothing to do with MOOSE, except perhaps as a layer
between MOOSE and a POSIX compliant system, if MOOSE is to be implemented
as an application under such system.


* C++
=====
  It's "C" with some modularity and genericity added, and bug fixes.
It's still low-level, but the modularity is not implementation
transparent ! So it's still weakly typed, non-reflexive.
  Not yet well settled, and no free efficient compiler.


* Pascal
========
Pascal is no better than "C", and far less portable.


* Scheme
========
  Scheme is a light version of lisp, where all that belongs to the
libraries has been removed from the language itself. It has neat
semantics, and Object-Oriented programming or Persistence can be
achieved easily.
  Unhappily it is somehow "low-level", and offers no strong typechecking.


* ML
====
  ML is a functional language as Lisp and Scheme, but with a strong
typechecking, and powerful pattern matching.
  It currently comes in many flavors:
- SML: ?
- CAML: ftp:ftp.inria.fr:/pub/languages/caml


* Sather
========
  It's an OO language. Can anyone summarize ?


* Smalltalk
===========


* Ellie
=======


* Orca
======


* Self
======


* Python
========


* Pop
=====


* FORTH
=======
FORTH is a low-level reflexive stackbased language.
It now has an ANSI standard, but it's still very low-level.


* ???
=====
