hydra 0.16.1 → 0.17.0
raw patch · 2 files changed
+71/−3 lines, 2 filesdep ~hydra-haskelldep ~hydra-kernelPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: hydra-haskell, hydra-kernel
API changes (from Hackage documentation)
Files
- CHANGELOG.md +68/−0
- hydra.cabal +3/−3
CHANGELOG.md view
@@ -15,6 +15,74 @@ --- +## [0.17.0] - 2026-07-01++Major themes: first-class support for effects and I/O in the kernel, TypeScript and+Scala reaching publishable parity with the other hosts, and continued maturation of+the published-host build model.++### Highlights++- **Effects and I/O** ([#286](https://github.com/CategoricalData/hydra/issues/286),+ [#288](https://github.com/CategoricalData/hydra/issues/288),+ [#494](https://github.com/CategoricalData/hydra/issues/494)): a new `effect` variant+ on `hydra.core.Type` for representing effectful computations; new kernel modules+ `hydra.file` (`FilePath`, `FileType`, `FileStatus`, `FileExtension`), `hydra.time`+ (`Timespec`), and `hydra.error.file`; new primitive libraries `hydra.lib.effects`,+ `hydra.lib.files`, and `hydra.lib.text` with byte-level I/O; and a new+ `EffectfulTestCase` mechanism so the common test suite can exercise effectful+ primitives across hosts.+- **TypeScript is a complete implementation**+ ([#462](https://github.com/CategoricalData/hydra/issues/462)): self-hosts and passes+ the common test suite, with a per-package npm publish pipeline+ ([#492](https://github.com/CategoricalData/hydra/issues/492)).+- **Scala publishing**: per-package Maven Central publish infrastructure+ ([#491](https://github.com/CategoricalData/hydra/issues/491)).+- **Published-host build model**: published mode now compiles the kernel from the+ co-generated `dist/haskell` rather than Hackage, removing the need for a+ `haskell=local` shim ([#500](https://github.com/CategoricalData/hydra/issues/500));+ the oil-and-water principle and cold-build workflow for `dist/haskell` are documented+ ([#376](https://github.com/CategoricalData/hydra/issues/376)).+- **Kernel hygiene**: `uniqueLabel` (apostrophe suffixes) replaced by `chooseUniqueLabel`+ (numeric suffixes) in `hydra.names`+ ([#436](https://github.com/CategoricalData/hydra/issues/436)).++### Implementations++Eight hosts self-host and pass the common test suite across five families: Haskell,+Java, Python, Scala, and the four Lisp dialects (Clojure, Common Lisp, Scheme, Emacs+Lisp), with TypeScript now joining as a complete host/target. Go remains a "head bud"+(the coder still has emission bugs and the head's runtime is largely placeholder; it+does not yet host the test suite).++### New Features++- Translingual cross-reference convention for `doc` strings: doc-escape tags render to+ each host's native doc syntax (Javadoc, Haddock, Sphinx, TSDoc)+ ([#433](https://github.com/CategoricalData/hydra/issues/433)).+- Neo4j JSON-artifact validation demo, exercised across Java, Python, Haskell, and+ TypeScript ([#510](https://github.com/CategoricalData/hydra/issues/510)).++### Improvements++- The Java/Maven publish set now covers every official Hydra target language, one coder+ package per implementation family+ ([#468](https://github.com/CategoricalData/hydra/issues/468)).+- JVM Maven artifact groups are bifurcated to `net.fortytwo.hydra.java` and+ `net.fortytwo.hydra.scala`, so the Java and Scala (and future Clojure) publish sets+ never collide on coordinates+ ([#519](https://github.com/CategoricalData/hydra/issues/519)).+- Host-specific third-party integrations (the former `bindings/` tree) are folded into+ `overlay/`, unifying hand-written host-native source under one tree+ ([#511](https://github.com/CategoricalData/hydra/issues/511)).+- The coder de-parameterizes context and error types, simplifying generated coder+ signatures ([#518](https://github.com/CategoricalData/hydra/issues/518)).+- TypeScript-to-Java generation now emits the `hydra.lib.*` aggregate namespace+ interfaces (`Maps`, `Strings`, etc.)+ ([#499](https://github.com/CategoricalData/hydra/issues/499)).++---+ ## [0.16.1] - 2026-06-16 Major themes: the first release built by bootstrapping from previously published
hydra.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack name: hydra-version: 0.16.1+version: 0.17.0 synopsis: Hydra: graphs are programs, and programs are graphs (umbrella package) description: Hydra is an implementation of the LambdaGraph data model, which takes advantage of an isomorphism between labeled hypergraphs and typed lambda calculus: in Hydra, "graphs are programs, and programs are graphs". This umbrella package provides a single convenient entry point (the Hydra module) re-exporting the Hydra kernel plus the Haskell coder's moduleToHaskell. Depend on hydra-kernel / hydra-haskell directly for finer-grained APIs. category: Data@@ -34,6 +34,6 @@ src/main/haskell build-depends: base >=4.19.0 && <4.22- , hydra-haskell ==0.16.1- , hydra-kernel ==0.16.1+ , hydra-haskell ==0.17.0+ , hydra-kernel ==0.17.0 default-language: Haskell2010