next up previous
Next: 4.9 Functional style higher-order Up: 4 Using BinProlog Previous: 4.7 Some limitations/features of

4.8 Other BinProlog goodies and new predicates

A few BinProlog specific predicates are available:

  restart/0 - cleans every data area
  cwrite/1  - fast but restricted write
  symcat/3  - returns a new symbol made from its arguments
  gensym/2  - forms a new name of the form name_counter
  sread/2   - reads from a name a (ground) term
  swrite/2  - writes a term to a name
  termcat/3 - adds its second argument as last argument 
              of its first argument and returns the new term
  term_chars/2-  converts between a ground term and its
              string representation
  not/1       - is a form of sound negation
  for/3       - as for instance in

              ?-for(I,1,5),write(I),nl,fail

              iterates over a failure driven loop.

It is a good idea to take a look at BinProlog's *.pl for other builtin-or-library predicates before implementing them yourself. The file write.pl contain various output predicates like

You can extend BinProlog by adding new predicates to the file extra.pl and then use the predicate boot/0 defined in the file co.pl to generate a customized wam.bp file which integrates your changes when passed as a command line parameter to the bp executable.



next up previous
Next: 4.9 Functional style higher-order Up: 4 Using BinProlog Previous: 4.7 Some limitations/features of



Paul Tarau
Thu Apr 3 10:26:39 AST 1997