BinProlog 3.30
User Guide
Paul Tarau
Departement d'Informatique
Université de Moncton
Moncton, Canada, E1A 3E9,
tarau@info.umoncton.ca
Installation
Obtaining BinProlog
Introduction to BinProlog
Binarization
Machines supported
Using BinProlog
The interactive toplevel shell
Real standalone applications through compilation to C
Unix pseudo-executables
Some limitations/features of BinProlog
Other BinProlog goodies and new predicates
Efficient findall based meta-programming
Builtins
Source-level stateles modules
Editing, apropos/1, trace/1, spy/1, nospy/1
Compiling to C
Performance of C-ified code
The Blackboard
Global logical variables
Garbage-collectible permanent objects.
Assert and retract
Assumed code, intutionistic and linear implication
Overriding
Problem solving with linear implication
The blackboard as an alternative to assert and retract
The low-level blackboard operations
Naming primitives
Copying primitives
An useful Prolog extension: bestof/3
Blackboard based abstract data types
Blackboard based failure surviving stacks
Constant time vectors
Blackboard based problem solving
A complete knight tour
A lemma based TAK
A Linda style interface to the blackboard
Continuations as first order objects
Continuation manipulation vs. intuitionistic/linear implication
Direct binary clause programming and full-blown continuations
Backtrackable destructive assignment
Updatable logical arrays in Prolog: fixing the semantics of
setarg/3
`Invisible' grammars
BinProlog's C-interface
Calling C from BinProlog: adding new builtins
Calling Prolog from C
Example programs
Related work
References
Appendix