Skip to content

Commit

Permalink
Split non-standard parts of basis.mlb to their own MLB files
Browse files Browse the repository at this point in the history
  • Loading branch information
minoki committed Sep 16, 2023
1 parent cd43552 commit ffdca36
Show file tree
Hide file tree
Showing 20 changed files with 220 additions and 58 deletions.
2 changes: 2 additions & 0 deletions doc/DelimitedContinuations.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ Availability: JS-CPS backend (multi-shot). Lua-continuations backend (one-shot).

Status: Experimental.

Delimited continuations are accessible via `LunarML.DelimCont` structure in `$(SML_LIB)/basis/lunarml.mlb`.

```sml
structure LunarML : sig
...
Expand Down
2 changes: 1 addition & 1 deletion doc/JavaScriptInterface.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## JavaScript API

JavaScript features are accessible via `JavaScript` structure.
JavaScript features are accessible via `JavaScript` structure in `$(SML_LIB)/basis/javascript.mlb`.

```sml
structure JavaScript : sig
Expand Down
2 changes: 1 addition & 1 deletion doc/LuaInterface.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Lua API

Lua features are accessible via `Lua` structure.
Lua features are accessible via `Lua` structure in `$(SML_LIB)/basis/lua.mlb`.

```sml
structure Lua : sig
Expand Down
138 changes: 137 additions & 1 deletion lib/lunarml/ml/basis/basis.mlb
Original file line number Diff line number Diff line change
@@ -1 +1,137 @@
basis-$(TARGET_LANG).mlb
lunarml-prim.mlb
local
sources.mlb
in
signature ARRAY
signature ARRAY_SLICE
signature BOOL
signature BYTE
signature CHAR
signature DATE
signature INTEGER
signature INT_INF
signature LIST
signature LIST_PAIR
signature MATH
signature MONO_ARRAY
signature MONO_ARRAY_SLICE
signature MONO_VECTOR
signature MONO_VECTOR_SLICE
signature OPTION
signature PACK_WORD
signature REAL
signature STRING
signature STRING_CVT
signature SUBSTRING
signature TEXT
signature TIME
signature TIMER
signature VECTOR
signature VECTOR_SLICE
signature WORD
structure Array
structure ArraySlice
structure Bool
structure BoolArray
structure BoolArraySlice
structure BoolVector
structure BoolVectorSlice
structure Byte
structure Char
structure CharArray
structure CharArraySlice
structure CharVector
structure CommandLine
structure Date
structure General
structure IEEEReal
structure IO
structure Int
structure Int16
structure Int16Array
structure Int16ArraySlice
structure Int16Vector
structure Int16VectorSlice
structure Int32
structure Int32Array
structure Int32ArraySlice
structure Int32Vector
structure Int32VectorSlice
structure Int54
structure Int64
structure Int64Array
structure Int64ArraySlice
structure Int64Vector
structure Int64VectorSlice
structure Int8
structure Int8Array
structure Int8ArraySlice
structure Int8Vector
structure Int8VectorSlice
structure IntInf
structure LargeInt
structure LargeReal
structure LargeWord
structure List
structure ListPair
structure Math
structure OS
structure Option
structure PackWord16Big
structure PackWord16Little
structure PackWord32Big
structure PackWord32Little
structure PackWord64Big
structure PackWord64Little
structure PackWord8Big
structure PackWord8Little
structure Position
structure Real
structure RealArray
structure RealArraySlice
structure RealVector
structure RealVectorSlice
structure String
structure StringCvt
structure Substring
structure Text
structure TextIO
structure Time
structure Timer
structure Vector
structure VectorSlice
structure WideChar
structure WideCharArray
structure WideCharArraySlice
structure WideCharVector
structure WideCharVectorSlice
structure WideString
structure WideSubstring
structure WideText
structure Word
structure Word16
structure Word16Array
structure Word16ArraySlice
structure Word16Vector
structure Word16VectorSlice
structure Word32
structure Word32Array
structure Word32ArraySlice
structure Word32Vector
structure Word32VectorSlice
structure Word64
structure Word64Array
structure Word64ArraySlice
structure Word64Vector
structure Word64VectorSlice
structure Word8
structure Word8Vector
structure Word8VectorSlice
structure Word8Array
structure Word8ArraySlice
structure WordArray
structure WordArraySlice
structure WordVector
structure WordVectorSlice
top-level.sml
end
5 changes: 5 additions & 0 deletions lib/lunarml/ml/basis/javascript.mlb
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
local
sources.mlb
in
structure JavaScript
end
5 changes: 5 additions & 0 deletions lib/lunarml/ml/basis/lua.mlb
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
local
sources.mlb
in
structure Lua
end
7 changes: 7 additions & 0 deletions lib/lunarml/ml/basis/lunarml-prim.mlb
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
infixes.sml
_prim
_primOverloads
ann "allowPrim true" "allowBindEqual true" "allowOverload true" in
prim.sml
equal.sml
end
5 changes: 5 additions & 0 deletions lib/lunarml/ml/basis/lunarml.mlb
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
local
sources.mlb
in
structure LunarML
end
Original file line number Diff line number Diff line change
@@ -1,10 +1,4 @@
infixes.sml
_prim
_primOverloads
ann "allowPrim true" "allowBindEqual true" "allowOverload true" in
prim.sml
equal.sml
end
lunarml-prim.mlb
local
ann "allowPrim true" "allowOverload true" "allowInfixingDot true" in
general.sml
Expand Down Expand Up @@ -89,14 +83,14 @@ signature STRING_CVT
signature SUBSTRING
signature TEXT
signature TIME
signature UNSAFE_MONO_ARRAY (* extension; to be moved... *)
signature UNSAFE_MONO_VECTOR (* extension; to be moved... *)
signature UNSAFE_MONO_ARRAY (* extension *)
signature UNSAFE_MONO_VECTOR (* extension *)
signature VECTOR
signature VECTOR_SLICE
signature WORD
structure Unsafe (* extension; to be moved... *)
structure JavaScript (* extension; to be moved... *)
structure LunarML (* extension; to be moved... *)
structure Unsafe (* extension *)
structure JavaScript (* extension *)
structure LunarML (* extension *)
structure Array
structure ArraySlice
structure Bool
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
basis-js-common.mlb
sources-js-common.mlb
local
ann "allowPrim true" "allowOverload true" in
delim-cont.sml
Expand Down Expand Up @@ -33,14 +33,14 @@ signature SUBSTRING
signature TEXT
signature TIME
signature TIMER
signature UNSAFE_MONO_ARRAY (* extension; to be moved... *)
signature UNSAFE_MONO_VECTOR (* extension; to be moved... *)
signature UNSAFE_MONO_ARRAY (* extension *)
signature UNSAFE_MONO_VECTOR (* extension *)
signature VECTOR
signature VECTOR_SLICE
signature WORD
structure Unsafe (* extension; to be moved... *)
structure JavaScript (* extension; to be moved... *)
structure LunarML (* extension; to be moved... *)
structure Unsafe (* extension *)
structure JavaScript (* extension *)
structure LunarML (* extension *)
structure Array
structure ArraySlice
structure Bool
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
basis-js-common.mlb
sources-js-common.mlb
local
ann "allowPrim true" "allowOverload true" in
js/javascript-callback.sml
Expand Down Expand Up @@ -32,14 +32,14 @@ signature SUBSTRING
signature TEXT
signature TIME
signature TIMER
signature UNSAFE_MONO_ARRAY (* extension; to be moved... *)
signature UNSAFE_MONO_VECTOR (* extension; to be moved... *)
signature UNSAFE_MONO_ARRAY (* extension *)
signature UNSAFE_MONO_VECTOR (* extension *)
signature VECTOR
signature VECTOR_SLICE
signature WORD
structure Unsafe (* extension; to be moved... *)
structure JavaScript (* extension; to be moved... *)
structure LunarML (* extension; to be moved... *)
structure Unsafe (* extension *)
structure JavaScript (* extension *)
structure LunarML (* extension *)
structure Array
structure ArraySlice
structure Bool
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,4 @@
infixes.sml
_prim
_primOverloads
ann "allowPrim true" "allowBindEqual true" "allowOverload true" in
prim.sml
equal.sml
end
lunarml-prim.mlb
local
ann "allowPrim true" "allowOverload true" "allowInfixingDot true" in
general.sml
Expand Down Expand Up @@ -93,14 +87,14 @@ signature SUBSTRING
signature TEXT
signature TIME
signature TIMER
signature UNSAFE_MONO_ARRAY (* extension; to be moved... *)
signature UNSAFE_MONO_VECTOR (* extension; to be moved... *)
signature UNSAFE_MONO_ARRAY (* extension *)
signature UNSAFE_MONO_VECTOR (* extension *)
signature VECTOR
signature VECTOR_SLICE
signature WORD
structure Unsafe (* extension; to be moved... *)
structure Lua (* extension; to be moved... *)
structure LunarML (* extension; to be moved... *)
structure Unsafe (* extension *)
structure Lua (* extension *)
structure LunarML (* extension *)
structure Array
structure ArraySlice
structure Bool
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,4 @@
infixes.sml
_prim
_primOverloads
ann "allowPrim true" "allowBindEqual true" "allowOverload true" in
prim.sml
equal.sml
end
lunarml-prim.mlb
local
ann "allowPrim true" "allowOverload true" "allowInfixingDot true" in
general.sml
Expand Down Expand Up @@ -91,13 +85,13 @@ signature SUBSTRING
signature TEXT
signature TIME
signature TIMER
signature UNSAFE_MONO_ARRAY (* extension; to be moved... *)
signature UNSAFE_MONO_VECTOR (* extension; to be moved... *)
signature UNSAFE_MONO_ARRAY (* extension *)
signature UNSAFE_MONO_VECTOR (* extension *)
signature VECTOR
signature VECTOR_SLICE
signature WORD
structure Unsafe (* extension; to be moved... *)
structure Lua (* extension; to be moved... *)
structure Unsafe (* extension *)
structure Lua (* extension *)
structure Array
structure ArraySlice
structure Bool
Expand Down
1 change: 1 addition & 0 deletions lib/lunarml/ml/basis/sources.mlb
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
sources-$(TARGET_LANG).mlb
7 changes: 7 additions & 0 deletions lib/lunarml/ml/basis/unsafe.mlb
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
local
sources.mlb
in
signature UNSAFE_MONO_ARRAY
signature UNSAFE_MONO_VECTOR
structure Unsafe
end
16 changes: 8 additions & 8 deletions test/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -183,11 +183,11 @@ should_run += $(addprefix mlbasis/should_run/,\
)
# int-inf-factorial.sml
ifeq ($(VARIANT), lua)
should_run += mlbasis/should_run/os-path.sml mlbasis/should_run/scan-real.sml lua/should_run/nil_in_vector.sml
should_run += mlbasis/should_run/os-path.sml mlbasis/should_run/scan-real.sml lua/should_run/nil_in_vector.mlb
else ifeq ($(VARIANT), lua-continuations)
should_run += mlbasis/should_run/os-path.sml mlbasis/should_run/scan-real.sml lua/should_run/nil_in_vector.sml
should_run += mlbasis/should_run/os-path.sml mlbasis/should_run/scan-real.sml lua/should_run/nil_in_vector.mlb
else ifeq ($(VARIANT), luajit)
should_run += mlbasis/should_run/os-path.sml mlbasis/should_run/scan-real.sml lua/should_run/nil_in_vector.sml
should_run += mlbasis/should_run/os-path.sml mlbasis/should_run/scan-real.sml lua/should_run/nil_in_vector.mlb
endif
should_compile += $(addprefix interface/should_compile/,\
INTEGER.sml \
Expand Down Expand Up @@ -234,14 +234,14 @@ should_compile += $(addprefix extension/should_compile/,\
)
ifeq ($(VARIANT), lua-continuations)
should_run += $(addprefix cps/should_run/,\
product.sml \
exception.sml \
product.mlb \
exception.mlb \
)
else ifeq ($(VARIANT), nodejs-cps)
should_run += $(addprefix cps/should_run/,\
product.sml \
nondet.sml \
exception.sml \
product.mlb \
nondet.mlb \
exception.mlb \
)
endif

Expand Down
3 changes: 3 additions & 0 deletions test/cps/should_run/exception.mlb
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
$(SML_LIB)/basis/basis.mlb
$(SML_LIB)/basis/lunarml.mlb
exception.sml
3 changes: 3 additions & 0 deletions test/cps/should_run/nondet.mlb
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
$(SML_LIB)/basis/basis.mlb
$(SML_LIB)/basis/lunarml.mlb
nondet.sml
3 changes: 3 additions & 0 deletions test/cps/should_run/product.mlb
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
$(SML_LIB)/basis/basis.mlb
$(SML_LIB)/basis/lunarml.mlb
product.sml
3 changes: 3 additions & 0 deletions test/lua/should_run/nil_in_vector.mlb
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
$(SML_LIB)/basis/basis.mlb
$(SML_LIB)/basis/lua.mlb
nil_in_vector.sml

0 comments on commit ffdca36

Please sign in to comment.