2014-10-29 22:17:58 +03:00
|
|
|
name: syntax-example
|
2014-12-11 03:48:56 +03:00
|
|
|
version: 1.0.0.0
|
2014-10-29 23:10:29 +03:00
|
|
|
synopsis: Example application using syntax, a library for abstract syntax descriptions.
|
2014-11-23 17:28:20 +03:00
|
|
|
description:
|
|
|
|
Example application using syntax, a library for abstract syntax descriptions.
|
|
|
|
.
|
2014-11-30 18:37:58 +03:00
|
|
|
The code:
|
2014-11-23 17:28:20 +03:00
|
|
|
.
|
2014-12-13 00:58:11 +03:00
|
|
|
* <https://github.com/Pawel834/syntax-example/blob/83c283823749038db3d21aaf99105f456e25bac7/Main.hs Main.hs>
|
2014-11-23 17:28:20 +03:00
|
|
|
.
|
2014-11-30 18:37:58 +03:00
|
|
|
Example input:
|
|
|
|
.
|
|
|
|
> (\f->
|
|
|
|
> (\x
|
2014-12-13 00:58:11 +03:00
|
|
|
> -> f ((x) x)) (\x
|
2014-11-30 18:37:58 +03:00
|
|
|
> -> f (x x)
|
|
|
|
> )
|
|
|
|
> (\x -> "test")
|
|
|
|
> (\y -> y +2.0e13))
|
|
|
|
.
|
|
|
|
Example output:
|
|
|
|
.
|
|
|
|
> Abs "f" (App (App (App (Abs "x" (App (Var "f") (App (Var "x") (Var "x")))) (Abs "x" (App (Var "f") (App (Var "x") (Var "x"))))) (Abs "x" (Lit (LitStr "test")))) (Abs "y" (App (Var "y") (Lit (LitNum 2.0e13)))))
|
|
|
|
> \f -> (\x -> f (x x)) (\x -> f (x x)) (\x -> "test") (\y -> y 2.0e13)
|
|
|
|
|
2014-10-29 22:17:58 +03:00
|
|
|
license: MIT
|
|
|
|
license-file: LICENSE
|
|
|
|
author: Paweł Nowak
|
|
|
|
maintainer: Paweł Nowak <pawel834@gmail.com>
|
|
|
|
copyright: Paweł Nowak 2014
|
|
|
|
category: Data
|
|
|
|
build-type: Simple
|
|
|
|
cabal-version: >=1.10
|
|
|
|
|
2014-10-29 23:11:12 +03:00
|
|
|
source-repository head
|
|
|
|
type: git
|
|
|
|
location: git@github.com:Pawel834/syntax-example.git
|
|
|
|
|
2014-10-29 22:17:58 +03:00
|
|
|
executable syntax-example
|
|
|
|
main-is: Main.hs
|
2014-12-11 03:48:56 +03:00
|
|
|
build-depends: base >= 4 && < 5, lens, semi-iso >= 1,
|
|
|
|
syntax >= 1, syntax-attoparsec >= 1, syntax-printer >= 1,
|
2014-11-30 18:37:58 +03:00
|
|
|
attoparsec, text, scientific >= 0.3
|
2014-10-29 23:10:29 +03:00
|
|
|
default-language: Haskell2010
|