-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathREADME
89 lines (64 loc) · 3.68 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
(* -------------------------------------------------------------------------- *)
(* 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