feat: plan 13 source formatter and API documentation - #34
Merged
Merged
Conversation
Signed-off-by: microproofs <kwhitemsg@gmail.com>
Signed-off-by: microproofs <kwhitemsg@gmail.com>
Signed-off-by: microproofs <kwhitemsg@gmail.com>
Signed-off-by: microproofs <kwhitemsg@gmail.com>
Signed-off-by: microproofs <kwhitemsg@gmail.com>
Signed-off-by: microproofs <kwhitemsg@gmail.com>
Signed-off-by: microproofs <kwhitemsg@gmail.com>
Signed-off-by: microproofs <kwhitemsg@gmail.com>
Signed-off-by: microproofs <kwhitemsg@gmail.com>
Signed-off-by: microproofs <kwhitemsg@gmail.com>
Signed-off-by: microproofs <kwhitemsg@gmail.com>
Signed-off-by: microproofs <kwhitemsg@gmail.com>
Signed-off-by: microproofs <kwhitemsg@gmail.com>
Signed-off-by: microproofs <kwhitemsg@gmail.com>
Signed-off-by: microproofs <kwhitemsg@gmail.com>
Signed-off-by: microproofs <kwhitemsg@gmail.com>
Signed-off-by: microproofs <kwhitemsg@gmail.com>
Keep map keys and values Storable, with equality constraints on library implementations. Use structural Data equality for Big-element lists and Big/Big maps; preserve selected element Eq for Little and mixed maps. Map builtins and helpers retain alias identity. Generic callers must ask for container Eq, and Lift to Big maps now uses the native map alias. Signed-off-by: microproofs <kwhitemsg@gmail.com>
Place boolean helpers and operators below Eq and Ord, preserving existing short-circuit rules. Simplify equality and boolean ordering using Logic. Qualified helpers move from Bool to Logic; explicit boolean operator imports move from Prelude to Logic. Default application scope is retained. Signed-off-by: microproofs <kwhitemsg@gmail.com>
MicroProofs
had a problem deploying
to
github-pages
September 27, 2026 16:40 — with
GitHub Actions
Failure
This branch had an error being deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements plan 13 (plans/13-fmt-docs.md): all seven chunks complete. Two new crates,
nash-fmt(AST-based source formatter) andnash-docs(API documentation extraction and rendering), plusnash formatandnash docsin the CLI. The parser now keeps comments and documentation in the surface AST. The branch also removes the completed benchmark experiments, tightens one case-lowering path in codegen, and updates the plan documents for the optimizer, macros and Big constructor tags. Sixteen commits, nine changesets.Versioning: minor bumps for
nash-source,nash-parse,nash-report,nash-fmt,nash-docs,nash-cli; patch fornash-plutus,nash-codegen,nash-driver. See.sampo/changesets/.Comments in the surface AST (
feat(parse): preserve comments and documentation)Formatter (
feat(fmt): add source formatter and check diffs,fix(fmt): keep short expressions compact,fix(fmt): refine signatures and exposing layout,fix(cli): format files concurrently with Tokio)nash-fmt: 80-column layout, comment preservation, source snapshot tests.nash format(aliasfmt) formats in place or from stdin.--checkreports contextual diffs through the existing report style.doblocks follow assignment and bind operators without extra indentation. Aligned explicit continuations insidedodo not merge statements.Documentation (
feat(docs): extract public API documentation,feat(docs): render searchable API documentation)nash-docsextracts public documentation from source comments and solved interfaces, including the compiler-bundled Base API.nash docsrenders searchable HTML and Markdown.docs/formatter.md,docs/documentation.mdanddocs/cli.mdspecify the two tools.Codegen and cleanup (
fix(codegen): tighten case lowering and coverage,test: remove completed performance experiments,test(driver): remove integer-width benchmark)case, preserving strict sequencing without a lambda/application pair.docs/research/list-extraction-costs.mdrecords the findings.Plan documents (
docs: …)plans/14-explicit-big-constructor-tags.md: explicit dispatch and Big tags.docs/codegen.md,docs/representation.md,docs/macros.mdanddocs/overview.mdare updated to match.Test plan
cargo fmt --all -- --checkcargo clippy --all-targets --all-features -- -D warningscargo test