fez-lisp 1.6.12 → 1.6.14

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.6.12",
5
+ "version": "1.6.14",
6
6
  "type": "module",
7
7
  "main": "index.js",
8
8
  "keywords": [
package/src/check.js CHANGED
@@ -2,7 +2,6 @@ import {
2
2
  APPLY,
3
3
  ATOM,
4
4
  FALSE,
5
- GETTERS_SET,
6
5
  KEYWORDS,
7
6
  MUTATION_SUFFIX,
8
7
  MUTATORS_SET,
@@ -847,23 +846,23 @@ const resolveReturnType = ({
847
846
  break
848
847
  default:
849
848
  {
850
- if (
851
- !GETTERS_SET.has(name) &&
852
- GETTERS_SET.has(returns[VALUE]) &&
853
- !resolveGetter({ rem, prop, name, env })
854
- )
855
- return retry(env[name][STATS], [returns, env], stack, () => {
856
- resolveReturnType({
857
- returns,
858
- rem,
859
- stack,
860
- prop,
861
- exp,
862
- name,
863
- env,
864
- check
865
- })
866
- })
849
+ // if (
850
+ // !GETTERS_SET.has(name) &&
851
+ // GETTERS_SET.has(returns[VALUE]) &&
852
+ // !resolveGetter({ rem, prop, name, env })
853
+ // )
854
+ // return retry(env[name][STATS], [returns, env], stack, () => {
855
+ // resolveReturnType({
856
+ // returns,
857
+ // rem,
858
+ // stack,
859
+ // prop,
860
+ // exp,
861
+ // name,
862
+ // env,
863
+ // check
864
+ // })
865
+ // })
867
866
  checkPredicateNameDeep(name, exp, exp.slice(1), returns)
868
867
  // TODO: DRY
869
868
  const index = env[name][STATS][ARGUMENTS]
package/src/keywords.js CHANGED
@@ -115,19 +115,7 @@ export const MUTATORS_SET = new Set([
115
115
  ])
116
116
  export const GETTERS_SET = new Set([
117
117
  KEYWORDS.GET_ARRAY,
118
- 'array:first',
119
- 'array:second',
120
- 'array:third',
121
- 'array:last',
122
- 'matrix:get',
123
- 'matrix:set-and-get!',
124
- 'array:set-and-get!',
125
- 'var:set-and-get!',
126
- 'map:set-and-get!',
127
- 'set:add-and-get!',
128
- 'set:get',
129
- 'map:get',
130
- 'array:get',
131
- 'array:pop!',
132
- 'var:get'
118
+ 'array:get-number',
119
+ 'array:get-array',
120
+ 'array:get-boolean'
133
121
  ])
package/src/utils.js CHANGED
@@ -318,6 +318,7 @@ export const ast = (source, deps) =>
318
318
 
319
319
  export const astWithStd = (source) => wrapInBlock(shake(prep(source), std))
320
320
  export const unwrapped = (source) => shake(prep(source), std)
321
+ export const unwrapDo = (ast) => ast[1][1]
321
322
  export const parse = (source) =>
322
323
  wrapInBlock(
323
324
  shake(
@@ -348,6 +349,14 @@ export const addTypeIdentities = (ast) => {
348
349
  identity(STATIC_TYPES.UNKNOWN)
349
350
  )
350
351
  }
352
+ export const isInputVariable = (x) =>
353
+ x &&
354
+ x[0] &&
355
+ x[0][TYPE] === APPLY &&
356
+ x[0][VALUE] === 'let' &&
357
+ x[1] &&
358
+ x[1][TYPE] === WORD &&
359
+ x[1][VALUE] === 'INPUT'
351
360
 
352
361
  export const UTILS = {
353
362
  handleUnbalancedQuotes,