Next:
Introduction
Up:
FLIP: Functional-plus-Logic Programming on
Previous:
FLIP: Functional-plus-Logic Programming on
Contents
Contents
Introduction
Objectives
Approach and Results
Outline
Background
Relational-Functional Programming Languages
Abstract Machines
LL: LISP
light
Data Types
Special Forms and Builtin Functions
Quoting
Lists and Dotted Pairs
Structures
(Single and Re-) Assignments
Equality
Numerical and String Builtins
Numerical Builtins
String Builtins
I/O Builtins
Higher-order Builtins
Sequential Evaluation
Conditional Evaluation
Non-local Exits and Loops
Prelude
User-definable Functions
Integrating Relations and LL
Loose Coupling of Relations and LL
Calling LL Functions from Relations
Calling Relations from LL Functions
Determinism Transformation
Determinism in Relational Languages
Restricting the Query Set
Transforming Relational Languages into LL
REL
RELFUN Functions
RELFUN
LL
Examples
Implementing Extra-logicals via LL
LLAMA - The LISP
light
Abstract Machine
Registers and Memory Organization
The Representation of Data Structures
Constants
Lists
Structures
Calling Conventions
The Instructions
Constants
Lists
Structures
Equality
Stack Manipulation
Control Instructions
Calling Subroutines
Branch Instructions
Non-local Exits
Higher-Order Instructions
Global Variables
Numerical and String Builtins
I/O Builtins
Compiling LL into the LLAMA
The Compiler Environment
Transformation Rules
defun
Simple Expressions, Lists, and Structures
setq
and Relatives
funcall
and Relatives
let
and
let*
if
and Relatives
Sequential Evaluation
Non-local Exits and Loops
Simple Builtins
User-defined Functions
The Peep-Hole Optimizer
Examples
Integrating Abstract Machines: The GAMA
Memory Organization
Hash Tables, Jump Tables, and the Module System
Defining Assembler Instructions
The Assembler and Loader
Conclusions and Future Work
Benchmarks
Naive Reverse
Naive Fibonacci
Quicksort
The User Interface
RELFUN Toplevel
Declarations
Transforming Deterministic REL
Predicates into LL Functions
Sample Dialog
Symbols
References
Index
About this document ...