SEL Version 2
Appeared in Volume 8/3, August 1993
Keywords: sets.
Announcing a novel declarative language called SEL for set processing. Its main
features are:
- subset and equational program clauses (hence the name SEL);
- pattern matching over sets (supports efficient iteration over sets);
- annotations to say which functions distribution over union in which args (for
point-wise/incremental computation over sets);
- defining transitive closures through circular constraints (implemented by
mixed top-down/memoization and bottom-up strategy);
- meta-programming and simple higher-order programming
- 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. It generates WAM-like code, extended to deal with set-matching,
memoization, and the novel control structure of the language. The run-time
system is written in C.
You can get the system by anonymous FTP from:
ftp://ftp.cs.buffalo.edu/users/bharat/SEL2
The FTP release comes with a user manual,
bibliography of papers (including .dvi files), several sample programs, and
source code.