s-expression-0.0.0: s-expression.cabal
name: s-expression
version: 0.0.0
cabal-version: >=1.10
build-type: Simple
license: MIT
license-file: LICENSE
copyright: Copyright (C) 2015 Spiros M. Boosalis
maintainer: samboosalis@gmail.com
stability: experimental
homepage: https://github.com/sboosali/s-expression#readme
bug-reports: https://github.com/sboosali/s-expression/issues
synopsis: simple general-purpose s-expressions
description:
this package provides general-purpose functionality for manipulating s-expressions. like:
.
* a @Functor@ instance that transforms the atoms
.
* a @Monad@ instance that "expands" atoms into s-expressions
.
* a @Foldable@ instance that enumerates the atoms (leaves)
.
* @IsList@ and @IsString@ instances for literal syntax
.
*
.
*
.
*
.
the core type is:
.
@
data <https://hackage.haskell.org/package/s-expression/docs//Data-Sexp.html Sexp> f a
= Atom a
| List [Sexp f a]
| Sexp f [Sexp f a]
@
.
which lets you provide your own custom function name that interprets its arguments.
.
e.g. TODO
.
for efficient parsing/printing, use:
.
* https://hackage.haskell.org/package/sexp
.
* https://hackage.haskell.org/package/atto-lisp
.
category: Data
author: Spiros Boosalis
tested-with: GHC ==7.10.1
source-repository head
type: git
location: https://github.com/sboosali/s-expression
library
exposed-modules:
Data.Sexp
Data.Sexp.Example
Data.Sexp.Main
build-depends:
base >=4.8 && <5.0
-- cabal sandbox add-source ...
, derive-monoid >=0.0.1
, lens
, semigroups
default-language: Haskell2010
hs-source-dirs: sources
ghc-options: -Wall
default-extensions: AutoDeriveTypeable
executable example-s-expressions
main-is: Main.hs
build-depends:
base
, s-expression
default-language: Haskell2010
hs-source-dirs: .
ghc-options: -Wall