mirror of
https://github.com/ProgramSnail/Lama.git
synced 2025-12-06 06:48:48 +00:00
FCF (alpha)
This commit is contained in:
parent
aa1d88e303
commit
d99588a6db
9 changed files with 138 additions and 89 deletions
|
|
@ -102,7 +102,7 @@ module Value =
|
|||
module Builtin =
|
||||
struct
|
||||
|
||||
let list = ["read"; "write"; ".elem"; ".length"; ".array"; ".stringval"; "__gc_init"; "raw"]
|
||||
let list = ["read"; "write"; ".elem"; ".length"; ".array"; ".stringval"]
|
||||
let bindings () = List.map (fun name -> name, Value.Builtin name) list
|
||||
let names = List.map (fun name -> name, false) list
|
||||
|
||||
|
|
@ -120,8 +120,6 @@ module Builtin =
|
|||
| ".length" -> (st, i, o, (Value.of_int (match List.hd args with Value.Sexp (_, a) | Value.Array a -> Array.length a | Value.String s -> Bytes.length s))::vs)
|
||||
| ".array" -> (st, i, o, (Value.of_array @@ Array.of_list args)::vs)
|
||||
| ".stringval" -> let [a] = args in (st, i, o, (Value.of_string @@ Value.string_val a)::vs)
|
||||
| "__gc_init" -> (st, i, o, vs)
|
||||
| "raw" -> let [a] = args in (st, i, o, a :: vs)
|
||||
|
||||
end
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue