substrate-lang 0.9.0 → 0.9.2

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 CHANGED
@@ -8,8 +8,8 @@ self-hosted, and runs in the browser.
8
8
 
9
9
  npm install -g substrate-lang
10
10
 
11
- installs the `substrate` command, and `sub`, short for it. It needs Node 24
12
- or newer.
11
+ installs the `substrate` command, and `sub`, short for it. It needs Node 22
12
+ (22.22.3 or newer), Node 24 (24.15 or newer) or Node 25 or newer.
13
13
 
14
14
  substrate build FILE -o DIR # FILE's program, into DIR
15
15
  substrate run [GRANT ...] DIR [ARG ...] # run it, granted -R, -W, -N, -E, --allow-run or -A
@@ -18,4 +18,4 @@ or newer.
18
18
  substrate version # substrate's version, and the hash of its files
19
19
  substrate upgrade # the newest substrate, from npm, which this command then runs
20
20
 
21
- The source and the rest of the commands: https://github.com/Ejhfast/substrate-lisp
21
+ The source and the rest of the commands: https://github.com/substrate-lang/substrate
package/bin/substrate.mjs CHANGED
@@ -6,8 +6,10 @@ import os from 'node:os';
6
6
  import path from 'node:path';
7
7
  import { fileURLToPath } from 'node:url';
8
8
 
9
- if (Number(process.versions.node.split('.')[0]) < 24) {
10
- process.stderr.write(`substrate: Node 24 or newer runs substrate, and this is ${process.version}\n`);
9
+ const [major, minor, patch] = process.versions.node.split('.').map(Number);
10
+ if (major === 22 ? minor < 22 || (minor === 22 && patch < 3) : major === 24 ? minor < 15 : major < 25) {
11
+ process.stderr.write('substrate: Node 22 (22.22.3 or newer), Node 24 (24.15 or newer) or Node 25 or newer runs substrate,'
12
+ + ` and this is ${process.version}\n`);
11
13
  process.exit(1);
12
14
  }
13
15
 
@@ -8,13 +8,13 @@ roots.02808ca2c6a7@0+0
8
8
  running.7f03ff780e03@0+0
9
9
  core.11abd90bead5@0+0
10
10
  ops.a5b9269c5240@0+0
11
- checker.73d84d96c58b@0+0
11
+ checker.343075746d8c@0+0
12
12
  leb128.0d2a247f239f@0+0
13
13
  binary.5d81a93450b2@0+0
14
14
  serialize.f4354af92feb@0+0
15
15
  compile.2db0f824839f@0+0
16
16
  link.3c4158bb6ba3@0+0
17
17
  macros.6f0e1a78d640@0+0
18
- expander.570faeb51e05@0+0
18
+ expander.c0f36d0bd5fc@0+0
19
19
  prune.f800615ca8cc@0+0
20
- main.1b378cf3c2a5@0+0
20
+ main.cf521803fc5e@0+0
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "substrate-lang",
3
- "version": "0.9.0",
4
- "description": "A low-level Lisp for writing WebAssembly, and the substrate command that builds, runs and tests it",
3
+ "version": "0.9.2",
4
+ "description": "A Lisp for writing WebAssembly, and the substrate command that builds, runs and tests it",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
8
- "url": "git+https://github.com/Ejhfast/substrate-lisp.git"
8
+ "url": "git+https://github.com/substrate-lang/substrate.git"
9
9
  },
10
10
  "type": "module",
11
11
  "bin": {
@@ -13,7 +13,7 @@
13
13
  "sub": "bin/substrate.mjs"
14
14
  },
15
15
  "engines": {
16
- "node": ">=24"
16
+ "node": "^22.22.3 || >=24.15.0"
17
17
  },
18
18
  "files": [
19
19
  "bin",
package/substrate/VERSION CHANGED
@@ -1 +1 @@
1
- 0.9.0
1
+ 0.9.2
@@ -349,7 +349,7 @@
349
349
  [_ #f]))
350
350
 
351
351
  (define (scalar! [t datum] [where datum]) -> datum
352
- (unless (or (arithmetic? t) (address-type? t) (== t 'exnref) (== t 'bool) (view-type? t))
352
+ (unless (or (arithmetic? t) (address-type? t) (== t 'exnref) (== t 'bool) (view-type? t) (and (pair? t) (== (car t) 'tvar)))
353
353
  (substrate-error where "expected a number or pointer type, not ~s" `(,(shown t))))
354
354
  t)
355
355