No description, website, or topics provided.
Standard ML Haskell C OCaml
Latest commit d494d0b Jan 24, 2014 Sean McLaughlin Initial.
Permalink
Failed to load latest commit information.
arith Initial. Jan 24, 2014
basis Initial. Jan 24, 2014
build Initial. Jan 24, 2014
data Initial. Jan 24, 2014
devel Initial. Jan 24, 2014
float Initial. Jan 24, 2014
lp Initial. Jan 24, 2014
mlton Initial. Jan 24, 2014
okasaki Initial. Jan 24, 2014
opt Initial. Jan 24, 2014
parse Initial. Jan 24, 2014
pp Initial. Jan 24, 2014
regexp Initial. Jan 24, 2014
smlnj-lib Initial. Jan 24, 2014
stream Initial. Jan 24, 2014
test Initial. Jan 24, 2014
time-limit Initial. Jan 24, 2014
timing Initial. Jan 24, 2014
unit-test Initial. Jan 24, 2014
util Initial. Jan 24, 2014
word Initial. Jan 24, 2014
Makefile Initial. Jan 24, 2014
README Initial. Jan 24, 2014
sources.cm Initial. Jan 24, 2014

README

(* -------------------------------------------------------------------------- *)
(*  SML-Ext                                                                   *)
(* -------------------------------------------------------------------------- *)

SML-Ext is a small library of useful functions for Standard ML.  It builds
under MLton and SML/NJ.  

(* -------------------------------------------------------------------------- *)
(*  Contents                                                                  *)
(* -------------------------------------------------------------------------- *)

arith     - structures for abstract arithmetic 
basis     - extensions to the SML basis library
devel     - projects in development
float     - IEEE floating point number utilities
lp        - linear programming
mlton     - extensions to the MLton structure
opt       - nonlinear optimization
parse     - parsing
pp        - pretty printing
regexp    - regular expressions
smlnj-lib - extensions to the SML/NJ library
stream    - streams
test      - tests for SML-Ext
unit-test - unit testing
util      - miscellaneous useful structures
word      - arbitrary size machine words

(* -------------------------------------------------------------------------- *)
(*  Usage                                                                     *)
(* -------------------------------------------------------------------------- *)

MLton: Make a file sources.mlb that refers only to the parts you need.
SML/NJ: import sources.cm

(* -------------------------------------------------------------------------- *)
(*  Conventions                                                               *)
(* -------------------------------------------------------------------------- *)

The general syntactic conventions follow

http://mlton.org/StyleGuide

If you add to or edit this code, please follow the MLton guidelines.

Some additional rules:

  1) In signatures, comments go *before* the val declaration

  2) If you are extending an existing structure or functor, use
     transparent ascription.  Otherwise use opaque ascription and
     either 'sharing' or 'where type' constraints.  

     Exception: If a functor uses its arguments to satisfy
     structure constraints, using opaque ascription will force
     a "where type" clause for every type defined in the input
     structure.  Avoid opaque ascription in these cases.  See,
     e.g., the MLton source.

Note: The conventions are evolving.  Thus, there is probably a lot of
code in the library that doesn't follow them.  If you see something
that doesn't fit the guidelines, please change it.  This file is the
authority for syntactic conventions. 

(* -------------------------------------------------------------------------- *)
(*  SVN                                                                       *)
(* -------------------------------------------------------------------------- *)

This is the content of the global-ignores for this project.

global-ignores = *.aux *.log *.dvi .depend *.vo CVS *.so *.a *.o *.lo *.la *.cmo *.cmi *.cma *.cmx *.cmxa .cm *.dump .*.rej *.rej .*~ *~ *.bbl *.blg .DS_Store .gdb_history _log _build *.native *.byte *.d.native *.p.byte *.LNK *.LCK #*# .#* gmon.out a.out mlmon.out *.toc *.idx .mlton.du

Please don't add anything to the project that would be filtered by this list!

(* -------------------------------------------------------------------------- *)
(*  Testing                                                                   *)
(* -------------------------------------------------------------------------- *)

To run all tests that are not in FFI, cd to unit-tests and:

make test
runtests

To run ffi tests, cd to the library directory you need and:

make test
runtests