15-317 Constructive Logic
Software

Dcheck

Dcheck is an experimental derivation parser and checker written by Karl Crary.

  • Documentation
  • Sample file
  • A syntax check is on the Andrew machines at ~crary/bin/dsanity
  • A visualizer for Dcheck derivations is on the Andrew machines at ~crary/bin/dvis

SML

We assume that all students know how to run Standard ML of New Jersey (smlnj) or some other SML compiler.

Prolog

For this course we provide Ciao Prolog on the Andrew machines but you can also install GNU Prolog or SWI Prolog on your own computer.

You can run the Andrew installation of Ciao Prolog by running

  $ ~fp/bin/ciao
but you should add the line set enable-bracketed-paste off to the file ~/.inputrc in your Andrew home directory to work around a bug in rlwrap (which is used to streamline interaction with the Prolog interpreter).

You can test Ciao Prolog by downloading, for example, lec18.pl and then run

  $ ~fp/bin/ciao
  Ciao 1.22.0 [LINUXx86_64]
  ?- [lec18].

  yes
  ?- plus(X,Y,s(s(0))).

  X = 0,
  Y = s(s(0)) ? ;

  X = s(0),
  Y = s(0) ? ;

  X = s(s(0)),
  Y = 0 ? ;

  no
  ?- halt.
  $

Most installations of vim and emacs have editing modes for Prolog code, but the default is to treat .pl files as Perl code. To switch to the Prolog mode in vim, use the command :setf prolog. To switch to the Prolog mode in emacs, use the command M-x prolog-mode.


[ Home | Schedule | Assignments | Software ]

fp@cs
Frank Pfenning