On the note of the SML Basis being a Clib:<br><br>I am aware of the "STL"/"Clib" argument. I would also like to state that given the view of what the Basis library is, it is indeed extremely good. There are few Basis Libraries which are so worked through as the SML Basis is. The problem, as I state, is that people are nowadays accustomed to big standard libraries, wether we like it or not. So there should at least be a way to bring source code into your project easily -- which brings me to:
<br><br>On the common build system:<br><br>I agree totally on the view that SML need a build system which can join them together. Common Lisp implementations are quite different also and they still manage to have an Open Source de-facto standard for publishing code, namely the ASDF (Another System Definition Format -- IIRC). If things are provided by the basis or are provided via a library is today mostly irrelevant. Even Java could not get their libraries right. Hence the Apache Foundations commons-* libraries for "stuff missing in the standard library".
<br><br>I think you are right. One should mayhaps keep a small Basis Library and provide most of the Missing functionality via libraries on top of that. Perl's CPAN is what provides XML parsing capabilities to Perl, for example.
<br><br><br><div><span class="gmail_quote">On 10/16/06, <b class="gmail_sendername">John Reppy</b> <<a href="mailto:jhr@cs.uchicago.edu">jhr@cs.uchicago.edu</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>On Oct 13, 2006, at 2:01 PM, <a href="mailto:mlton-user-request@mlton.org">mlton-user-request@mlton.org</a> wrote:<br><br>> Message: 1<br>> Date: Thu, 12 Oct 2006 22:50:32 +0200<br>> From: "Jesper Louis Andersen" <
<a href="mailto:jesper.louis.andersen@gmail.com">jesper.louis.andersen@gmail.com</a>><br>> Subject: Re: [MLton-user] why sml matters?<br>> To: "Buday, Gergely Istvan" <<a href="mailto:gergely.buday@siemens.com">
gergely.buday@siemens.com</a>><br>> Cc: <a href="mailto:mlton-user@mlton.org">mlton-user@mlton.org</a><br>> Message-ID:<br>> <<a href="mailto:56a0a2840610121350i5f4932fej70e5b36ad4f4bf70@mail.gmail.com">
56a0a2840610121350i5f4932fej70e5b36ad4f4bf70@mail.gmail.com</a>><br>> Content-Type: text/plain; charset="iso-8859-1"<br>><br>> It is always hard to give such advocacy. First, you have to split the<br>
> argument.<br>><br>...<br>><br>> The Standard Basis Library of SML is somewhat of a failure, since<br>> it is far<br>> too small for a modern language. Since the standard does not define<br>> anything
<br>> of value, the Basis has to make up for it. Unfortunately, it does<br>> not. It<br>> lacks, among things: Data structures (A decent finite map and a<br>> decent set<br>> structure at least, please), Combinatoric parsing, Output Pretty-
<br>> printing,<br>> XML processing, database integration, standardized FFI, effective<br>> stream<br>> processing, persistence constructions, string handling, etc. It is<br>> rather<br>> hard to argue one should use SML when basic stuff is lacking from the
<br>> Standard Library. Java might be a very weak language (I think it<br>> is), but it<br>> makes up for it with a great standard library.<br><br>I think that it is important to understand that the goal of the Basis
<br>library<br>is to be a "Basis" (think Clib, not STL). For the most part, we<br>defined types<br>and operations that required special support either the compiler or<br>runtime<br>system (or were ubiquitous, like lists and options). We specifically
<br>did not<br>want to define higher-level modules, like data structures, XML parsing,<br>higher-level network protocols, etc., because the design and<br>implementation<br>spaces are large and it is hard to specify one right version (
e.g., the<br>SML/NJ Library has three different implementations of finite maps).<br>I do think that the Basis should include standard signatures for some<br>data structures, but leave implementations up to higher-level libraries.
<br><br>What we really need is a portable build solution so that libraries,<br>like the<br>SML/NJ library, can be easily made available on every implementation of<br>SML.<br><br> - John<br><br></blockquote></div><br>