Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
49 changes: 49 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Documentation

on:
pull_request:
push:
branches: [main]
workflow_dispatch:

permissions:
contents: read

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Rust toolchain
run: rustup show
- uses: Swatinem/rust-cache@v2
- name: Generate Base documentation
run: cargo run -p nash-cli -- docs --base --out target/base-docs
- name: Save documentation preview
uses: actions/upload-artifact@v4
with:
name: base-documentation
path: target/base-docs
- name: Prepare Pages artifact
if: github.ref == 'refs/heads/main' && github.event_name != 'pull_request'
uses: actions/upload-pages-artifact@v4
with:
path: target/base-docs

deploy:
if: github.ref == 'refs/heads/main' && github.event_name != 'pull_request'
needs: build
runs-on: ubuntu-latest
permissions:
pages: write
id-token: write
concurrency:
group: pages
cancel-in-progress: false
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Deploy documentation
id: deployment
uses: actions/deploy-pages@v4
5 changes: 5 additions & 0 deletions .sampo/changesets/async-format-command.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
cargo/nash-cli: patch
---

Process format inputs concurrently with asynchronous filesystem and stream I/O, and keep formatting work off Tokio executor threads.
6 changes: 6 additions & 0 deletions .sampo/changesets/docs-extraction.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
cargo/nash-docs: minor
cargo/nash-driver: patch
---

Extract public documentation from source comments and solved interfaces, and document the compiler-bundled Base API.
5 changes: 5 additions & 0 deletions .sampo/changesets/docs-rendering.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
cargo/nash-docs: minor
cargo/nash-cli: minor
---
Render searchable HTML and Markdown API documentation with `nash docs`, including compiler-bundled Base documentation.
5 changes: 5 additions & 0 deletions .sampo/changesets/formatter-compact-layout.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
cargo/nash-fmt: patch
---

Keep short definitions and arithmetic compact, and place do blocks after assignment and bind operators without extra indentation.
5 changes: 5 additions & 0 deletions .sampo/changesets/formatter-constraint-breaks.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
cargo/nash-fmt: patch
---

Wrap constrained type signatures before the fat arrow, keeping the function type together when it fits. Start multiline exposing lists on the next line.
5 changes: 5 additions & 0 deletions .sampo/changesets/iterative-flat-decoding.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
cargo/nash-plutus: patch
---

Decode deeply nested Flat terms with an explicit stack, avoiding host stack overflow for large generated programs.
18 changes: 18 additions & 0 deletions .sampo/changesets/list-eq-representation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
cargo/nash-ast: minor
cargo/nash-can: minor
cargo/nash-driver: minor
cargo/nash-solve: patch
cargo/nash-report: patch
cargo/nash-docs: patch
---

Add Primitive.map as a native pair-list alias with storable key/value types.
Map builtins and library results preserve the alias. Library Eq implementations
use structural Data equality for Big-element lists and Big/Big maps, and retain
selected element equality for Little elements and mixed maps. No optimizer
special case is needed. Generic callers with unknown element representations
must request container Eq directly. Map equality preserves order and duplicates.

Keep reflexive Lift inference nominal when checking alias identity, so explicit
alias conversions can infer hidden type parameters without a false competitor.
10 changes: 10 additions & 0 deletions .sampo/changesets/logic-boolean-helpers.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
cargo/nash-can: minor
cargo/nash-codegen: patch
cargo/nash-driver: minor
---

Move boolean helpers and &&/|| into Logic, below Eq and Ord. Preserve fully
applied short-circuit behavior and default application scope. Qualified callers
must use Logic.and/or/not/xor instead of Bool; explicit operator imports use
Logic instead of Prelude. Simplify equality and boolean ordering with the helpers.
12 changes: 12 additions & 0 deletions .sampo/changesets/nash-source-formatter.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
cargo/nash-fmt: minor
cargo/nash-cli: minor
cargo/nash-report: minor
cargo/nash-parse: patch
---

Add an AST-based Nash source formatter with 80-column layout, comment preservation,
and source snapshot tests. Expose `nash format` (`fmt`), in-place and stdin
formatting, and contextual `--check` diffs through the existing report style.
Correct whitespace handling after message keywords and before constructor docs.
Allow aligned explicit continuations inside `do` without merging statements.
5 changes: 5 additions & 0 deletions .sampo/changesets/native-unit-case.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
cargo/nash-codegen: patch
---

Lower unused native-unit bindings to a single-branch UPLC case, preserving strict sequencing without a lambda/application pair.
6 changes: 6 additions & 0 deletions .sampo/changesets/preserve-source-comments.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
cargo/nash-source: minor
cargo/nash-parse: minor
---

Preserve source comments and documentation in the surface AST for formatting and documentation extraction. Retain comment regions and text through parser backtracking, and attach module and declaration documentation.
6 changes: 6 additions & 0 deletions .sampo/changesets/remove-completed-benchmarks.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
cargo/nash-plutus: patch
cargo/nash-codegen: patch
cargo/nash-driver: patch
---
Remove completed performance experiments, benchmark fixtures and unused benchmark dependencies while retaining functional coverage.
Loading
Loading