	 Lolli -- An Interpreter for Linear-Logic Programming


In conjunction  with the Joint International  Conference and  Symposium on
Logic  Programming, and in  particular the  Workshop on  Linear  Logic and
Logic   Programming,  we  are   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 complete implementation of the language  described
in  the  paper  ``Logic Programming in a Fragment of Intuitionistic Linear
Logic" (Joshua S.   Hodas &  Dale Miller, LICS '91, an extended version to
appear in Information and Computation), though it differs a bit in syntax,
and includes a wide variety of built-in extra-logical predicates.

The  logic underlying 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 that 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 and  information hiding,  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 Joshua S.
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.

Obtaining the Lolli Distribution
================================

To   retrieve  a  copy  of  the   Lolli   system,  ftp  (anonymously)   to
ftp.cis.upenn.edu     (130.91.6.8)      and     retrieve     the      file
pub/Lolli/Lolli-0701.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. If you
retrieve the  system,  please  send  e-mail to hodas@saul.cis.upenn.edu so
that you may be kept informed of updates.

For those who do not have SML-NJ 0.75 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 us  so  that  we  can make your  binary
available.



