@dallaylaen/ski-interpreter 2.1.0 → 2.2.0

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/CHANGELOG.md CHANGED
@@ -5,6 +5,29 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [2.2.0] - 2026-02-14
9
+
10
+ ### BREAKING CHANGES
11
+
12
+ - Remove `Expr.declare()` method for good, use `toposort()` or static `declare` instead
13
+
14
+ ### Added
15
+
16
+ - `SKI.extras.toposort(list, env)` function to output named terms in dependency order
17
+ - `SKI.extras.declare(term, {env})` function for term declarations
18
+ - `Expr.unroll()` method to get a list of terms
19
+ that give the initial expression when applied
20
+ from left to right: `((a, b), (c, d)) => [a, b, (c, d)]`
21
+ - Parser: Support for chained assignments (`'foo=bar=baz'` expressions)
22
+ - Parser: Support for multi-line comment syntax (`/* comments */`)
23
+
24
+ ### Changed
25
+
26
+ - Parser improvements and bug fixes for variable handling
27
+ - `expand()` method refactored to use `traverse()`
28
+ - Package now builds both CJS and ESM bundles.
29
+ - Moved source from `lib/` to `src/` directory
30
+
8
31
  ## [2.1.0] - 2026-02-12
9
32
 
10
33
  ### BREAKING CHANGES
package/README.md CHANGED
@@ -147,7 +147,7 @@ const lambdaSteps = [...skiExpr.toLambda()];
147
147
  ## Fancy formatting
148
148
 
149
149
  The `format` methods of the `Expr` class supports
150
- a number of options, see [the source code](lib/expr.js) for details.
150
+ a number of options, see [the source code](src/expr.js) for details.
151
151
 
152
152
  ## Variable scoping
153
153
 
package/bin/ski.js CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  const fs = require('node:fs/promises');
4
4
 
5
- const { SKI } = require('../index');
5
+ const { SKI } = require('../lib/ski-interpreter.cjs');
6
6
 
7
7
  const [myname, options, positional] = parseArgs(process.argv);
8
8