MOOSE project -- looking for a language

Alistair G. Crooks
Tue, 25 Oct 1994 07:43:46 -0700 (PDT)

>   As I'm sick of computing systems I know, and saw no end to them, I've
> decided to write my own, on my 386 PC to begin with, but in a portable way
> (have an implementation over *yuck* POSIX ?).
>   I'm still looking for the High-level language to use, which must be able to
> integrate all the features described below. Can somebody help me ?
>   I'm considering BETA, SELF, Icon, or something like that. Else I'll have to
> design my own (as a self-extended typechecking FORTH-like thing ?) :( :(; but
> as our moderator say, the world is not ready for yet another language, so if
> I can skip the language design phase, I'd be very happy.

My initial reaction is to say, "Take a look at Sather" - I'll come back
to this later.

>   The project is called MOOSE, and I'm writing it alone. It means
> Multi-* Object-oriented Operating System and Environment. *I* didn't choose
> the name as I wasn't alone at that time.
>   It's a project for an OS that will change you from Un*x and
> sub-clones like MS-DOG:
> - of course multi* (tasking/threading/user)
>  This implies a language not centered toward global variables (no "C"), with
>  an ability to understand concurrency (with current-continuations ?).
> - persistence, thus garbage collection, security, type-checking
>  (thus again no "C") that means no *need* of file system (but still support
>   them to communicate with other OSes.
>  That also means *need* for a language that supports secure type-checking and
>  orthogonal persistence.
> - machine-independent low-level (stack-based/FORTH-like ?) language for
>  portable binaries, with common interpreter or compiler back-end.
>   This implies nothing for the HLL.
> - partial lazy evaluation and optimization for ideal dynamic performance
>  This implies a HLL with lazy evaluation semantics.

You seem to be looking for a functional language here - either that,
or I've got my terminology muddled up. Have you had a look at Haskell,
or, more practically, Gofer?

> - no-kernel (not even micro- or nano-) architecture. Everything is
>  decentralized in modules (even the module loaders). The only thing needed
>  is a boot module. Modules communicate through conventional protocols (which
>  may change by replacing all concerned modules).
>  This implies the existence of a good module system for the HLL (unlike
>  the C header file bullsh*t).

I like this idea - like a group of co-operating objects, sending
messages to each other. 

> - system specifications open for a distributed version where objects migrate
>  or are copied on the fly from host to host to achieve best performance
>  (but security required more than ever).
>  If the language is truely high-level, this shouldn't affect it.
> - Author authentification to retribute authors, or give them (dis)credit.
>  It would be *very* useful if the language allowed arbitrary annotation of
>  objects, which may mean things about object equality semantics (if
>  association tables are to be built).
> - dynamic typing high-level (some may say "object-oriented") language as
>  a standard interactive development tool -- no *need* for a shell and a
>  bunch of stubborn languages that cope with each other's flaws. All systems
>  specification are done in such a language. The language should have natural
>  extensions that allow program specification and proof, and do secure
>  type-checking.
>   That's the language I'm looking for.

You don't want much, do you? :-) 

>   I'm also considering joining Mike Prince's PIOS project, or the FIRE project.
> If there's another project (personal/university/commercial) that includes all
> (or a big part) of those features, please tell me. If you see any reason why
> it shouldn't be possible or wishable, or that it does not go for enough, or
> that it goes in the wrong direction, please tell me too. I *think* I am
> open-minded enough to hear it.

I too am considering PIOS, and would like to hear of any feedback you
get concerning your project.

Please keep me informed.

Alistair G. Crooks (			   +44 125 234 6377
Amdahl European HQ, Dogmersfield Park, Hartley Wintney, Hants RG27 8TE, UK.
[These are only my opinions, and certainly not those of Amdahl Corporation]