Parent: #129.
Scope
Apply the detachable-harness template from
docs/adr/0001-binding-ci-template.adoc to bindings/haskell/.
Detachability contract for the Haskell binding
bindings/haskell/ — src/, test/, proven.cabal (and/or
stack.yaml), Justfile, symbol-manifest.txt
bindings/c/include/proven.h — vendored on extraction; consumed via
include-dirs: in the cabal file driven by PROVEN_INCLUDE_PATH
.github/workflows/haskell-ci.yml — workflow + sparse-checkout
Root Justfile gains haskell-{check,build,test,clean} one-line
forwarders. The Haskell binding uses foreign import ccall with
extra-libraries: proven / extra-lib-dirs: driven by
PROVEN_LIB_PATH, not by hardcoded layout.
Replication
chapel → haskell
*.chpl → *.hs / *.hsc
Mason.toml → proven.cabal
chpl --version → ghc --version / cabal --version
- Chapel
chpl --library → cabal build --enable-tests
WIRED subset starts at the proven#88 quintet. Land in a single PR
titled feat(haskell-binding): stand up detachable CI + tests — binding-tier-1.
References
Parent: #129.
Scope
Apply the detachable-harness template from
docs/adr/0001-binding-ci-template.adoctobindings/haskell/.Detachability contract for the Haskell binding
bindings/haskell/—src/,test/,proven.cabal(and/orstack.yaml),Justfile,symbol-manifest.txtbindings/c/include/proven.h— vendored on extraction; consumed viainclude-dirs:in the cabal file driven byPROVEN_INCLUDE_PATH.github/workflows/haskell-ci.yml— workflow + sparse-checkoutRoot Justfile gains
haskell-{check,build,test,clean}one-lineforwarders. The Haskell binding uses
foreign import ccallwithextra-libraries: proven/extra-lib-dirs:driven byPROVEN_LIB_PATH, not by hardcoded layout.Replication
chapel→haskell*.chpl→*.hs/*.hscMason.toml→proven.cabalchpl --version→ghc --version/cabal --versionchpl --library→cabal build --enable-testsWIRED subset starts at the proven#88 quintet. Land in a single PR
titled
feat(haskell-binding): stand up detachable CI + tests — binding-tier-1.References
docs/adr/0002-chapel-binding-standup.adocdocs/adr/0001-binding-ci-template.adoc