fez-lisp 1.5.53 → 1.5.54

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/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "fez-lisp",
3
3
  "description": "Lisp interpreted & compiled to JavaScript",
4
4
  "author": "AT290690",
5
- "version": "1.5.53",
5
+ "version": "1.5.54",
6
6
  "type": "module",
7
7
  "main": "index.js",
8
8
  "keywords": [
package/src/check.js CHANGED
@@ -34,7 +34,6 @@ const PREDICATE = 3
34
34
  const COLLECTION = 4
35
35
  const RETRY_COUNT = 1
36
36
  const DEFINITON_RETRY_COUNT = 1
37
- const SUB = 2
38
37
  const toTypeNames = (type) => {
39
38
  switch (type) {
40
39
  case APPLY:
@@ -123,8 +122,8 @@ export const typeCheck = (ast) => {
123
122
  [STATS]: {
124
123
  retried: RETRY_COUNT,
125
124
  [SIGNATURE]: PLACEHOLDER,
126
- [TYPE_PROP]: [UNKNOWN],
127
- [RETURNS]: [UNKNOWN],
125
+ [TYPE_PROP]: [APPLY],
126
+ [RETURNS]: [APPLY],
128
127
  [ARGS_COUNT]: [],
129
128
  [ARGUMENTS]: [],
130
129
  [ARGS_COUNT]: 0
@@ -145,8 +144,8 @@ export const typeCheck = (ast) => {
145
144
  [STATS]: {
146
145
  retried: RETRY_COUNT,
147
146
  [SIGNATURE]: PLACEHOLDER,
148
- [TYPE_PROP]: [UNKNOWN],
149
- [RETURNS]: [UNKNOWN],
147
+ [TYPE_PROP]: [ATOM],
148
+ [RETURNS]: [ATOM],
150
149
  [ARGS_COUNT]: [],
151
150
  [ARGUMENTS]: [],
152
151
  [ARGS_COUNT]: 0
@@ -167,8 +166,8 @@ export const typeCheck = (ast) => {
167
166
  [STATS]: {
168
167
  retried: RETRY_COUNT,
169
168
  [SIGNATURE]: PLACEHOLDER,
170
- [TYPE_PROP]: [UNKNOWN],
171
- [RETURNS]: [UNKNOWN],
169
+ [TYPE_PROP]: [APPLY, PREDICATE],
170
+ [RETURNS]: [APPLY, PREDICATE],
172
171
  [ARGS_COUNT]: [],
173
172
  [ARGUMENTS]: [],
174
173
  [ARGS_COUNT]: 0
@@ -189,8 +188,8 @@ export const typeCheck = (ast) => {
189
188
  [STATS]: {
190
189
  retried: RETRY_COUNT,
191
190
  [SIGNATURE]: PLACEHOLDER,
192
- [TYPE_PROP]: [UNKNOWN],
193
- [RETURNS]: [UNKNOWN],
191
+ [TYPE_PROP]: [COLLECTION],
192
+ [RETURNS]: [COLLECTION],
194
193
  [ARGS_COUNT]: [],
195
194
  [ARGUMENTS]: [],
196
195
  [ARGS_COUNT]: 0
@@ -1593,7 +1592,7 @@ export const typeCheck = (ast) => {
1593
1592
  // }
1594
1593
  check(rest.at(-1), env, scope)
1595
1594
  }
1596
- Types.set(withScope(name, env), formatType(name, env))
1595
+ Types.set(withScope(name, env), () => formatType(name, env))
1597
1596
  }
1598
1597
  }
1599
1598
  break
@@ -1901,7 +1900,6 @@ export const typeCheck = (ast) => {
1901
1900
  for (let i = 0; i < rest.length; ++i) {
1902
1901
  const PRED_TYPE = args[i][STATS][TYPE_PROP][1]
1903
1902
  const MAIN_TYPE = expectedArgs[i][STATS][TYPE_PROP][0]
1904
-
1905
1903
  if (MAIN_TYPE === UNKNOWN) continue
1906
1904
  if (!isLeaf(rest[i])) {
1907
1905
  const CAR = rest[i][0][VALUE]
package/src/keywords.js CHANGED
@@ -73,4 +73,6 @@ export const DEBUG = {
73
73
  TYPE_SIGNATURE: 'type?'
74
74
  }
75
75
 
76
- export const SPECIAL_FORMS_SET = new Set(Object.values(KEYWORDS))
76
+ export const SPECIAL_FORMS_SET = new Set(
77
+ Object.values(KEYWORDS).concat(Object.values(STATIC_TYPES))
78
+ )