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