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