fez-lisp 1.5.19 → 1.5.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/lib/baked/macros.js +1 -1
- package/lib/baked/std.js +1 -1
- package/package.json +1 -1
- package/src/check.js +10 -2
- package/src/compiler.js +6 -4
- package/src/interpreter.js +51 -40
- package/src/keywords.js +2 -1
- package/src/macros.js +14 -0
package/README.md
CHANGED
@@ -14,8 +14,8 @@
|
|
14
14
|
(let x 42)
|
15
15
|
; But array items are not
|
16
16
|
(let arr (array 1 2 3))
|
17
|
-
(
|
18
|
-
(
|
17
|
+
(set! arr 0 10)
|
18
|
+
(set! arr (length arr) 100)
|
19
19
|
; arr is now will make it [10 2 3 100]
|
20
20
|
; No strings - instead they are array of charcodes
|
21
21
|
"Hello World!" ; This is syntactic suggar turning it into the one below
|
@@ -103,5 +103,5 @@ console.log(compile(parse("(|> [1 2 3 4] (array:map math:square) (math:summation
|
|
103
103
|
; Build-in all keywords
|
104
104
|
(/ ...) (+ ...) (* ...) (- ...) (= ...) (< ...) (> ...) (>= ...) (<= ...) (& ...) (~ ...) (| ...) (^ ...) (<< ...) (>> ...)
|
105
105
|
(mod ...) (let ...) (if ...) (not ...) (and ...) (or ...) (atom? ...) (lambda? ...)
|
106
|
-
(length ...) (do ...) (array ...) (
|
106
|
+
(length ...) (do ...) (array ...) (set! ...) (pop! ...) (get ...) (lambda ...) (apply ...) (throw ...)
|
107
107
|
```
|