fez-lisp 1.6.46 → 1.6.48
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/lib/baked/std-T.js +1 -1
- package/package.json +1 -1
- package/src/check.js +4 -6
- package/src/utils.js +41 -36
package/lib/baked/std-T.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export default [[[0,"let"],[1,"math:reverse"],[[0,"lambda"],[1,"Number[]"],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"math:map"],[[0,"lambda"],[1,"Number[]"],[[0,"lambda"],[1,"Number"],[[0,"do"],[1,"Number"]]],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"math:select"],[[0,"lambda"],[1,"Number[]"],[[0,"lambda"],[1,"Number"],[[0,"do"],[1,"Boolean"]]],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"math:exclude"],[[0,"lambda"],[1,"Number[]"],[[0,"lambda"],[1,"Number"],[[0,"do"],[1,"Boolean"]]],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"math:fold"],[[0,"lambda"],[1,"Number[]"],[[0,"lambda"],[1,"Number"],[1,"Number"],[[0,"do"],[1,"Number"]]],[1,"Number"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"math:enumerated-fold"],[[0,"lambda"],[1,"Number[]"],[[0,"lambda"],[1,"Number"],[1,"Number"],[1,"Number"],[[0,"do"],[1,"Number"]]],[1,"Number"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"math:every?"],[[0,"lambda"],[1,"Number[]"],[[0,"lambda"],[1,"Number"],[[0,"do"],[1,"Boolean"]]],[[0,"do"],[1,"Boolean"]]]],[[0,"let"],[1,"math:some?"],[[0,"lambda"],[1,"Number[]"],[[0,"lambda"],[1,"Number"],[[0,"do"],[1,"Boolean"]]],[[0,"do"],[1,"Boolean"]]]],[[0,"let"],[1,"math:enumerated-every?"],[[0,"lambda"],[1,"Number[]"],[[0,"lambda"],[1,"Number"],[1,"Number"],[[0,"do"],[1,"Boolean"]]],[[0,"do"],[1,"Boolean"]]]],[[0,"let"],[1,"math:enumerated-some?"],[[0,"lambda"],[1,"Number[]"],[[0,"lambda"],[1,"Number"],[1,"Number"],[[0,"do"],[1,"Boolean"]]],[[0,"do"],[1,"Boolean"]]]],[[0,"let"],[1,"math:enumerated-select"],[[0,"lambda"],[1,"Number[]"],[[0,"lambda"],[1,"Number"],[1,"Number"],[[0,"do"],[1,"Boolean"]]],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"math:enumerated-exclude"],[[0,"lambda"],[1,"Number[]"],[[0,"lambda"],[1,"Number"],[1,"Number"],[[0,"do"],[1,"Boolean"]]],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"math:log-taylor-series"],[[0,"lambda"],[1,"Number"],[1,"Number"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"math:collatz"],[[0,"lambda"],[1,"Number"],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"math:maximum-index"],[[0,"lambda"],[1,"Number[]"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"math:minimum-index"],[[0,"lambda"],[1,"Number[]"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"math:var-def"],[[0,"lambda"],[1,"Number"],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"math:var-get"],[[0,"lambda"],[1,"Number[]"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"math:var-set!"],[[0,"lambda"],[1,"Number[]"],[1,"Number"],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"math:var-del!"],[[0,"lambda"],[1,"Number[]"],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"math:var-set-and-get!"],[[0,"lambda"],[1,"Number[]"],[1,"Number"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"math:var-increment!"],[[0,"lambda"],[1,"Number[]"],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"math:var-decrement!"],[[0,"lambda"],[1,"Number[]"],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"math:var-increment-and-get!"],[[0,"lambda"],[1,"Number[]"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"math:var-decrement-and-get!"],[[0,"lambda"],[1,"Number[]"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"math:var-add!"],[[0,"lambda"],[1,"Number[]"],[1,"Number"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"math:var-subtract!"],[[0,"lambda"],[1,"Number[]"],[1,"Number"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"math:var-multiply!"],[[0,"lambda"],[1,"Number[]"],[1,"Number"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"math:var-divide!"],[[0,"lambda"],[1,"Number[]"],[1,"Number"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"math:var-add-and-get!"],[[0,"lambda"],[1,"Number[]"],[1,"Number"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"math:var-subtract-and-get!"],[[0,"lambda"],[1,"Number[]"],[1,"Number"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"math:var-multiply-and-get!"],[[0,"lambda"],[1,"Number[]"],[1,"Number"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"math:var-divide-and-get!"],[[0,"lambda"],[1,"Number[]"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"math:max-sub-array-sum"],[[0,"lambda"],[1,"Number[]"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"math:median"],[[0,"lambda"],[1,"Number[]"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"math:mean"],[[0,"lambda"],[1,"Number[]"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"math:subset"],[[0,"lambda"],[1,"Unknown[]"],[[0,"do"],[1,"Unknown[][]"]]]],[[0,"let"],[1,"math:permutations"],[[0,"lambda"],[1,"Unknown[]"],[[0,"do"],[1,"Unknown[][]"]]]],[[0,"let"],[1,"math:combinations"],[[0,"lambda"],[1,"Unknown[]"],[[0,"do"],[1,"Unknown[][]"]]]],[[0,"let"],[1,"math:combinations-n"],[[0,"lambda"],[1,"Unknown[]"],[1,"Number"],[[0,"do"],[1,"Unknown[][]"]]]],[[0,"let"],[1,"math:variants"],[[0,"lambda"],[1,"Unknown[]"],[1,"Number"],[[0,"do"],[1,"Unknown[][]"]]]],[[0,"let"],[1,"math:unique"],[[0,"lambda"],[1,"Number[]"],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"math:divisors"],[[0,"lambda"],[1,"Number"],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"math:remove-leading-zeroes"],[[0,"lambda"],[1,"Number[]"],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"math:sort"],[[0,"lambda"],[1,"Number[]"],[[0,"lambda"],[1,"Number"],[1,"Number"],[[0,"do"],[1,"Boolean"]]],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"var:def"],[[0,"lambda"],[1,"Any"],[[0,"do"],[1,"Unknown[]"]]]],[[0,"let"],[1,"var:get"],[[0,"lambda"],[1,"Unknown[]"],[[0,"do"],[1,"Any"]]]],[[0,"let"],[1,"var:set!"],[[0,"lambda"],[1,"Unknown[]"],[1,"Any"],[[0,"do"],[1,"Unknown[]"]]]],[[0,"let"],[1,"var:del!"],[[0,"lambda"],[1,"Unknown[]"],[[0,"do"],[1,"Unknown[]"]]]],[[0,"let"],[1,"var:set-and-get!"],[[0,"lambda"],[1,"Unknown[]"],[1,"Any"],[[0,"do"],[1,"Any"]]]],[[0,"let"],[1,"array:first"],[[0,"lambda"],[1,"Unknown[]"],[[0,"do"],[1,"Any"]]]],[[0,"let"],[1,"array:second"],[[0,"lambda"],[1,"Unknown[]"],[[0,"do"],[1,"Any"]]]],[[0,"let"],[1,"array:third"],[[0,"lambda"],[1,"Unknown[]"],[[0,"do"],[1,"Any"]]]],[[0,"let"],[1,"array:last"],[[0,"lambda"],[1,"Unknown[]"],[[0,"do"],[1,"Any"]]]],[[0,"let"],[1,"array:get"],[[0,"lambda"],[1,"Unknown[]"],[1,"Number"],[[0,"do"],[1,"Any"]]]],[[0,"let"],[1,"array:get-number"],[[0,"lambda"],[1,"Number[]"],[1,"Number"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"array:get-array"],[[0,"lambda"],[1,"Unknown[][]"],[1,"Number"],[[0,"do"],[1,"Unknown[]"]]]],[[0,"let"],[1,"array:get-boolean"],[[0,"lambda"],[1,"Boolean[]"],[1,"Number"],[[0,"do"],[1,"Boolean"]]]],[[0,"let"],[1,"array:transform"],[[0,"lambda"],[1,"Unknown[]"],[[0,"lambda"],[1,"Unknown[]"],[1,"Unknown"],[[0,"do"],[1,"Unknown"]]],[1,"Unknown[]"],[[0,"do"],[1,"Unknown[]"]]]],[[0,"let"],[1,"array:reduce"],[[0,"lambda"],[1,"Unknown[]"],[[0,"lambda"],[1,"Number"],[1,"Unknown"],[[0,"do"],[1,"Number"]]],[1,"Number"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"array:enumerated-reduce"],[[0,"lambda"],[1,"Unknown[]"],[[0,"lambda"],[1,"Number"],[1,"Unknown"],[1,"Number"],[[0,"do"],[1,"Number"]]],[1,"Number"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"array:zip"],[[0,"lambda"],[1,"Unknown[]"],[1,"Unknown[]"],[[0,"do"],[1,"Unknown[][]"]]]],[[0,"let"],[1,"array:push!"],[[0,"lambda"],[1,"Unknown[]"],[1,"Any"],[[0,"do"],[1,"Unknown"]]]],[[0,"let"],[1,"array:append!"],[[0,"lambda"],[1,"Unknown[]"],[1,"Any"],[[0,"do"],[1,"Unknown[]"]]]],[[0,"let"],[1,"bools:fold"],[[0,"lambda"],[1,"Boolean[]"],[[0,"lambda"],[1,"Boolean"],[1,"Boolean"],[[0,"do"],[1,"Boolean"]]],[1,"Boolean"],[[0,"do"],[1,"Boolean"]]]],[[0,"let"],[1,"boole:def-strict"],[[0,"lambda"],[1,"Boolean"],[[0,"do"],[1,"Boolean[]"]]]],[[0,"let"],[1,"boole:get"],[[0,"lambda"],[1,"Boolean[]"],[[0,"do"],[1,"Boolean"]]]],[[0,"let"],[1,"boole:set!"],[[0,"lambda"],[1,"Boolean[]"],[1,"Boolean"],[[0,"do"],[1,"Boolean[]"]]]],[[0,"let"],[1,"boole:toggle!"],[[0,"lambda"],[1,"Boolean[]"],[[0,"do"],[1,"Boolean[]"]]]],[[0,"let"],[1,"boole:true!"],[[0,"lambda"],[1,"Boolean[]"],[[0,"do"],[1,"Boolean[]"]]]],[[0,"let"],[1,"boole:false!"],[[0,"lambda"],[1,"Boolean[]"],[[0,"do"],[1,"Boolean[]"]]]],[[0,"let"],[1,"boole:true?"],[[0,"lambda"],[1,"Boolean[]"],[[0,"do"],[1,"Boolean"]]]],[[0,"let"],[1,"boole:false?"],[[0,"lambda"],[1,"Boolean[]"],[[0,"do"],[1,"Boolean"]]]],[[0,"let"],[1,"from:string->array"],[[0,"lambda"],[1,"Number[]"],[1,"Number"],[[0,"do"],[1,"Unknown[][]"]]]],[[0,"let"],[1,"from:array->string"],[[0,"lambda"],[1,"Unknown[][]"],[1,"Number"],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"from:strings->integers"],[[0,"lambda"],[1,"Unknown[][]"],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"from:string->integer"],[[0,"lambda"],[1,"Number[]"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"from:integer->string"],[[0,"lambda"],[1,"Number"],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"from:strings->floats"],[[0,"lambda"],[1,"Unknown[][]"],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"from:string->float"],[[0,"lambda"],[1,"Number[]"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"from:float->string"],[[0,"lambda"],[1,"Number"],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"from:chars->digits"],[[0,"lambda"],[1,"Number[]"],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"from:digits->chars"],[[0,"lambda"],[1,"Number[]"],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"from:digits->integer"],[[0,"lambda"],[1,"Number[]"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"from:integer->digits"],[[0,"lambda"],[1,"Number"],[[0,"do"],[1,"Number[]"]]]]]
|
1
|
+
export default [[[0,"let"],[1,"math:reverse"],[[0,"lambda"],[1,"Number[]"],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"math:map"],[[0,"lambda"],[1,"Number[]"],[[0,"lambda"],[1,"Number"],[[0,"do"],[1,"Number"]]],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"math:select"],[[0,"lambda"],[1,"Number[]"],[[0,"lambda"],[1,"Number"],[[0,"do"],[1,"Boolean"]]],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"math:exclude"],[[0,"lambda"],[1,"Number[]"],[[0,"lambda"],[1,"Number"],[[0,"do"],[1,"Boolean"]]],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"math:fold"],[[0,"lambda"],[1,"Number[]"],[[0,"lambda"],[1,"Number"],[1,"Number"],[[0,"do"],[1,"Number"]]],[1,"Number"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"math:enumerated-fold"],[[0,"lambda"],[1,"Number[]"],[[0,"lambda"],[1,"Number"],[1,"Number"],[1,"Number"],[[0,"do"],[1,"Number"]]],[1,"Number"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"math:every?"],[[0,"lambda"],[1,"Number[]"],[[0,"lambda"],[1,"Number"],[[0,"do"],[1,"Boolean"]]],[[0,"do"],[1,"Boolean"]]]],[[0,"let"],[1,"math:some?"],[[0,"lambda"],[1,"Number[]"],[[0,"lambda"],[1,"Number"],[[0,"do"],[1,"Boolean"]]],[[0,"do"],[1,"Boolean"]]]],[[0,"let"],[1,"math:enumerated-every?"],[[0,"lambda"],[1,"Number[]"],[[0,"lambda"],[1,"Number"],[1,"Number"],[[0,"do"],[1,"Boolean"]]],[[0,"do"],[1,"Boolean"]]]],[[0,"let"],[1,"math:enumerated-some?"],[[0,"lambda"],[1,"Number[]"],[[0,"lambda"],[1,"Number"],[1,"Number"],[[0,"do"],[1,"Boolean"]]],[[0,"do"],[1,"Boolean"]]]],[[0,"let"],[1,"math:enumerated-select"],[[0,"lambda"],[1,"Number[]"],[[0,"lambda"],[1,"Number"],[1,"Number"],[[0,"do"],[1,"Boolean"]]],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"math:enumerated-exclude"],[[0,"lambda"],[1,"Number[]"],[[0,"lambda"],[1,"Number"],[1,"Number"],[[0,"do"],[1,"Boolean"]]],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"math:log-taylor-series"],[[0,"lambda"],[1,"Number"],[1,"Number"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"math:collatz"],[[0,"lambda"],[1,"Number"],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"math:maximum-index"],[[0,"lambda"],[1,"Number[]"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"math:minimum-index"],[[0,"lambda"],[1,"Number[]"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"math:var-def"],[[0,"lambda"],[1,"Number"],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"math:var-get"],[[0,"lambda"],[1,"Number[]"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"math:var-set!"],[[0,"lambda"],[1,"Number[]"],[1,"Number"],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"math:var-del!"],[[0,"lambda"],[1,"Number[]"],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"math:var-set-and-get!"],[[0,"lambda"],[1,"Number[]"],[1,"Number"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"math:var-increment!"],[[0,"lambda"],[1,"Number[]"],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"math:var-decrement!"],[[0,"lambda"],[1,"Number[]"],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"math:var-increment-and-get!"],[[0,"lambda"],[1,"Number[]"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"math:var-decrement-and-get!"],[[0,"lambda"],[1,"Number[]"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"math:var-add!"],[[0,"lambda"],[1,"Number[]"],[1,"Number"],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"math:var-subtract!"],[[0,"lambda"],[1,"Number[]"],[1,"Number"],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"math:var-multiply!"],[[0,"lambda"],[1,"Number[]"],[1,"Number"],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"math:var-divide!"],[[0,"lambda"],[1,"Number[]"],[1,"Number"],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"math:var-add-and-get!"],[[0,"lambda"],[1,"Number[]"],[1,"Number"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"math:var-subtract-and-get!"],[[0,"lambda"],[1,"Number[]"],[1,"Number"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"math:var-multiply-and-get!"],[[0,"lambda"],[1,"Number[]"],[1,"Number"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"math:var-divide-and-get!"],[[0,"lambda"],[1,"Number[]"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"math:max-sub-array-sum"],[[0,"lambda"],[1,"Number[]"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"math:median"],[[0,"lambda"],[1,"Number[]"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"math:mean"],[[0,"lambda"],[1,"Number[]"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"math:subset"],[[0,"lambda"],[1,"Unknown[]"],[[0,"do"],[1,"Unknown[][]"]]]],[[0,"let"],[1,"math:permutations"],[[0,"lambda"],[1,"Unknown[]"],[[0,"do"],[1,"Unknown[][]"]]]],[[0,"let"],[1,"math:combinations"],[[0,"lambda"],[1,"Unknown[]"],[[0,"do"],[1,"Unknown[][]"]]]],[[0,"let"],[1,"math:combinations-n"],[[0,"lambda"],[1,"Unknown[]"],[1,"Number"],[[0,"do"],[1,"Unknown[][]"]]]],[[0,"let"],[1,"math:variants"],[[0,"lambda"],[1,"Unknown[]"],[1,"Number"],[[0,"do"],[1,"Unknown[][]"]]]],[[0,"let"],[1,"math:unique"],[[0,"lambda"],[1,"Number[]"],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"math:divisors"],[[0,"lambda"],[1,"Number"],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"math:remove-leading-zeroes"],[[0,"lambda"],[1,"Number[]"],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"math:sort"],[[0,"lambda"],[1,"Number[]"],[[0,"lambda"],[1,"Number"],[1,"Number"],[[0,"do"],[1,"Boolean"]]],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"var:def"],[[0,"lambda"],[1,"Any"],[[0,"do"],[1,"Unknown[]"]]]],[[0,"let"],[1,"var:get"],[[0,"lambda"],[1,"Unknown[]"],[[0,"do"],[1,"Any"]]]],[[0,"let"],[1,"var:set!"],[[0,"lambda"],[1,"Unknown[]"],[1,"Any"],[[0,"do"],[1,"Unknown[]"]]]],[[0,"let"],[1,"var:del!"],[[0,"lambda"],[1,"Unknown[]"],[[0,"do"],[1,"Unknown[]"]]]],[[0,"let"],[1,"var:set-and-get!"],[[0,"lambda"],[1,"Unknown[]"],[1,"Any"],[[0,"do"],[1,"Any"]]]],[[0,"let"],[1,"array:first"],[[0,"lambda"],[1,"Unknown[]"],[[0,"do"],[1,"Any"]]]],[[0,"let"],[1,"array:second"],[[0,"lambda"],[1,"Unknown[]"],[[0,"do"],[1,"Any"]]]],[[0,"let"],[1,"array:third"],[[0,"lambda"],[1,"Unknown[]"],[[0,"do"],[1,"Any"]]]],[[0,"let"],[1,"array:last"],[[0,"lambda"],[1,"Unknown[]"],[[0,"do"],[1,"Any"]]]],[[0,"let"],[1,"array:get"],[[0,"lambda"],[1,"Unknown[]"],[1,"Number"],[[0,"do"],[1,"Any"]]]],[[0,"let"],[1,"array:get-number"],[[0,"lambda"],[1,"Number[]"],[1,"Number"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"array:get-array"],[[0,"lambda"],[1,"Unknown[][]"],[1,"Number"],[[0,"do"],[1,"Unknown[]"]]]],[[0,"let"],[1,"array:get-boolean"],[[0,"lambda"],[1,"Boolean[]"],[1,"Number"],[[0,"do"],[1,"Boolean"]]]],[[0,"let"],[1,"array:transform"],[[0,"lambda"],[1,"Unknown[]"],[[0,"lambda"],[1,"Unknown[]"],[1,"Unknown"],[[0,"do"],[1,"Unknown"]]],[1,"Unknown[]"],[[0,"do"],[1,"Unknown[]"]]]],[[0,"let"],[1,"array:reduce"],[[0,"lambda"],[1,"Unknown[]"],[[0,"lambda"],[1,"Number"],[1,"Unknown"],[[0,"do"],[1,"Number"]]],[1,"Number"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"array:enumerated-reduce"],[[0,"lambda"],[1,"Unknown[]"],[[0,"lambda"],[1,"Number"],[1,"Unknown"],[1,"Number"],[[0,"do"],[1,"Number"]]],[1,"Number"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"array:zip"],[[0,"lambda"],[1,"Unknown[]"],[1,"Unknown[]"],[[0,"do"],[1,"Unknown[][]"]]]],[[0,"let"],[1,"array:push!"],[[0,"lambda"],[1,"Unknown[]"],[1,"Any"],[[0,"do"],[1,"Unknown"]]]],[[0,"let"],[1,"array:append!"],[[0,"lambda"],[1,"Unknown[]"],[1,"Any"],[[0,"do"],[1,"Unknown[]"]]]],[[0,"let"],[1,"bools:fold"],[[0,"lambda"],[1,"Boolean[]"],[[0,"lambda"],[1,"Boolean"],[1,"Boolean"],[[0,"do"],[1,"Boolean"]]],[1,"Boolean"],[[0,"do"],[1,"Boolean"]]]],[[0,"let"],[1,"boole:def-strict"],[[0,"lambda"],[1,"Boolean"],[[0,"do"],[1,"Boolean[]"]]]],[[0,"let"],[1,"boole:get"],[[0,"lambda"],[1,"Boolean[]"],[[0,"do"],[1,"Boolean"]]]],[[0,"let"],[1,"boole:set!"],[[0,"lambda"],[1,"Boolean[]"],[1,"Boolean"],[[0,"do"],[1,"Boolean[]"]]]],[[0,"let"],[1,"boole:toggle!"],[[0,"lambda"],[1,"Boolean[]"],[[0,"do"],[1,"Boolean[]"]]]],[[0,"let"],[1,"boole:true!"],[[0,"lambda"],[1,"Boolean[]"],[[0,"do"],[1,"Boolean[]"]]]],[[0,"let"],[1,"boole:false!"],[[0,"lambda"],[1,"Boolean[]"],[[0,"do"],[1,"Boolean[]"]]]],[[0,"let"],[1,"boole:true?"],[[0,"lambda"],[1,"Boolean[]"],[[0,"do"],[1,"Boolean"]]]],[[0,"let"],[1,"boole:false?"],[[0,"lambda"],[1,"Boolean[]"],[[0,"do"],[1,"Boolean"]]]],[[0,"let"],[1,"from:string->array"],[[0,"lambda"],[1,"Number[]"],[1,"Number"],[[0,"do"],[1,"Unknown[][]"]]]],[[0,"let"],[1,"from:array->string"],[[0,"lambda"],[1,"Unknown[][]"],[1,"Number"],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"from:strings->integers"],[[0,"lambda"],[1,"Unknown[][]"],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"from:string->integer"],[[0,"lambda"],[1,"Number[]"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"from:integer->string"],[[0,"lambda"],[1,"Number"],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"from:strings->floats"],[[0,"lambda"],[1,"Unknown[][]"],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"from:string->float"],[[0,"lambda"],[1,"Number[]"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"from:float->string"],[[0,"lambda"],[1,"Number"],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"from:chars->digits"],[[0,"lambda"],[1,"Number[]"],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"from:digits->chars"],[[0,"lambda"],[1,"Number[]"],[[0,"do"],[1,"Number[]"]]]],[[0,"let"],[1,"from:digits->integer"],[[0,"lambda"],[1,"Number[]"],[[0,"do"],[1,"Number"]]]],[[0,"let"],[1,"from:integer->digits"],[[0,"lambda"],[1,"Number"],[[0,"do"],[1,"Number[]"]]]]]
|
package/package.json
CHANGED
package/src/check.js
CHANGED
@@ -1220,7 +1220,7 @@ export const typeCheck = (
|
|
1220
1220
|
// Types.set(withScope(name, env), () => formatType(name, env))
|
1221
1221
|
// If current scope is root then these are user defined types
|
1222
1222
|
if (isLambda && !isUnknownReturn(env[name][STATS])) {
|
1223
|
-
const lambdaName = `${PLACEHOLDER}${
|
1223
|
+
const lambdaName = `${PLACEHOLDER}${name}${rootScopeIndex}`
|
1224
1224
|
check(
|
1225
1225
|
[
|
1226
1226
|
[APPLY, KEYWORDS.DEFINE_VARIABLE],
|
@@ -1272,11 +1272,9 @@ export const typeCheck = (
|
|
1272
1272
|
else retry(actual[STATS], exp, stack, checkArgs)
|
1273
1273
|
}
|
1274
1274
|
}
|
1275
|
-
|
1276
|
-
|
1277
|
-
|
1278
|
-
Types.delete(`; ${rootScopeIndex} ${lambdaName}`)
|
1279
|
-
})
|
1275
|
+
checkReturns()
|
1276
|
+
checkArgs()
|
1277
|
+
Types.delete(`; ${rootScopeIndex} ${lambdaName}`)
|
1280
1278
|
}
|
1281
1279
|
typeSet(Types, name, env, exp)
|
1282
1280
|
if (env[SCOPE_NAME] === rootScopeIndex) break
|
package/src/utils.js
CHANGED
@@ -374,48 +374,53 @@ export const isInputVariable = (x) =>
|
|
374
374
|
x[1][VALUE] === 'INPUT'
|
375
375
|
|
376
376
|
export const init = () => {
|
377
|
-
import('fs').then(({ writeFileSync }) => {
|
377
|
+
import('fs').then(({ writeFileSync, mkdirSync }) => {
|
378
378
|
console.log('\x1b[32m')
|
379
|
-
|
380
|
-
console.log('Added
|
381
|
-
writeFileSync('
|
382
|
-
console.log('Added
|
379
|
+
mkdirSync('src')
|
380
|
+
console.log('Added directory src in root')
|
381
|
+
writeFileSync('./src/main.lisp', '')
|
382
|
+
console.log('Added file main.lisp in src')
|
383
|
+
writeFileSync('./src/types.lisp', '')
|
384
|
+
console.log('Added file types.lisp in src')
|
383
385
|
writeFileSync(
|
384
386
|
'index.js',
|
385
|
-
`import { compile, enhance, parse, LISP, UTILS } from
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
}
|
399
|
-
UTILS.logResult(LISP.serialise(evaluated))
|
400
|
-
} else UTILS.logError(error.message)
|
401
|
-
} catch (error) {
|
402
|
-
UTILS.logError(error.message)
|
403
|
-
}
|
404
|
-
}
|
405
|
-
export const comp = (source) => compile(enhance(parse(source)))
|
406
|
-
const file = readFileSync('./main.lisp', 'utf-8')
|
407
|
-
switch (process.argv[2]) {
|
408
|
-
case 'comp':
|
409
|
-
writeFileSync('./main.js', 'var _ = ' + comp(file) + '; console.log(_)')
|
410
|
-
break
|
411
|
-
case 'dev':
|
412
|
-
default:
|
413
|
-
dev(file, readFileSync('./types.lisp', 'utf-8'))
|
414
|
-
break
|
387
|
+
`import { compile, enhance, parse, LISP, UTILS } from "fez-lisp";
|
388
|
+
import { readFileSync, writeFileSync } from "fs";
|
389
|
+
export const dev = (source, types) => {
|
390
|
+
try {
|
391
|
+
const parsed = parse(source);
|
392
|
+
const { evaluated, type, error } = UTILS.debug(
|
393
|
+
parsed,
|
394
|
+
true,
|
395
|
+
types ? types : undefined
|
396
|
+
);
|
397
|
+
if (error == null) {
|
398
|
+
if (type) {
|
399
|
+
UTILS.logType(type);
|
415
400
|
}
|
401
|
+
UTILS.logResult(LISP.serialise(evaluated));
|
402
|
+
} else UTILS.logError(error.message);
|
403
|
+
} catch (error) {
|
404
|
+
UTILS.logError(error.message);
|
405
|
+
}
|
406
|
+
};
|
407
|
+
export const comp = (source) => compile(enhance(parse(source)));
|
408
|
+
const file = readFileSync("./src/main.lisp", "utf-8");
|
409
|
+
switch (process.argv[2]) {
|
410
|
+
case "comp":
|
411
|
+
writeFileSync(
|
412
|
+
"./src/main.js",
|
413
|
+
"var _ = " + comp(file) + "; console.log(_)"
|
414
|
+
);
|
415
|
+
break;
|
416
|
+
case "dev":
|
417
|
+
default:
|
418
|
+
dev(file, readFileSync("./src/types.lisp", "utf-8"));
|
419
|
+
break;
|
420
|
+
}
|
416
421
|
`
|
417
422
|
)
|
418
|
-
console.log('Added index.js')
|
423
|
+
console.log('Added file index.js in root')
|
419
424
|
console.log(
|
420
425
|
`Done!
|
421
426
|
|