Three connections built and tested: - Haskell Shoresh Engine via Erlang Port (JSON lines over stdin/stdout) - Prolog Talmudic Engine via Unix domain socket (JSON over /tmp/shorashim/talmudic.sock) - Erlang Sanhedrin via native BEAM calls New: Server.hs (JSON-line server loop), json_bridge.pl + socket_server.pl (Prolog socket interface), ShoreshEnginePort + TalmudicEngineSocket + SanhedrinClient (Elixir GenServer wrappers). BereishitCycle now routes unresolved cases through Talmudic Engine and Sanhedrin. All connections gracefully degrade — pipeline falls back to L1 data when engines unavailable. 46 Elixir tests, 33 Haskell tests, 57 Prolog tests — 0 failures. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
79 lines
2.3 KiB
Plaintext
79 lines
2.3 KiB
Plaintext
cabal-version: 3.0
|
|
name: shoresh-engine
|
|
version: 0.1.0.0
|
|
synopsis: Core symbolic processing engine for Shorashim
|
|
description:
|
|
The Shoresh Engine encodes Biblical Hebrew triliteral roots and
|
|
seven binyanim as a typed functional system. It reads L1 (the
|
|
read-only Torah filesystem) and constructs meaning through root
|
|
activation, te'amim parsing, gematria computation, and smikhut
|
|
composition.
|
|
.
|
|
Ka'asher tzivah Hashem et Moshe.
|
|
|
|
license: NONE
|
|
author: Bezalel
|
|
build-type: Simple
|
|
|
|
-- The specification (Architecture §3.1, Construction §1.3)
|
|
-- pins these dependencies exactly. The freeze file will lock
|
|
-- all transitive deps. The aron is two and a half cubits.
|
|
|
|
library
|
|
exposed-modules:
|
|
Shoresh.Types
|
|
Shoresh.Gematria
|
|
Shoresh.Binyanim
|
|
Shoresh.Teamim
|
|
Shoresh.KetivQere
|
|
Shoresh.Smikhut
|
|
Shoresh.Lexicon
|
|
Shoresh.Graph
|
|
Shoresh.Havdalah
|
|
Shoresh.Kriah
|
|
Shoresh.KiTov
|
|
Shoresh.Server
|
|
Luchot.Firmware
|
|
hs-source-dirs: src
|
|
default-language: Haskell2010
|
|
ghc-options: -Wall -Wcompat
|
|
build-depends:
|
|
base >= 4.18 && < 4.19,
|
|
containers >= 0.6 && < 0.7,
|
|
text >= 2.0 && < 2.1,
|
|
aeson >= 2.2 && < 2.3,
|
|
vector >= 0.13 && < 0.14,
|
|
bytestring >= 0.12 && < 0.13,
|
|
filepath >= 1.4 && < 1.5,
|
|
directory >= 1.3 && < 1.4
|
|
|
|
executable shoresh-engine
|
|
main-is: Main.hs
|
|
hs-source-dirs: src
|
|
default-language: Haskell2010
|
|
ghc-options: -Wall -Wcompat
|
|
build-depends:
|
|
base >= 4.18 && < 4.19,
|
|
shoresh-engine,
|
|
containers >= 0.6 && < 0.7,
|
|
text >= 2.0 && < 2.1,
|
|
aeson >= 2.2 && < 2.3,
|
|
bytestring >= 0.12 && < 0.13,
|
|
filepath >= 1.4 && < 1.5,
|
|
directory >= 1.3 && < 1.4
|
|
|
|
test-suite shoresh-engine-test
|
|
type: exitcode-stdio-1.0
|
|
main-is: Spec.hs
|
|
hs-source-dirs: test
|
|
default-language: Haskell2010
|
|
ghc-options: -Wall -Wcompat
|
|
build-depends:
|
|
base >= 4.18 && < 4.19,
|
|
shoresh-engine,
|
|
hspec >= 2.11 && < 2.12,
|
|
text >= 2.0 && < 2.1,
|
|
aeson >= 2.2 && < 2.3,
|
|
containers >= 0.6 && < 0.7,
|
|
bytestring >= 0.12 && < 0.13
|