packages feed

hydra-haskell 0.17.1 → 0.17.2

raw patch · 8 files changed

+193/−132 lines, 8 filesdep ~hydra-kernelPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: hydra-kernel

API changes (from Hackage documentation)

Files

CHANGELOG.md view
@@ -15,142 +15,197 @@  --- -## [0.17.1] - unreleased+## [0.17.2] - 2026-07-28 -Development version. Opens the 0.17.x line — the first release built entirely against-published 0.17.0 hosts (Hackage / PyPI / Maven Central), with the `hostOverrides` shims-that were needed while 0.16.1 lacked the effect type and I/O primitives removed.+Point release on the 0.17.x line. Themes: promotion of the generator's routing and manifest+logic into Hydra (`hydra.build.*`), per-package API-doc publishing across Java/Scala/Python,+constraint-polymorphic arithmetic, and new effectful stream/file primitives. Includes the base64+binary-literal rename `literals.binaryToString`/`stringToBinary` → `binaryToBase64`/`base64ToBinary`,+a step toward [#417](https://github.com/CategoricalData/hydra/issues/417) (which remains in progress). +### Highlights++- **Build system promoted into Hydra**: the three generator drivers now consume `hydra.build.routing`+  ([#560](https://github.com/CategoricalData/hydra/issues/560)) and `hydra.build.manifest`+  ([#607](https://github.com/CategoricalData/hydra/issues/607)), retiring the legacy static prefix+  tables; the cold-seeder oil-and-water violation is fixed+  ([#608](https://github.com/CategoricalData/hydra/issues/608)) and guarded+  ([#617](https://github.com/CategoricalData/hydra/issues/617)).+- **Per-package API docs** for all doc-bearing hosts: JavaDoc restructured with cross-links and a fixed+  tag→CI→Pages chain ([#616](https://github.com/CategoricalData/hydra/issues/616)), plus mirrored+  Scaladoc ([#619](https://github.com/CategoricalData/hydra/issues/619)) and Python API docs+  ([#620](https://github.com/CategoricalData/hydra/issues/620)).+- **Constraint-polymorphic arithmetic**: a `numeric` type class with enforcement and value-level dispatch+  ([#566](https://github.com/CategoricalData/hydra/issues/566)), reflected on the target hosts+  ([#618](https://github.com/CategoricalData/hydra/issues/618)).+ ### New features +- Standard-stream primitives: `stdin`/`stdout`/`stderr` ([#526](https://github.com/CategoricalData/hydra/issues/526)).+- Recursive flag for `hydra.lib.files.listDirectory` ([#527](https://github.com/CategoricalData/hydra/issues/527)).+- Hydra-specific regex syntax with per-target translation (`hydra.read.regex` / `hydra.show.regex`)+  ([#567](https://github.com/CategoricalData/hydra/issues/567)).+- Constraint-polymorphic arithmetic: `numeric` type class + value-level dispatch+  ([#566](https://github.com/CategoricalData/hydra/issues/566)).+- Aggregated Java + Scala Maven publishing into a single Central Portal deployment+  ([#591](https://github.com/CategoricalData/hydra/issues/591)).++### Improvements++- Generator drivers consume `hydra.build.routing` ([#560](https://github.com/CategoricalData/hydra/issues/560))+  and `hydra.build.manifest` ([#607](https://github.com/CategoricalData/hydra/issues/607)).+- Fixed the cold-seeder oil-and-water violation ([#608](https://github.com/CategoricalData/hydra/issues/608))+  and extended `check-oil-and-water.py` to catch cold-seeder imports of unpublished `Hydra.Build.*`+  ([#617](https://github.com/CategoricalData/hydra/issues/617)).+- Moved non-kernel packages to strict validation, clearing the #575 backlog+  ([#580](https://github.com/CategoricalData/hydra/issues/580)).+- Decoupled `Hydra.Sources.Test.All` from `Hydra.Sources.All`'s re-export list+  ([#601](https://github.com/CategoricalData/hydra/issues/601)).+- Renamed `hydra.json.schema` to resolve the module-vs-namespace-prefix conflict that broke+  file-per-module hosts ([#532](https://github.com/CategoricalData/hydra/issues/532)).+- Coders route `hydra.lib.*` overlay imports by overlay-module existence, not name-matching+  `hydra.lib.defaults` ([#568](https://github.com/CategoricalData/hydra/issues/568)).+- Per-package JavaDoc/Scaladoc/Python-doc publishing+  ([#616](https://github.com/CategoricalData/hydra/issues/616),+  [#619](https://github.com/CategoricalData/hydra/issues/619),+  [#620](https://github.com/CategoricalData/hydra/issues/620)).+- Aligned Java-host Scala/TypeScript generation with Haskell on expression layout (line-wrapping,+  declaration order) ([#612](https://github.com/CategoricalData/hydra/issues/612)).++### Bug fixes++- **TypeScript** — added the missing CI job (zero prior coverage)+  ([#571](https://github.com/CategoricalData/hydra/issues/571)); fixed the+  `verify-distribution.sh` smoke-test import so the gate actually gates+  ([#578](https://github.com/CategoricalData/hydra/issues/578)); emit `hydra.parse.regex`'s+  `regexSequence` before its alternation use (TS2448)+  ([#604](https://github.com/CategoricalData/hydra/issues/604)).+- **Build and sync** — `sync.sh` Phase 3 digest-cache now sees cross-package deps on moved kernel+  symbols, fixing stale downstream output ([#606](https://github.com/CategoricalData/hydra/issues/606)).+- **Numeric constraints** — `#566` polymorphism now reflected on the target hosts (targets were+  monomorphizing `int32->int32->int32`) ([#618](https://github.com/CategoricalData/hydra/issues/618)).++---++## [0.17.1] - 2026-07-18++Consolidation release on the 0.17.x line, built against published 0.17.0 hosts. Themes:+generated term-reference DSLs, a translingual package-validation framework, promotion of the+build system into Hydra (`hydra-build`), and broad TypeScript-host and cross-host hardening.++### Highlights+ - **Generated term-reference DSLs** ([#467](https://github.com/CategoricalData/hydra/issues/467)):-  kernel *term* modules now project generated DSL surfaces, completing the story begun with-  type-module DSLs and the generated primitive wrappers (`hydra.dsl.lib.*`, 0.17.0). A-  signature read-back in the DSL pass reuses the main pass's inference, and a demand-curated-  set of 19 kernel term modules (plus the json/test/extract modules) emits one typed,-  rename-safe reference per definition into every target language — e.g. Haskell-  `Hydra.Dsl.Strip.deannotateType`, Java `hydra.dsl.Strip.deannotateType(...)`, Python-  `hydra.dsl.strip.deannotate_type(...)`. The Java and Python coder sources were pivoted onto-  the generated references, retiring ~700 stringly-typed inline `var("hydra....")` references-  and shrinking Python's hand registry to the non-generatable remainder (byte-identical-  generated output before and after). Follow-ups:-  [#555](https://github.com/CategoricalData/hydra/issues/555) (typed references to derived-  encode/decode/show functions via `TypedName`),-  [#556](https://github.com/CategoricalData/hydra/issues/556) (non-kernel packages).+  kernel term modules now emit one typed, rename-safe reference per definition into every target+  language; the Java and Python coder sources were pivoted onto them, retiring ~700 stringly-typed+  inline references. - **Package validation** ([#574](https://github.com/CategoricalData/hydra/issues/574),   [#575](https://github.com/CategoricalData/hydra/issues/575)): a translingual `hydra.validate.*`-  framework carries per-package `ValidationProfile`s (error/warning rules, error/warning caps) and a-  catalog of checks — undeclared-package-dependency detection (now a fatal gate, #574),-  definition-name convention (PascalCase), definition ordering, documentation completeness, and-  conflicting-variant-name detection — layered on the existing core term/type well-formedness rules.-  A kernel-strict / others-relaxed policy keeps `/sync` green fleet-wide while the documentation-  backlog drains. See the new [Validation](https://github.com/CategoricalData/hydra/wiki/Validation)-  wiki page for the full per-package constraint specification.-- **DSL-authoring registration guards** ([#554](https://github.com/CategoricalData/hydra/issues/554)):-  fail-fast authoring-time validation for the host-native DSL sources — every DSL-authoring module in-  Java/`hydra-jvm`, Python, and Scala now asserts its definitions are fully registered-  (`Defs.checkComplete` / `check_complete`), backed by a Haskell kernel-source registration-completeness-  scanner, so a definition added to a source file but omitted from its `definitions` list fails loudly-  instead of silently vanishing from the generated output.-- **`hydra-build` package** ([#546](https://github.com/CategoricalData/hydra/issues/546),-  [#529](https://github.com/CategoricalData/hydra/issues/529),-  [#530](https://github.com/CategoricalData/hydra/issues/530)): the build-orchestration logic that had-  lived only in host scripts is now translingual Hydra. Pure module-list utilities became-  `hydra.build.modules` (#529) and the orphan-reconcile decision became `hydra.build.reconcile` (#530),-  each with a translingual test suite; the `hydra.build.*` modules were then extracted into a dedicated-  `hydra-build` package (#546), separate from the kernel.-- **Metadata sidecar + content/version-addressed freshness**-  ([#415](https://github.com/CategoricalData/hydra/issues/415)): dist manifests now carry a-  `moduleFormatVersion` field, and the generator's freshness basis is content/version-addressed — the-  groundwork for reproducible, cache-correct incremental generation.-- **Structured generation-provenance record**-  ([#523](https://github.com/CategoricalData/hydra/issues/523)): each generation run now records a-  structured `Generation` provenance entry (digest v2), replacing the ad-hoc shell threading of-  generation metadata.-- **Worker + issue hierarchy** ([#557](https://github.com/CategoricalData/hydra/issues/557)): a-  principled agent/worker framework — roles and parentage mirroring the GitHub issue tree, a-  cross-worktree message transport with a verify-after-copy protocol, a blocking-aware design-question-  (`decisions/`) channel, an issue-proposal queue with the `/issues` command, an autonomy-dial banner,-  and cross-machine staging coordination. Contributor-facing process only; no change to generated code.+  framework with per-package `ValidationProfile`s (undeclared-dependency gate, naming/ordering/docs+  checks). See the [Validation](https://github.com/CategoricalData/hydra/wiki/Validation) wiki page.+- **`hydra-build` package** ([#546](https://github.com/CategoricalData/hydra/issues/546)):+  build-orchestration logic that lived only in host scripts is now translingual Hydra+  (`hydra.build.*`), extracted into a dedicated package. -### API and usability+### New features -- **DSL usability passes** ([#430](https://github.com/CategoricalData/hydra/issues/430),-  [#553](https://github.com/CategoricalData/hydra/issues/553)): reviewed the host-native Java, Python,-  and Scala DSL surfaces for ergonomics and cross-host parity (documented def shapes, added a Scala-  projection helper), bringing the three authoring dialects into closer alignment.+- Generated term-reference DSLs ([#467](https://github.com/CategoricalData/hydra/issues/467));+  follow-ups: `TypedName` refs to derived encode/decode/show+  ([#555](https://github.com/CategoricalData/hydra/issues/555)), non-kernel packages+  ([#556](https://github.com/CategoricalData/hydra/issues/556)).+- Translingual package-validation framework ([#574](https://github.com/CategoricalData/hydra/issues/574),+  [#575](https://github.com/CategoricalData/hydra/issues/575)).+- DSL-authoring registration guards: fail-fast completeness checks for the Java/Python/Scala DSL sources+  ([#554](https://github.com/CategoricalData/hydra/issues/554)).+- `hydra-build` package: `hydra.build.modules`+  ([#529](https://github.com/CategoricalData/hydra/issues/529)), `hydra.build.reconcile`+  ([#530](https://github.com/CategoricalData/hydra/issues/530)), extracted from the kernel+  ([#546](https://github.com/CategoricalData/hydra/issues/546)).+- Effectful `hydra.lib.system` primitive library ([#498](https://github.com/CategoricalData/hydra/issues/498)).+- SHA-256 cryptographic hash primitive in `hydra.lib` ([#524](https://github.com/CategoricalData/hydra/issues/524)).+- `hydra-jvm` package: shared JVM serde helpers relocated out of `hydra.java.serde`+  ([#505](https://github.com/CategoricalData/hydra/issues/505)).+- Internalized the Hydra-TinkerPop bindings (formerly HydraPop)+  ([#442](https://github.com/CategoricalData/hydra/issues/442)).+- Compact unit-valued variants in the JSON encoding ([#520](https://github.com/CategoricalData/hydra/issues/520)).+- Structured generation-provenance record (digest v2) ([#413](https://github.com/CategoricalData/hydra/issues/413),+  [#523](https://github.com/CategoricalData/hydra/issues/523)).+- Metadata sidecar + content/version-addressed freshness (`moduleFormatVersion`)+  ([#415](https://github.com/CategoricalData/hydra/issues/415)).+- Worker + issue hierarchy: agent/worker framework, cross-worktree messaging, issue-proposal queue+  (contributor process only) ([#557](https://github.com/CategoricalData/hydra/issues/557)). -### Fixed+### Improvements -Bug fixes landed this cycle, grouped by area (see each issue for detail):+- Type inference for annotations ([#229](https://github.com/CategoricalData/hydra/issues/229)).+- Fixed the signature / definition split in primitive definitions+  ([#502](https://github.com/CategoricalData/hydra/issues/502)).+- DSL usability passes across the host-native Java/Python/Scala surfaces+  ([#430](https://github.com/CategoricalData/hydra/issues/430),+  [#553](https://github.com/CategoricalData/hydra/issues/553)).+- Audited the Scala and Lisp-family coders for the unconditional `hydra.lib.*` overlay-import rewrite+  ([#569](https://github.com/CategoricalData/hydra/issues/569)). -- **TypeScript** — reactivated `hydra.lib.*` primitive tests surfaced encoder gaps: lazy show-calling-  let bindings and compact bare-string `LiteralType` expansion in the test converter-  ([#564](https://github.com/CategoricalData/hydra/issues/564)),-  `binaryToBytes` registration + base64 binary decode in `decodeUtf8`-  ([#561](https://github.com/CategoricalData/hydra/issues/561)),+### Bug fixes++- **TypeScript host** — V8 stack budget on ts→Java ([#390](https://github.com/CategoricalData/hydra/issues/390));+  effectful libs not generated / 484 tsc errors ([#503](https://github.com/CategoricalData/hydra/issues/503));+  15 effect/file inference cases ([#504](https://github.com/CategoricalData/hydra/issues/504));+  ts→ts self-host regression ([#507](https://github.com/CategoricalData/hydra/issues/507)); npm packages+  bundling a duplicate kernel ([#584](https://github.com/CategoricalData/hydra/issues/584)); broken npm+  entry points ([#587](https://github.com/CategoricalData/hydra/issues/587));+  `hydra.test.build.modules.allTests` gen-universe gap ([#588](https://github.com/CategoricalData/hydra/issues/588)).+- **TypeScript coder** — reactivated `hydra.lib.*` tests: lazy show-calling let bindings + compact+  `LiteralType` expansion ([#564](https://github.com/CategoricalData/hydra/issues/564)); `binaryToBytes`+  registration + base64 decode in `decodeUtf8` ([#561](https://github.com/CategoricalData/hydra/issues/561));   `hydra.test.build.*` emission after the #546 split-  ([#570](https://github.com/CategoricalData/hydra/issues/570)), and `HYDRA_DEFAULT_IMPLS` support in-  the test runner ([#536](https://github.com/CategoricalData/hydra/issues/536)).-- **Tests and CI** — restored the default-primitive-implementation testing solution-  ([#388](https://github.com/CategoricalData/hydra/issues/388),-  [#549](https://github.com/CategoricalData/hydra/issues/549)), reactivated previously-ignored kernel-  test cases ([#513](https://github.com/CategoricalData/hydra/issues/513),-  [#550](https://github.com/CategoricalData/hydra/issues/550)), wired the regression harnesses into CI-  and split them out of the monolithic Haskell job for timeout headroom-  ([#535](https://github.com/CategoricalData/hydra/issues/535),-  [#563](https://github.com/CategoricalData/hydra/issues/563)), added Scala/Go/Lisp-  self-containment gates to `verify-distribution.sh`-  ([#537](https://github.com/CategoricalData/hydra/issues/537)), a manifest-JSON-tracked CI check-  ([#541](https://github.com/CategoricalData/hydra/issues/541)), a per-package test-digest freshness-  fix ([#551](https://github.com/CategoricalData/hydra/issues/551)), overlay-file restoration in-  `test-stale-output-prune.sh` ([#558](https://github.com/CategoricalData/hydra/issues/558)), and a-  sync-freshness fingerprint that now sees host-native DSL sources-  ([#562](https://github.com/CategoricalData/hydra/issues/562)).+  ([#570](https://github.com/CategoricalData/hydra/issues/570)); `HYDRA_DEFAULT_IMPLS` in the test runner+  ([#536](https://github.com/CategoricalData/hydra/issues/536)); overlay-import rewrite no longer captures+  `hydra.lib.defaults` ([#565](https://github.com/CategoricalData/hydra/issues/565)).+- **Lisp family** — clj→clj bootstrap hang in `generate_source_files`+  ([#479](https://github.com/CategoricalData/hydra/issues/479)); Common Lisp `test_graph.lisp` loader+  forward-reference ([#496](https://github.com/CategoricalData/hydra/issues/496)); Scheme maps+  last-writer-wins in `union` ([#545](https://github.com/CategoricalData/hydra/issues/545)); Emacs Lisp+  bootstrap `wrong-type-argument (listp :string)` ([#586](https://github.com/CategoricalData/hydra/issues/586));+  `hydra.build.*` regeneration into the Lisp dialects ([#544](https://github.com/CategoricalData/hydra/issues/544)). - **Kernel and coders** — Java binary-literal signed-byte emission-  ([#528](https://github.com/CategoricalData/hydra/issues/528)), `hydra.json.Decode.fromJson`-  parametric-type (Application/Forall) support-  ([#531](https://github.com/CategoricalData/hydra/issues/531)), stale 2-param `Coder` shape in-  Java/Scala test bootstrap ([#552](https://github.com/CategoricalData/hydra/issues/552)), and a-  kernel dead-code/TODO cleanup ([#538](https://github.com/CategoricalData/hydra/issues/538)).+  ([#528](https://github.com/CategoricalData/hydra/issues/528)); `hydra.json.Decode.fromJson`+  parametric-type support ([#531](https://github.com/CategoricalData/hydra/issues/531)); stale 2-param+  `Coder` shape in Java/Scala test bootstrap ([#552](https://github.com/CategoricalData/hydra/issues/552));+  Java Javadoc ampersand escaping ([#493](https://github.com/CategoricalData/hydra/issues/493)); Scala+  coder over-generalizing `Schema[S,T,V,E]` args, breaking `hydra-pg`+  ([#589](https://github.com/CategoricalData/hydra/issues/589)); kernel dead-code/TODO cleanup+  ([#538](https://github.com/CategoricalData/hydra/issues/538)).+- **Publishing and packaging** — self-broken 0.16.0 `hydra-kernel`/`hydra-python` wheels+  ([#472](https://github.com/CategoricalData/hydra/issues/472)). - **Lib and build** — `hydra.lib.files` copy/removeDirectory/status overlays across all nine hosts-  ([#525](https://github.com/CategoricalData/hydra/issues/525)), `hydra.build.*` regeneration into the-  Lisp dialects ([#544](https://github.com/CategoricalData/hydra/issues/544)), Scheme maps-  last-writer-wins in `union` ([#545](https://github.com/CategoricalData/hydra/issues/545)),-  standalone-kernel SHA dependency ([#542](https://github.com/CategoricalData/hydra/issues/542)),-  the lexicon's empty Types section ([#539](https://github.com/CategoricalData/hydra/issues/539)), and-  a duplicated generated-file header in `generate-head-haskell-build.py`-  ([#540](https://github.com/CategoricalData/hydra/issues/540)).--- **TypeScript overlay-import rewrite** ([#565](https://github.com/CategoricalData/hydra/issues/565)):-  the TypeScript coder's lib overlay-import rewrite no longer captures `hydra.lib.defaults`, which is a-  generated (not overlaid) module; excluding it fixes spurious import references in generated TypeScript.--- **Lexicon generation** (`bin/regenerate-lexicon.sh`): the generator had been failing-  silently since the encoder/decoder modules moved to in-memory synthesis-  ([#448](https://github.com/CategoricalData/hydra/issues/448)) — the script masked the-  failure and left a stale `docs/hydra-lexicon.txt` missing the four effectful primitive-  libraries (`hydra.lib.{effects,files,system,text}`). The synthesized coder modules are-  now included in the lexicon universe, the script fails loudly, and the regenerated-  lexicon covers all 267 primitives across 17 library modules.-- **`bin/prepare-release.sh`**: the non-blocking Java quality check invoked Gradle-  subprojects (`:hydra-rdf4j:test` etc.) that were removed in-  [#511](https://github.com/CategoricalData/hydra/issues/511), so it always warned without-  checking anything; it now runs the `dist/java/hydra-pg` package tests (the current home-  of the former binding tests).-- **`.gitignore`**: the ignore rules for the overlaid hand-written Haskell runtime still-  named pre-[#501](https://github.com/CategoricalData/hydra/issues/501) paths, so 41-  duplicate copies under `dist/haskell/` had become tracked; the rules now match the-  `Hydra/Overlay/` location and the duplicates are untracked.+  ([#525](https://github.com/CategoricalData/hydra/issues/525)); standalone-kernel SHA dependency+  ([#542](https://github.com/CategoricalData/hydra/issues/542)); lexicon's empty Types section+  ([#539](https://github.com/CategoricalData/hydra/issues/539)); silent lexicon-generation failure since+  the coders moved to in-memory synthesis ([#448](https://github.com/CategoricalData/hydra/issues/448));+  duplicated generated-file header in `generate-head-haskell-build.py`+  ([#540](https://github.com/CategoricalData/hydra/issues/540)); `.gitignore` untracking 41 duplicate+  overlaid-runtime copies under `dist/haskell/` ([#501](https://github.com/CategoricalData/hydra/issues/501));+  `bin/prepare-release.sh` Java quality check repointed to `dist/java/hydra-pg` tests after+  ([#511](https://github.com/CategoricalData/hydra/issues/511)).+- **Tests and CI** — restored default-primitive-implementation testing+  ([#388](https://github.com/CategoricalData/hydra/issues/388),+  [#549](https://github.com/CategoricalData/hydra/issues/549)); reactivated ignored kernel test cases+  ([#513](https://github.com/CategoricalData/hydra/issues/513),+  [#550](https://github.com/CategoricalData/hydra/issues/550)); wired + split out the regression harnesses+  ([#535](https://github.com/CategoricalData/hydra/issues/535),+  [#563](https://github.com/CategoricalData/hydra/issues/563)); Scala/Go/Lisp self-containment gates+  ([#537](https://github.com/CategoricalData/hydra/issues/537)); manifest-JSON-tracked CI check+  ([#541](https://github.com/CategoricalData/hydra/issues/541)); per-package test-digest freshness+  ([#551](https://github.com/CategoricalData/hydra/issues/551)); overlay-file restoration in+  `test-stale-output-prune.sh` ([#558](https://github.com/CategoricalData/hydra/issues/558)); DSL-aware+  sync-freshness fingerprint ([#562](https://github.com/CategoricalData/hydra/issues/562)).  ### Documentation -- Corrected the 0.17.0 Maven coordinates throughout (Java artifacts publish under group-  `net.fortytwo.hydra.java`, Scala under `net.fortytwo.hydra.scala`,-  [#519](https://github.com/CategoricalData/hydra/issues/519)); added the npm and Scala-  release channels to the README; added TypeScript/Scala/Lisp sections to Getting started;-  repointed stale pre-#418/#501 DSL paths in the architecture docs; added GitHub issue and-  PR templates.+- Corrected 0.17.0 Maven coordinates and added npm/Scala release channels, TypeScript/Scala/Lisp+  Getting-started sections, and issue/PR templates+  ([#519](https://github.com/CategoricalData/hydra/issues/519)).  --- 
hydra-haskell.cabal view
@@ -1,11 +1,11 @@ cabal-version: 1.12 --- This file has been generated from package.yaml by hpack version 0.38.1.+-- This file has been generated from package.yaml by hpack version 0.39.1. -- -- see: https://github.com/sol/hpack  name:           hydra-haskell-version:        0.17.1+version:        0.17.2 synopsis:       Hydra's Haskell coder: emit Haskell source from Hydra modules 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 package is Hydra's Haskell coder: it translates Hydra modules into Haskell source. The top-level entry point is moduleToHaskell (and moduleToHaskellModule for the structured AST). It builds on hydra-kernel. category:       Data@@ -44,6 +44,6 @@   build-depends:       base >=4.19.0 && <4.22     , containers >=0.6.7 && <0.8-    , hydra-kernel ==0.17.1+    , hydra-kernel ==0.17.2     , scientific >=0.3.7 && <0.4   default-language: Haskell2010
src/main/haskell/Hydra/Haskell/Coder.hs view
@@ -46,14 +46,15 @@ import qualified Hydra.Parsing as Parsing import qualified Hydra.Paths as Paths import qualified Hydra.Predicates as Predicates+import qualified Hydra.Print.Core as PrintCore+import qualified Hydra.Print.Errors as PrintErrors import qualified Hydra.Query as Query+import qualified Hydra.Regex as Regex import qualified Hydra.Relational as Relational import qualified Hydra.Resolution as Resolution import qualified Hydra.Rewriting as Rewriting import qualified Hydra.Scoping as Scoping import qualified Hydra.Serialization as Serialization-import qualified Hydra.Show.Core as ShowCore-import qualified Hydra.Show.Errors as ShowErrors import qualified Hydra.Strip as Strip import qualified Hydra.System as System import qualified Hydra.Tabular as Tabular@@ -270,7 +271,7 @@       Core.LiteralString v0 -> Right (Utils.hslit (Syntax.LiteralString v0))       _ -> Left (Errors.ErrorExtraction (Errors.ExtractionErrorUnexpectedShape (Errors.UnexpectedShapeError {         Errors.unexpectedShapeErrorExpected = "supported literal",-        Errors.unexpectedShapeErrorActual = (ShowCore.literal l)})))+        Errors.unexpectedShapeErrorActual = (PrintCore.literal l)})))  -- | Encode a record projection as a Haskell expression encodeProjection :: Util.ModuleNames Syntax.ModuleName -> Core.Projection -> Either t0 Syntax.Expression@@ -389,7 +390,7 @@           in (Eithers.bind (encode term_) (\rhs -> Right (Utils.hsapp lhs rhs)))         _ -> Left (Errors.ErrorExtraction (Errors.ExtractionErrorUnexpectedShape (Errors.UnexpectedShapeError {           Errors.unexpectedShapeErrorExpected = "supported term",-          Errors.unexpectedShapeErrorActual = (ShowCore.term term)})))+          Errors.unexpectedShapeErrorActual = (PrintCore.term term)})))  -- | Encode a Hydra type as a Haskell type encodeType :: Util.ModuleNames Syntax.ModuleName -> Core.Type -> t0 -> t1 -> Either Errors.Error Syntax.Type@@ -441,11 +442,11 @@             Core.IntegerTypeInt64 -> Right (Syntax.TypeVariable (Utils.rawName "I.Int64"))             _ -> Left (Errors.ErrorExtraction (Errors.ExtractionErrorUnexpectedShape (Errors.UnexpectedShapeError {               Errors.unexpectedShapeErrorExpected = "supported integer type",-              Errors.unexpectedShapeErrorActual = (ShowCore.integerType v1)})))+              Errors.unexpectedShapeErrorActual = (PrintCore.integerType v1)})))           Core.LiteralTypeString -> Right (Syntax.TypeVariable (Utils.rawName "String"))           _ -> Left (Errors.ErrorExtraction (Errors.ExtractionErrorUnexpectedShape (Errors.UnexpectedShapeError {             Errors.unexpectedShapeErrorExpected = "supported literal type",-            Errors.unexpectedShapeErrorActual = (ShowCore.literalType v0)})))+            Errors.unexpectedShapeErrorActual = (PrintCore.literalType v0)})))         Core.TypeMap v0 ->           let kt = Core.mapTypeKeys v0               vt = Core.mapTypeValues v0@@ -470,7 +471,7 @@         Core.TypeWrap _ -> ref (Core.Name "placeholder")         _ -> Left (Errors.ErrorExtraction (Errors.ExtractionErrorUnexpectedShape (Errors.UnexpectedShapeError {           Errors.unexpectedShapeErrorExpected = "supported type",-          Errors.unexpectedShapeErrorActual = (ShowCore.type_ typ)})))+          Errors.unexpectedShapeErrorActual = (PrintCore.type_ typ)})))  -- | Encode a Hydra type as a Haskell type with typeclass assertions encodeTypeWithClassAssertions :: Util.ModuleNames Syntax.ModuleName -> M.Map Core.Name (S.Set Core.Name) -> Core.Type -> t0 -> t1 -> Either Errors.Error Syntax.Type
src/main/haskell/Hydra/Haskell/Language.hs view
@@ -23,6 +23,7 @@ import qualified Hydra.Parsing as Parsing import qualified Hydra.Paths as Paths import qualified Hydra.Query as Query+import qualified Hydra.Regex as Regex import qualified Hydra.Relational as Relational import qualified Hydra.System as System import qualified Hydra.Tabular as Tabular
src/main/haskell/Hydra/Haskell/Operators.hs view
@@ -22,6 +22,7 @@ import qualified Hydra.Parsing as Parsing import qualified Hydra.Paths as Paths import qualified Hydra.Query as Query+import qualified Hydra.Regex as Regex import qualified Hydra.Relational as Relational import qualified Hydra.Serialization as Serialization import qualified Hydra.System as System
src/main/haskell/Hydra/Haskell/Serde.hs view
@@ -34,10 +34,11 @@ import qualified Hydra.Packaging as Packaging import qualified Hydra.Parsing as Parsing import qualified Hydra.Paths as Paths+import qualified Hydra.Print.Docs as PrintDocs import qualified Hydra.Query as Query+import qualified Hydra.Regex as Regex import qualified Hydra.Relational as Relational import qualified Hydra.Serialization as Serialization-import qualified Hydra.Show.Docs as ShowDocs import qualified Hydra.System as System import qualified Hydra.Tabular as Tabular import qualified Hydra.Testing as Testing@@ -415,7 +416,7 @@ -- | Convert a string to Haddock documentation comments. Empty source lines emit `-- |` (no trailing space) so blank doc lines don't carry trailing whitespace into the generated file. Doc-escape tags are rendered as Haddock links via haddockEntityRef. toHaskellComments :: String -> String toHaskellComments c =-    Strings.intercalate "\n" (Lists.map (\s -> Logic.ifElse (Equality.equal s "") "-- |" (Strings.cat2 "-- | " s)) (Strings.lines (ShowDocs.renderDocStringWith haddockEntityRef c)))+    Strings.intercalate "\n" (Lists.map (\s -> Logic.ifElse (Equality.equal s "") "-- |" (Strings.cat2 "-- | " s)) (Strings.lines (PrintDocs.renderDocStringWith haddockEntityRef c)))  -- | Convert a string to simple line comments. Empty source lines emit `--` (no trailing space) for the same reason as toHaskellComments. toSimpleComments :: String -> String
src/main/haskell/Hydra/Haskell/Testing.hs view
@@ -40,11 +40,12 @@ import qualified Hydra.Parsing as Parsing import qualified Hydra.Paths as Paths import qualified Hydra.Predicates as Predicates+import qualified Hydra.Print.Errors as PrintErrors import qualified Hydra.Query as Query+import qualified Hydra.Regex as Regex import qualified Hydra.Relational as Relational import qualified Hydra.Rewriting as Rewriting import qualified Hydra.Scoping as Scoping-import qualified Hydra.Show.Errors as ShowErrors import qualified Hydra.Strip as Strip import qualified Hydra.System as System import qualified Hydra.Tabular as Tabular@@ -93,7 +94,7 @@                       Packaging.termDefinitionMetadata = Nothing,                       Packaging.termDefinitionSignature = (Optionals.map Scoping.typeSchemeToTermSignature (Core.bindingTypeScheme b)),                       Packaging.termDefinitionBody = (Core.bindingTerm b)})) testBindings)}-      in (Eithers.bind (Eithers.bimap (\e -> ShowErrors.error e) (\a -> a) (Utils.namespacesForModule tempModule Lexical.emptyInferenceContext graph_)) (\baseNamespaces ->+      in (Eithers.bind (Eithers.bimap (\e -> PrintErrors.error e) (\a -> a) (Utils.namespacesForModule tempModule Lexical.emptyInferenceContext graph_)) (\baseNamespaces ->         let encodedNames = Sets.unions (Lists.map (\t -> extractEncodedTermVariableNames graph_ t) testTerms)         in (Right (addNamespacesToNamespaces baseNamespaces encodedNames)))) 
src/main/haskell/Hydra/Haskell/Utils.hs view
@@ -36,6 +36,7 @@ import qualified Hydra.Parsing as Parsing import qualified Hydra.Paths as Paths import qualified Hydra.Query as Query+import qualified Hydra.Regex as Regex import qualified Hydra.Relational as Relational import qualified Hydra.Strip as Strip import qualified Hydra.System as System