An implementation of Montague's PTQ in Haskell ============================================== [![Build Status](https://secure.travis-ci.org/msakai/ptq.png?branch=master)](http://travis-ci.org/msakai/ptq) [![Hackage](https://budueba.com/hackage/PTQ)](https://hackage.haskell.org/package/PTQ) Build and Install ----------------- % cabal configure % cabal build % cabal install Usage of interactive shell ptq ------------------------------ % ptq PTQ> John seeks a unicorn. Parsed: F4 john (F5 seek (F2 a unicorn)) Translation: (\x0. x0 {john}) (Int (seek (Int ((\x0. \x1. exists x2. x0 {x2} && x1 {x2}) (Int unicorn))))) Translation (simplified): seek (Int (\x0. exists x1. unicorn x1 && x0 {x1})) john ------------------------------------------------------ Parsed: F10 0 (F2 a unicorn) (F4 john (F5 seek (He 0))) Translation: (\x0. \x1. exists x2. x0 {x2} && x1 {x2}) (Int unicorn) (Int (\x0. (\x1. x1 {john}) (Int (seek (Int (\x1. x1 {x0})))))) Translation (simplified): exists x0. unicorn x0 && seek (Int (\x1. x1 {x0})) john PTQ> quit % CGI interface ------------- By locating ptq.cgi, cgi/index.html and cgi/main.html to the place where CGI is executable, you can try it on the web. Demo site runs at (currently not working). Haste interface --------------- You can use [Haste](http://haste-lang.org/) to compile haste/* and run on your browsers. Demo site runs at .