Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .machine_readable/LANGUAGES.a2ml
Original file line number Diff line number Diff line change
Expand Up @@ -396,3 +396,13 @@ kind = "Orchestration DSL"
status = "external"
canonical-repo = "hyperpolymath/kitchenspeak"
note = "extracted from this coordinator; in-tree snapshot removed"

# ─── Haec (trope-particularity) — clean stanza added 2026-06-22 ───
[[language]]
id = "haec"
name = "Haec"
repo = "https://github.com/hyperpolymath/haec"
invariant = "Every quality-loss is graded and checked against its use"
role = "Trope-particularity: graded property-instance loss, lowered to a language-neutral Trope IR, use-checked"
ecosystem = ["https://github.com/hyperpolymath/trope-checker", "https://github.com/hyperpolymath/trope-particularity-workbench"]
status = "design"
15 changes: 15 additions & 0 deletions README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,21 @@ Status: partially implemented.

---

=== Haec

A Turing-complete language whose type discipline is *trope-particularity*: every
operation on a property-instance carries a graded *loss-shape*, lowered to a
language-neutral *Trope IR* and checked against a declared use-model by a separate,
portable checker (`hyperpolymath/trope-checker`, an Idris2 verified core plus an
executable). The named effects, residual, and verdict live in
`hyperpolymath/trope-particularity-workbench`. Shares the loss-with-residue
substrate with `echo-types`.

Status: design (grammar + elaboration + round-tripping examples); the checker's
verified core typechecks with no axioms.

---

=== KitchenSpeak (experimental DSL — moved out)

An experimental, formally-verified orchestration *DSL* for the domestic kitchen,
Expand Down
3 changes: 3 additions & 0 deletions TOOLING-STATUS.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,9 @@ Cross-axis invariants: ARG ≤ TRG always; ARG-A requires FRG ≥ B.
| **JtV** | TBD | TBD | TBD | TBD | TBD | Profile not yet authored.
| **Oblibeny** | TBD | TBD | TBD | TBD | TBD | Profile not yet authored.
| **Error-lang** | TBD | TBD | TBD | TBD | TBD | Profile not yet authored.
| **Haec**
| TBD | TBD | TBD | TBD | FULL
| Trope-particularity front-end (design pass: grammar + elaboration + round-tripping examples). Siblings: trope-checker (Idris2 verified core + executable checker, conformance), trope-particularity-workbench (the nine-effect vocabulary).
| **Kitchenspeak** | TBD | TBD | TBD | TBD | TBD | Proofs commenced (Dough, PoachedEgg, EchoBridge); ADR 0001–0004; echo-types dependency. Profile not yet authored.
| **Tangle** | TBD | TBD | TBD | TBD | TBD | Profile not yet authored.
| **Me-dialect** | TBD | TBD | TBD | TBD | TBD | Profile not yet authored.
Expand Down
1 change: 1 addition & 0 deletions docs/language-portfolio.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ live in each language's own repo and in the coordinator's canonical trackers:
| My-Lang | `hyperpolymath/my-lang` | Solo → Duet → Ensemble dialect family |
| JtV | `hyperpolymath/jtv` | Systems language, Harvard architecture |
| Error-Lang | `hyperpolymath/error-lang` | Pedagogical, systems thinking via errors |
| Haec | `hyperpolymath/haec` | Trope-particularity: graded property-instance loss, use-checked |
| Oblíbený | `hyperpolymath/oblibeny` | Turing-incomplete secure deployment |
| Anvomidav | `hyperpolymath/anvomidav` | Hard real-time / formal verification |
| betlang | `hyperpolymath/betlang` | Foundational / probabilistic experiment |
Expand Down
1 change: 1 addition & 0 deletions languages/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ Each language has one core invariant that defines its design philosophy.
| [jtv](jtv.md) | Data and code are strictly separated |
| [affinescript](affinescript.md) | Every resource is used at most once |
| [ephapax](ephapax.md) | Every value can be consumed exactly once |
| [haec](haec.md) | Every quality-loss is graded and checked against its use |

Each row links to a thin pointer; the language itself lives in its own
`hyperpolymath/<lang>` repo. For cross-language status see
Expand Down
31 changes: 31 additions & 0 deletions languages/haec.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<!--
SPDX-License-Identifier: MPL-2.0
Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
-->
# Haec

> Every quality-loss is graded and checked against its use.

**Canonical repository:** [hyperpolymath/haec](https://github.com/hyperpolymath/haec)

Haec is a Turing-complete language whose type discipline is *trope-particularity*:
every operation on a *property-instance* (a quality as borne by _this_ entity, in
_this_ context) carries a *loss-shape grade*, and the surviving residue is judged
against a declared *use-model*. Haec is one **front-end** of a three-repo system —
it lowers programs to a language-neutral **Trope IR**; it defines neither the
checker nor the vocabulary:

- [hyperpolymath/trope-checker](https://github.com/hyperpolymath/trope-checker) —
the portable checker (Idris2 verified core + executable) that consumes the Trope
IR and returns a verdict (`p-sufficient` / `p-insufficient`) with a witness edge.
- [hyperpolymath/trope-particularity-workbench](https://github.com/hyperpolymath/trope-particularity-workbench) —
the informal vocabulary (the nine named effects, the residual, the verdict).

Shares the *irreversible-transformation-with-retained-residue* substrate with
[`echo-types`](https://github.com/hyperpolymath/echo-types) (the graded-loss reading
the calculus builds on).

This coordinator only *indexes* the language. The implementation, specification,
grammar, examples, and live status live in the canonical repositories above — not
here. See also [`../.machine_readable/LANGUAGES.a2ml`](../.machine_readable/LANGUAGES.a2ml)
and [`../TOOLING-STATUS.adoc`](../TOOLING-STATUS.adoc).
Loading