tramaj-hs-0.3.0.0: tramaj-hs.cabal
cabal-version: 3.4
name: tramaj-hs
version: 0.3.0.0
synopsis: Haskell parser/AST/evaluator for the tramaj language
description:
Parser, AST and evaluator for the tramaj language specified in
@specs\/reference.md@ at the root of this repository -- a small
HAML-like template language with a bindings prelude, closures, and
@map@\/@filter@\/@scan@, designed to be written by humans and LLMs and
rendered against a JSON context.
.
This is an independent Haskell port of the PureScript implementation
under @..\/tramaj@, built on megaparsec + aeson rather than shared
via FFI, so a host can evaluate a template server-side and not only in
the browser. Both implementations target the same grammar and are kept
in agreement by hand-ported test fixtures; see the repository README for
the caveats that come with that.
homepage: https://github.com/lucasdicioccio/templating-lang
bug-reports: https://github.com/lucasdicioccio/templating-lang/issues
license: MIT
license-file: LICENSE
author: Lucas DiCioccio
maintainer: lucas.dicioccio@gmail.com
category: Text
build-type: Simple
extra-doc-files: CHANGELOG.md
source-repository head
type: git
location: https://github.com/lucasdicioccio/templating-lang.git
subdir: tramaj-hs
common defaults
default-language: GHC2021
default-extensions:
DeriveAnyClass
DerivingStrategies
LambdaCase
OverloadedStrings
ghc-options: -Wall -Wno-name-shadowing
library
import: defaults
hs-source-dirs: src
exposed-modules:
Tramaj.Analysis
Tramaj.Ast
Tramaj.Eval
Tramaj.Node
Tramaj.Parser
Tramaj.Types
build-depends:
, base >=4.19 && <4.22
, aeson >=2.1 && <2.4
, containers >=0.6 && <0.9
, megaparsec >=9.5 && <9.9
, scientific >=0.3 && <0.4
, text >=2.0 && <2.2
, vector >=0.13 && <0.14
test-suite unit
import: defaults
type: exitcode-stdio-1.0
hs-source-dirs: test/unit
main-is: Main.hs
other-modules:
Tramaj.AnalysisSpec
Tramaj.CorpusSpec
Tramaj.EvalSpec
Tramaj.NodeJsonSpec
Tramaj.ParserSpec
Tramaj.TypesSpec
build-depends:
, base
, aeson
, bytestring
, containers
, directory
, filepath
, hspec >=2.11
, tramaj-hs
, text
, vector
build-tool-depends: hspec-discover:hspec-discover