@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 +23 -0
- package/README.md +1 -1
- package/bin/ski.js +1 -1
- package/lib/ski-interpreter.cjs.js +2047 -0
- package/lib/ski-interpreter.cjs.js.map +7 -0
- package/lib/ski-interpreter.esm.js +2052 -0
- package/lib/ski-interpreter.esm.js.map +7 -0
- package/package.json +13 -6
- package/types/index.d.ts +3 -7
- package/types/{lib → src}/expr.d.ts +35 -10
- package/types/{lib → src}/extras.d.ts +1 -0
- package/types/{lib → src}/parser.d.ts +6 -4
- package/index.js +0 -16
- package/lib/expr.js +0 -1417
- package/lib/extras.js +0 -140
- package/lib/internal.js +0 -105
- package/lib/parser.js +0 -434
- package/lib/quest.js +0 -431
- /package/types/{lib → src}/internal.d.ts +0 -0
- /package/types/{lib → src}/quest.d.ts +0 -0
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](
|
|
150
|
+
a number of options, see [the source code](src/expr.js) for details.
|
|
151
151
|
|
|
152
152
|
## Variable scoping
|
|
153
153
|
|