I have a scheme (no pun intended) to make Standard ML97 universal and OpenBSD the defacto standard for voting machines. If it should succeed, it would mean
money for OBSD development.

Naturally, I would like to see OBSD ported to SML97.  In particular,
porting would be eased by the fact that SML97 and C++ share runtime behavior,
provided that the binding of a particular C++ program is compile-time only.

I once had a conversation with Barney Soustrop and he revealed that his office at Bell Labs and Dave McQueen's (an SML97 major contributor) had been adjacent
for the preceding 10 years.  I later discovered that C++ templates had been
influenced by SML97, which has parametric polymorphism.  Programming with
SML97 is a lot like programming in C++ with function pointers (only),
but the syntax is much nicer.

There is an SML97 open standard, to which Moscow ML (interactive) and
MLton (whole-program compiled) adhere fully.  I'm hoping the other SML97
implementations will make provisions to compile exactly to the standard.  At
present, most of nonconformance is in one module (like a class, but with no
variables) or in unimplemented features in the standard.

MLton, by request, is investigating threading or already has threading. I think
MLton would be open to further improvements to gain acceptance.
MLton has a BSD style license now and produces compiled code
which executes about as fast as C++ does.

SML97 tends to produce bullet-proof code, due to its design.  SML97 was
originally designed to implement proof checkers and is said to be the first
language which compiler writers actually understood, due to its small size.
In addition, provided that no assignment is used (think C++ function pointers only),
it may be checked by machine.

AT&T Bell Labs implementation has some code to help porting. Going even further, one could pretty easily port C++ code with compile-time only binding to SML97 with variables (OK, SML97 calls them references). Then any conversion to fully functional paradigm code could be done piece meal, meantime enjoying the syntactic advantages of
SML97 over C++.

Implementations are MLton, Moscow ML, AT&T Bell Labs, SML.NET,
Poly ML, Tilt, MLKit and ... I must have left some out. I know that we're all steel driving men
(and women), but I decided to go with SML97 after being a C++ early adopter.
I invite you to look up SML97, if you haven't already. Maybe you too would consider SML97. The name Hannah Schroeter sounds familiar and I'll bet she knows something about this.

Byron Hale

PS: Contribution is limited to ... ? However, shouldn't the possibility of funding count for something?

chefren wrote:

On 02/08/06 00:37, Felipe Scarel wrote:

Recently I had to install FreeBSD on a dual-Xeon server because it's SMP
support is kinda better than OpenBSD's, but that did not please me at all, so that
is indeed a good question.


Please start coding or donate money to the project or to someone who can code what you wish.

+++chefren

Reply via email to