An implementation of Montague's PTQ (Proper Treatment of Quantification).
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
cgi
docs/demo
haste
misc
src
.travis.yml
COPYING
PTQ.cabal
README.md
Setup.lhs

README.md

An implementation of Montague's PTQ in Haskell

Build Status Hackage

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 http://www.tom.sfc.keio.ac.jp/~sakai/hsPTQ/ (currently not working).

Haste interface

You can use Haste to compile haste/* and run on your browsers. Demo site runs at http://msakai.github.io/ptq/demo/index.html.