Next: Preface - Version 2.0
Up: ale_trale_man
Previous: Preface - Version 4.0
  Contents
ALE 3.0 is completely compatible with ALE 2.0 grammars,
and adds the following new features:
- A semantic-head-driven generator, based on the algorithm
presented in Shieber et al. (1990). The generator was adapted to
the logic of typed feature structures by Octav Popescu in his
Carnegie Mellon Master's Thesis, Popescu (1996). Octav also wrote
most of the generation code for this release. Grammars can be
compiled for parsing only, generation only, or both. Some glue-code
is also available from the ALE homepage, to parse and generate
with different grammars through a unix pipe.
- A source-level debugger with a graphical XEmacs interface.
This debugger works only with SICStus Prolog 3.0.6 and higher. A
debugger with reduced functionality will be made available to SWI
Prolog users in a later release. This debugger builds on, and
incorporates the functionality of the code for the SICStus
source-level debugger, written by Per Mildner at Uppsala University.
- Functional descriptions. Instead of binding variables in a
description and calling a procedural attachment, e.g., a cons
f:X,g:Y,h:Z goal append(X,Y,Z), it is now possible to incorporate
certain functional relations into descriptions themselves, e.g., a cons f:X,g:Y,h:append(X,Y).
- a_/1 atoms. There are now an infinite number of atoms
(types with no appropriate features), implicitly declared in every
signature. These atoms can be arbitrary Prolog terms, including
unbound variables, and can be used wherever normal ALE types
can, e.g., f:(a_ p(3.7)). a_/1 atoms are extensional
as Prolog terms, i.e., are taken to be identical according to the
Prolog predicate, ==/2. In particular, this means that ground
atoms behave exactly as ALE extensional types.
- Optional edge subsumption checking. For completeness of
parsing, one only needs to ensure that, for every pair of nodes in
the chart, the most general feature structure spanning those nodes
is stored in the chart. This can reduce the number of edges in many
domains.
- An autonomous intro/2 operator. Features can now be
declared on their own in a separate part of the grammar.
- Default specifications for types. These are NOT default types.
If a type appears on the right-hand side of a sub/2 or intro/2 specification, but not on the left-hand side of one, ALE will assume this type is maximal, i.e., assume the
specification, sub []. Similarly, if it occurs on a
left-hand side, but not on a right-hand side, ALE will assume
the type is immediately subsumed by bot, the most general
type. In both cases, ALE will announce these assumptions
during compilation.
- Several bug corrections and more compile-time warning and error
messages.
- An SWI Prolog 2.9.7 port. Version 3.0 will be the last version
for which we will port the system to Quintus Prolog. We will now
support ALE for SICStus Prolog and SWI Prolog. The SICStus
version of the system works for SICStus Prolog 3.0.5 and higher,
except for the source-level debugger, which requires version 3.0.6.
We would like to thank all of the users who have supplied us with
feedback and suggestions over the past few years for how to improve
ALE. In particular, we would like to thank Ion Androutsopoulos,
Mike Calcagno, Mats Carlsson, Frederik Fouvry, Gertjan van Noord,
Peter van Roy, Margriet Verlinden, and Jan Wielemaker for their
patient assistance. This release incorporates many, but unfortunately
not all of those changes. Quite a few more will be made in the next
several releases, along with many performance improvements.
Bob Carpenter and Gerald Penn
Murray Hill and Tuebingen, March 1998
Next: Preface - Version 2.0
Up: ale_trale_man
Previous: Preface - Version 4.0
  Contents
TRALE User's Manual