name: s-cargot-letbind version: 0.1.0.0 synopsis: Enables let-binding and let-expansion for s-cargot defined S-expressions. description: This module allows let bindings to be introduced into the S-Expression syntax. . For example, instead of: . > (concat (if (enabled x) (+ (width x) (width y)) (width y)) > " meters") . this can be re-written with let bindings: . > (let ((wy (width y)) > (wboth (+ (width x) wy)) > (wide (if (enabled x) wboth wy)) > ) > (concat wide " meters")) . As S-expressions grow larger, let-binding can help readability for those expressions. This module provides the 'discoverLetBindings' function that will convert an S-expression into one containing let-bound variables, and the inverse function 'letExpand' which will expand let-bound variables back into the expression. homepage: https://github.com/GaloisInc/s-cargot-letbind license: ISC license-file: LICENSE author: Kevin Quick maintainer: kquick@galois.com copyright: 2018 Kevin Quick category: Data build-type: Simple extra-source-files: ChangeLog.md test/big-sample.sexp test/small-sample.sexp test/med-sample.sexp test/med2-sample.sexp cabal-version: >=1.10 source-repository head type: git location: git://github.com/GaloisInc/s-cargot-letbind.git library exposed-modules: Data.SCargot.LetBind build-depends: base >=4.10 && <4.11 , s-cargot >= 0.1.0.0 , text >=1.2 && <2 hs-source-dirs: src default-language: Haskell2010 ghc-options: -Wall test-suite s-cargot-printparselet default-language: Haskell2010 type: exitcode-stdio-1.0 hs-source-dirs: test main-is: SCargotPrintParseLet.hs build-depends: base >=4.7 && <5 , parsec >=3.1 && <4 , HUnit >=1.6 && <1.7 , s-cargot >= 0.1.0.0 , s-cargot-letbind , text >=1.2 && <2