[MLton-user] why sml matters?

John Reppy jhr at cs.uchicago.edu
Mon Oct 16 08:31:54 PDT 2006


On Oct 13, 2006, at 2:01 PM, mlton-user-request at mlton.org wrote:

> Message: 1
> Date: Thu, 12 Oct 2006 22:50:32 +0200
> From: "Jesper Louis Andersen" <jesper.louis.andersen at gmail.com>
> Subject: Re: [MLton-user] why sml matters?
> To: "Buday, Gergely Istvan" <gergely.buday at siemens.com>
> Cc: mlton-user at mlton.org
> Message-ID:
> 	<56a0a2840610121350i5f4932fej70e5b36ad4f4bf70 at mail.gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
>
> It is always hard to give such advocacy. First, you have to split the
> argument.
>
...
>
> The Standard Basis Library of SML is somewhat of a failure, since  
> it is far
> too small for a modern language. Since the standard does not define  
> anything
> of value, the Basis has to make up for it. Unfortunately, it does  
> not. It
> lacks, among things: Data structures (A decent finite map and a  
> decent set
> structure at least, please), Combinatoric parsing, Output Pretty- 
> printing,
> XML processing, database integration, standardized FFI, effective  
> stream
> processing, persistence constructions, string handling, etc. It is  
> rather
> hard to argue one should use SML when basic stuff is lacking from the
> Standard Library. Java might be a very weak language (I think it  
> is), but it
> makes up for it with a great standard library.

I think that it is important to understand that the goal of the Basis  
library
is to be a "Basis" (think Clib, not STL).  For the most part, we  
defined types
and operations that required special support either the compiler or  
runtime
system (or were ubiquitous, like lists and options).  We specifically  
did not
want to define higher-level modules, like data structures, XML parsing,
higher-level network protocols, etc., because the design and  
implementation
spaces are large and it is hard to specify one right version (e.g., the
SML/NJ Library has three different implementations of finite maps).
I do think that the Basis should include standard signatures for some
data structures, but leave implementations up to higher-level libraries.

What we really need is a portable build solution so that libraries,  
like the
SML/NJ library, can be easily made available on every implementation  of
SML.

	- John




More information about the MLton-user mailing list