@calcit/procs 0.13.63 → 0.13.65
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/.yarn/install-state.gz +0 -0
- package/README.md +5 -3
- package/editing-history/202608300019-calcit-design-narrative.md +22 -0
- package/editing-history/202608300044-direct-enum-js-codegen.md +33 -0
- package/editing-history/202608300052-calcit-centered-operational-docs.md +31 -0
- package/editing-history/202608300059-release-0.13.64.md +17 -0
- package/editing-history/202608301546-wasm-safe-library-dependencies.md +22 -0
- package/editing-history/202608301606-release-01365.md +8 -0
- package/lib/package.json +3 -3
- package/package.json +3 -3
package/.yarn/install-state.gz
CHANGED
|
Binary file
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
### Calcit
|
|
1
|
+
### Calcit Programming Language
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> A typed functional language for interactive and real-time applications. Built with Rust and compiling to JavaScript ES Modules.
|
|
4
4
|
|
|
5
5
|
- Home https://calcit-lang.org/
|
|
6
6
|
- API Doc https://apis.calcit-lang.org/
|
|
@@ -13,7 +13,8 @@ Core design:
|
|
|
13
13
|
- Interpreter runs on Rust, extensible with Rust FFI
|
|
14
14
|
- Persistent Data Structure
|
|
15
15
|
- Indentation-based Cirru syntax, friendly to plain text editing
|
|
16
|
-
-
|
|
16
|
+
- Code-as-data macros and functional style
|
|
17
|
+
- Nominal structs/enums, traits, methods, Option/Result, and static analysis
|
|
17
18
|
- Compiles to JavaScript in ES Modules, JavaScript Interop
|
|
18
19
|
- Hot code swapping friendly
|
|
19
20
|
|
|
@@ -22,6 +23,7 @@ Current direction:
|
|
|
22
23
|
- `calcit.cirru` is the canonical source snapshot; retired `compact.cirru` inputs receive migration guidance
|
|
23
24
|
- CLI-first development with `calcit` and `caps`, designed to work well with AI agents in terminal workflows
|
|
24
25
|
- Better CLI editing and validation for CI, docs lookup, module management, and incremental updates
|
|
26
|
+
- Consistent support for real-time web applications: typed WebSocket messages, deterministic state updates, diff/patch synchronization, acknowledgement, and resynchronization
|
|
25
27
|
|
|
26
28
|
### Install 
|
|
27
29
|
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Calcit design narrative and real-time application model / Calcit 设计叙事与实时应用模型
|
|
2
|
+
|
|
3
|
+
## Summary / 概要
|
|
4
|
+
|
|
5
|
+
- Repositioned Calcit as its own typed functional language rather than a ClojureScript dialect.
|
|
6
|
+
- 将 Calcit 重新定位为独立的 typed functional language,不再以 ClojureScript dialect 作为主要身份。
|
|
7
|
+
- Rewrote the README, introduction, overview, and feature hub around nominal structs/enums, traits and methods, Option/Result, static analysis, typed FFI, canonical Cirru source, and deterministic state updates.
|
|
8
|
+
- README、introduction、overview 与 feature hub 改为围绕 nominal struct/enum、trait/method、Option/Result、静态分析、typed FFI、canonical Cirru source 与确定性状态更新组织。
|
|
9
|
+
- Converted the former Clojure comparison page into a historical influence and migration aid. Comparisons remain only where they prevent a concrete migration mistake.
|
|
10
|
+
- 原 Clojure 对比页改为历史影响与迁移提示;仅在防止具体迁移误判时保留比较。
|
|
11
|
+
- Added a real-time application model centered on Calcium Workflow, Respo, Recollect, typed WebSocket envelopes, revision/ack/resync, bounded async work, observability, and convergence testing.
|
|
12
|
+
- 新增以 Calcium Workflow、Respo、Recollect、typed WebSocket envelope、revision/ack/resync、有界异步、可观测性与收敛测试为中心的实时应用模型。
|
|
13
|
+
- Updated agent, syntax, Tag, macro, bundle, and structural-source wording so supporting docs follow the same design vocabulary.
|
|
14
|
+
- 更新 agent、syntax、Tag、macro、bundle 与 structural-source 文案,使辅助文档采用一致的设计词汇。
|
|
15
|
+
- Added the same language-positioning, Calcium architecture, method-first API, cross-project validation, and bilingual tracking policy to `AGENTS.md` so future work keeps the direction.
|
|
16
|
+
- 将语言定位、Calcium architecture、method-first API、跨项目验证及双语追踪规则写入 `AGENTS.md`,使后续工作持续遵循该方向。
|
|
17
|
+
|
|
18
|
+
## Policy / 约束
|
|
19
|
+
|
|
20
|
+
Future documentation should explain Calcit concepts on their own terms. Historical comparisons are migration aids, not design authorities. Language and ecosystem changes for web applications should preserve one coherent Calcium-style model: typed boundaries, serial deterministic business updates, pure projections, revisioned incremental synchronization, bounded effects, and observable convergence.
|
|
21
|
+
|
|
22
|
+
后续文档应直接解释 Calcit 自身概念;历史比较只用于迁移,不作为设计依据。面向 Web 应用的语言和生态改动应保持一致的 Calcium 模型:typed boundary、串行确定性业务更新、纯 projection、revisioned incremental synchronization、有界 effect 与可观测收敛。
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Direct named data constructors in JS codegen
|
|
2
|
+
|
|
3
|
+
## Context / 背景
|
|
4
|
+
|
|
5
|
+
Direct named enum calls such as `schema/Op :effect/ping` were lowered with an
|
|
6
|
+
embedded compiler-only definition value. The native evaluator accepted that
|
|
7
|
+
value, but JS codegen panicked because no runtime module reference remained.
|
|
8
|
+
|
|
9
|
+
直接调用具名枚举(例如 `schema/Op :effect/ping`)时,预处理曾把编译期类型定义嵌入
|
|
10
|
+
运行时代码。Native evaluator 可以处理该值,但 JS codegen 因缺少模块引用而 panic。
|
|
11
|
+
|
|
12
|
+
## Change / 修改
|
|
13
|
+
|
|
14
|
+
- Preserve the `(namespace, definition)` path from a preprocessed `Import`
|
|
15
|
+
when lowering direct Struct and Enum constructor calls.
|
|
16
|
+
- Emit a regular codegen error for leaked compiler-only values instead of
|
|
17
|
+
reaching an `unreachable!` panic.
|
|
18
|
+
- Cover import-path preservation and the non-panicking diagnostic with unit
|
|
19
|
+
tests.
|
|
20
|
+
|
|
21
|
+
- 直接 Struct/Enum 构造器降级时保留预处理后 `Import` 的命名空间与定义路径。
|
|
22
|
+
- 编译期专用值意外进入 codegen 时返回普通诊断,不再触发 `unreachable!`。
|
|
23
|
+
- 增加引用路径保留及无 panic 错误路径的单元测试。
|
|
24
|
+
|
|
25
|
+
## Verification / 验证
|
|
26
|
+
|
|
27
|
+
- Targeted Rust tests pass.
|
|
28
|
+
- A Calcium Workflow copy using direct cross-namespace `schema/Op` construction
|
|
29
|
+
completes full server-side JS emission with the patched release compiler.
|
|
30
|
+
|
|
31
|
+
- Rust 定向测试通过。
|
|
32
|
+
- 使用跨命名空间 `schema/Op` 直接构造的 Calcium Workflow 副本,已用修复后的
|
|
33
|
+
release 编译器完整完成 server JS 输出。
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Calcit-centered operational documentation
|
|
2
|
+
|
|
3
|
+
## Context / 背景
|
|
4
|
+
|
|
5
|
+
The primary documentation was already repositioned around Calcit's nominal
|
|
6
|
+
types, traits/methods, typed boundaries, and Calcium Workflow. A few syntax and
|
|
7
|
+
agent guides still explained ordinary Calcit rules through repeated external
|
|
8
|
+
language comparisons.
|
|
9
|
+
|
|
10
|
+
入口文档已经围绕 Calcit 的 nominal types、traits/methods、typed boundaries 与
|
|
11
|
+
Calcium Workflow 重整,但部分语法及 Agent 指南仍通过反复对比其他语言来解释普通规则。
|
|
12
|
+
|
|
13
|
+
## Change / 修改
|
|
14
|
+
|
|
15
|
+
- Describe collection constructors, schemas, and collection-first argument
|
|
16
|
+
order directly as Calcit semantics.
|
|
17
|
+
- Replace the broad migration-comparison section in the advanced Agent guide
|
|
18
|
+
with Calcit semantic checkpoints based on CLI evidence.
|
|
19
|
+
- Keep historical language references only in the dedicated migration page,
|
|
20
|
+
standard provenance notes, and historical source links.
|
|
21
|
+
|
|
22
|
+
- 直接以 Calcit 语义说明集合构造器、schema 与集合优先的参数顺序。
|
|
23
|
+
- 将高级 Agent 指南中的大段迁移对照改为基于 CLI 证据的 Calcit 语义检查点。
|
|
24
|
+
- 仅在专门迁移页、标准来源说明和历史资料链接中保留外部语言引用。
|
|
25
|
+
|
|
26
|
+
## Verification / 验证
|
|
27
|
+
|
|
28
|
+
`bash scripts/check-docs-md.sh` passes all 60 documentation files and all
|
|
29
|
+
325 checked Cirru blocks.
|
|
30
|
+
|
|
31
|
+
`bash scripts/check-docs-md.sh` 已通过全部 60 个文档文件及 325 个 Cirru 代码块。
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Release 0.13.64
|
|
2
|
+
|
|
3
|
+
## 中文
|
|
4
|
+
|
|
5
|
+
发布 0.13.64,包含直接具名 Enum/Struct 构造器的 JS codegen 修复,以及以 Calcit
|
|
6
|
+
自身语义为中心的第二批操作文档整理。
|
|
7
|
+
|
|
8
|
+
该版本用于后续在 Calcium Workflow 中升级工具链,并验证跨命名空间直接构造
|
|
9
|
+
`schema/Op` 的完整前后端工作流。
|
|
10
|
+
|
|
11
|
+
## English
|
|
12
|
+
|
|
13
|
+
Release 0.13.64 with the JavaScript codegen fix for direct named Enum/Struct
|
|
14
|
+
constructors and the second Calcit-centered operational documentation cleanup.
|
|
15
|
+
|
|
16
|
+
This version unblocks the Calcium Workflow toolchain upgrade and full-stack
|
|
17
|
+
validation of direct cross-namespace `schema/Op` construction.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# 2026-08-30 WASM-safe library dependencies / WASM 安全的 library 依赖
|
|
2
|
+
|
|
3
|
+
- Move CLI-only download, filesystem locking, home-directory, and file-watch
|
|
4
|
+
dependencies behind the non-wasm target boundary.
|
|
5
|
+
- Add a CI check that compiles the Calcit library for
|
|
6
|
+
`wasm32-unknown-unknown`, preventing native CLI dependencies from leaking
|
|
7
|
+
back into browser runtimes.
|
|
8
|
+
- Align the Actions toolchain with `rust-toolchain.toml` so the WASM standard
|
|
9
|
+
library is installed for the compiler Cargo actually uses.
|
|
10
|
+
- Keep the local JS regression command aligned with CI by installing
|
|
11
|
+
`scripts/main.mjs` after code generation, so clean workspaces have a launcher.
|
|
12
|
+
- Validate the boundary through the real `calcit-lang/wasm-play` embedded
|
|
13
|
+
runtime upgrade.
|
|
14
|
+
- 将 CLI 专用的下载、文件锁、home 目录与文件监听依赖移到 non-wasm target
|
|
15
|
+
边界之后。
|
|
16
|
+
- CI 新增 `wasm32-unknown-unknown` Calcit library 编译检查,防止 native CLI
|
|
17
|
+
依赖重新泄漏到浏览器 runtime。
|
|
18
|
+
- 将 Actions 工具链与 `rust-toolchain.toml` 对齐,确保 WASM 标准库安装到
|
|
19
|
+
Cargo 实际使用的编译器。
|
|
20
|
+
- 将本地 JS 回归命令与 CI 对齐,在代码生成后安装 `scripts/main.mjs`,避免干净工作区
|
|
21
|
+
因缺少启动入口失败。
|
|
22
|
+
- 通过真实 `calcit-lang/wasm-play` 内嵌 runtime 升级验证该边界。
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# 2026-08-30 Release 0.13.65 / 发布 0.13.65
|
|
2
|
+
|
|
3
|
+
- Publish the WASM-safe Calcit library dependency boundary from issue #528
|
|
4
|
+
and PR #529.
|
|
5
|
+
- Include the pinned Rust/WASM CI guard and clean-workspace JS regression
|
|
6
|
+
launcher fix.
|
|
7
|
+
- 发布 issue #528 与 PR #529 完成的 Calcit library WASM 安全依赖边界。
|
|
8
|
+
- 包含固定 Rust 工具链的 WASM CI 守门,以及干净工作区 JS 回归启动修复。
|
package/lib/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@calcit/procs",
|
|
3
|
-
"version": "0.13.
|
|
3
|
+
"version": "0.13.65",
|
|
4
4
|
"main": "./lib/calcit.procs.mjs",
|
|
5
5
|
"devDependencies": {
|
|
6
6
|
"@types/node": "^25.7.0",
|
|
@@ -31,8 +31,8 @@
|
|
|
31
31
|
"try-core-tests": "cargo run --bin calcit -- src/cirru/calcit-core.cirru test --tag unit --summary-only",
|
|
32
32
|
"try-rs": "cargo run --bin calcit -- calcit/test.cirru",
|
|
33
33
|
"warn-dyn-method": "cargo run --bin calcit -- calcit/test.cirru --warn-dyn-method",
|
|
34
|
-
"try-js-brk": "cargo run --bin calcit -- calcit/test.cirru js && node --inspect-brk js-out/main.mjs",
|
|
35
|
-
"try-js": "cargo run --bin calcit -- calcit/test.cirru js && node js-out/main.mjs",
|
|
34
|
+
"try-js-brk": "cargo run --bin calcit -- calcit/test.cirru js && cp scripts/main.mjs js-out/main.mjs && node --inspect-brk js-out/main.mjs",
|
|
35
|
+
"try-js": "cargo run --bin calcit -- calcit/test.cirru js && cp scripts/main.mjs js-out/main.mjs && node js-out/main.mjs",
|
|
36
36
|
"try-ir": "cargo run --bin calcit -- calcit/test.cirru ir",
|
|
37
37
|
"try-wasm": "bash scripts/test-wasm.sh"
|
|
38
38
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@calcit/procs",
|
|
3
|
-
"version": "0.13.
|
|
3
|
+
"version": "0.13.65",
|
|
4
4
|
"main": "./lib/calcit.procs.mjs",
|
|
5
5
|
"devDependencies": {
|
|
6
6
|
"@types/node": "^25.7.0",
|
|
@@ -31,8 +31,8 @@
|
|
|
31
31
|
"try-core-tests": "cargo run --bin calcit -- src/cirru/calcit-core.cirru test --tag unit --summary-only",
|
|
32
32
|
"try-rs": "cargo run --bin calcit -- calcit/test.cirru",
|
|
33
33
|
"warn-dyn-method": "cargo run --bin calcit -- calcit/test.cirru --warn-dyn-method",
|
|
34
|
-
"try-js-brk": "cargo run --bin calcit -- calcit/test.cirru js && node --inspect-brk js-out/main.mjs",
|
|
35
|
-
"try-js": "cargo run --bin calcit -- calcit/test.cirru js && node js-out/main.mjs",
|
|
34
|
+
"try-js-brk": "cargo run --bin calcit -- calcit/test.cirru js && cp scripts/main.mjs js-out/main.mjs && node --inspect-brk js-out/main.mjs",
|
|
35
|
+
"try-js": "cargo run --bin calcit -- calcit/test.cirru js && cp scripts/main.mjs js-out/main.mjs && node js-out/main.mjs",
|
|
36
36
|
"try-ir": "cargo run --bin calcit -- calcit/test.cirru ir",
|
|
37
37
|
"try-wasm": "bash scripts/test-wasm.sh"
|
|
38
38
|
},
|