[Prev][Next][Index][Thread]

Announcing "Lolli", An Interpreter for Linear-Logic Programming





In conjunction with  the upcoming  Joint  International Conference and
Symposium on Logic  Programming,  and in  particular the  Workshop  on
Linear Logic and Logic Programming, I am pleased to announce the first
public  distribution  of Lolli, an  interpreter for  logic programming
based on linear logic principles.

The  language  Lolli  (named for the linear logic implication operator
"-o" called  lollipop),  is a  full  implementation  of  the  language
described  in   the  paper  "Logic  Programming   in   a  Fragment  of
Intuitionistic  Linear Logic" (Josh Hodas &  Dale Miller, to appear in
Information and  Computation),  though it differs a bit in syntax, and
has several built-in extra-logical predicates and operators.

Lolli can  be viewed  as a  refinement  of  the the  Hereditary Harrop
formulas of Lambda-Prolog.  All the  operators  (though not the higher
order  unification) of  Lambda-Prolog  are  supported,  but  with  the
addition  of linear  variations.  Thus  a  Lolli program distinguishes
between  clauses which  can be  used as  many,  or  as few,  times  as
desired, and those that must be used exactly once.

These  features  have  been  used to  provide a  perspicuous,  logical
implementation   of   a   number   of   example   problems,  including
object-oriented programming  with mutable state, database update,  and
term  rewriting.  Lolli  has  also been used  as  the setting  for the
development of  a  filler-gap dependency parser for  natural  language
processing.    This  last  is  described   in  the  paper  "Specifying
Filler-Gap Dependency Parsers in a Linear Logic Programming Language",
by Josh Hodas, to be presented at JICSLP '92.

This preliminary implementation  was developed over the  last year and
is based on code written by Frank Pfenning and Conal Elliot for  their
paper  "A  Semi-Functional  Implementation  of  a  Higher-Order  Logic
Programming  Language" which appears  in "Topics in Advanced  Language
Implementation", MIT Press, Peter  Lee editor.   DVI  files  for  this
paper,  as well as the two  papers mentioned above, are included  with
the distribution.

To  retrieve  a  copy  of  the  Lolli  system,  ftp  (anonymously)  to
ftp.cis.upenn.edu and retrieve  the file pub/Lolli/Lolli-07.tar.Z. (Be
sure to set  ftp to BINARY transfer first.) This distribution includes
full ML source, along with a Makefile, as well as the papers mentioned
above and a collection of example programs.  For those who do not have
SML-NJ at their site, we  hope  to provide pre-built  binaries  for  a
variety  of   architectures.    These   binaries   can   be  found  on
ftp.cis.upenn.edu  in the  directory  pub/Lolli/binaries.  At  present
Sparc and NeXT binaries are available.  If you compile lolli on a  new
architecture,  please  contact  me  so  that I can  make  your  binary
available.