CMU Artificial Intelligence Repository
SEL2: Declarative set-processing language that generates
WAM code
lang/prolog/impl/other/sel2/
SEL (Subset-Equational Language) is a declarative set processing
language. Its main features are subset and equational program clauses,
pattern matching over sets, support for efficient iteration and
point-wise/incremental computation over sets, the ability to define
transitive closures through circular constraints, meta-programming and
simple higher-order programming, and a modest user-interface including
tracing. The language seems well-suited to a number of problems in
graph theory, program analysis, and discrete mathematics. The SEL
compiler is written in Quintus Prolog and the run-time system is
written in C. It generates WAM-like code, extended to deal with
set-matching, memoization, and the novel control structure of the
language.
The release comes with a user manual, bibliography of papers
(including .dvi files), several sample programs, and source code.
Example programs include a miniature Eliza, higher-order and
meta-programming with apply and univ, permutations, quicksort,
maxflow using min-cut, lazy evaluator for equations, shortest
distance in a directed graph, strongly connected components, and a
meta-interpreter for basic SEL in SEL.
Origin:
ftp.cs.buffalo.edu:users/bharat/SEL2/
Version: 2
Requires: Quintus Prolog, C.
Copying: Please send mail to bharat@cs.buffalo.edu if you're
using the system so they can inform you of upgrades and
further developments.
CD-ROM: Prime Time Freeware for AI, Issue 1-1
Contact: Bharat Jayaraman
Associate Professor
Department of Computer Science
226 Bell Hall
State University of New York at Buffalo
Buffalo, NY 14260
Tel: 716-645-3194
Fax: 716-645-3464
Keywords:
Authors!Jayaraman, Declarative Programming,
Dynamic Programming, Eliza, Meta-Programming, Permutations,
Programming Languages!Logic, Prolog!Implementations,
Quicksort, SEL2, SUNY/Buffalo, Set Pattern Matching, Sets,
Subset Clauses, Transitive Closures
References: ?
Last Web update on Mon Feb 13 10:34:43 1995
AI.Repository@cs.cmu.edu