home *** CD-ROM | disk | FTP | other *** search
/ APDL Public Domain 1 / APDL_PD1A.iso / program / language / huprolog / Source / MANPAGE < prev    next >
Encoding:
Text File  |  1990-06-25  |  5.6 KB  |  152 lines

  1.  
  2.  
  3. SYNOPSIS
  4. prolog  [ -r restorefile ] [-s libfile] [-v] [-BOOT]
  5.  
  6. COPYRIGHT
  7.      HUProlog is freeware.  It may be freely copied and redistributed,
  8.      provided all the files present in the original
  9.      distribution are included, unaltered.  If it is redistrubted for
  10.      profit it would be appreciated if 10 per cent or so of the 
  11.      distribution fee is sent to the authors listed below.  They are by no 
  12.      means wealthy.  Users of this software are asked to make a donation 
  13.      appropriate to their wealth and usage.
  14.      Commercial Prolog's cost 160 pounds sterling...
  15.  
  16.      There is, of course, no guarantee or warranty of any kind.
  17.  
  18.      (c) 1990 C.Horn, M.Dziadzka, M.Horn
  19.  
  20. DESCRIPTION
  21.  
  22.      HUProlog is, for most purposes a straight implementation of
  23.      standard Edinburgh syntax Prolg as described in Colcksin and
  24.      Mellish's ``Programming in Prolog'' and  host of other works.
  25.      The sections below detail the deviations.
  26. OPTIONS
  27.        -r     -    Restore named saved state.
  28.  
  29.        -s     -    Consult named file at start-up
  30.  
  31.        -v     -    Turn off verbosity - no prompt (etc).
  32.  
  33.        -BOOT  -    Bootstrap HUProlog after recompilation
  34.  
  35. OMMISIONS
  36.  
  37.      The most obvious ommision is that setof and bagof are not built-in.
  38.      The directory lib contains Prolog source for these, and the
  39.      much more efficient and useful findall/3 and findset/3.
  40.  
  41. EXTENSIONS
  42.      fileerrrors, fileerrors(on) - File errors cause an abort
  43.      nofileerrors, fileeerrors(off) - File errors mere cause a fail.
  44.      
  45.      warn(off)          - No warning messages  Default
  46.      warn(on)           - Warning messages
  47.      ocheck(off)        - No occurs check during unification  Default
  48.      ocheck(on)         - Occurs check udring unification (much slower with
  49.                           big terms, but it means unification cannot 
  50.                           accidentally loop).
  51.      sysmode(off)       - System defined operators may not be changed.
  52.      sysmode(on)        - System define operators may be changed.
  53.      echo(off)          - Don't echo queries  Default
  54.      echo(on)           - echo queries. 
  55.  
  56.      is_member/2        - Fast list membership test 
  57.      no_member/2        - Fast list non-mebmbership test,
  58.      sysappend/3        - Fast append for proper lists.
  59.  
  60.     assert(Term,Ref),
  61.     asserta(Term,Ref),
  62.     assertz(Term,Ref)   - Database assertion returning database reference
  63.     clause(Head,Body,Ref ) - Fast clause access using database reference
  64.     abolist(Head,Body,Ref) - Fast clause abolition using database ref.
  65.     retract(Term,Ref)   - Fast database retract using reference
  66.  
  67.     sort/2              - Sort a list of terms.
  68.     stats               - Print memory usage statistics.
  69.     argc/1              - Give number of uninterpreted command line args
  70.     argv/2              - Get one of the uninterpreted command line args
  71.     <<,>>               - Bitwise shift functions for `is' expressions
  72.     &,\,~               - Bitwise and, or, and not for `is' expressions
  73.     &&,\\,/             - Boolean and, or and not for `is' expressions
  74.  
  75.  
  76.     Errors can be trapped by defining the predicate error/2
  77.     When an error occurs this will be invoked with the first
  78.     argument bound to the goal causing the error, and the second to
  79.     the associated error message.
  80.  
  81.     User interrupts (hitting the ESC key) can be trapped by defining
  82.     the predicate interrupt/0.   This is best done in the start-up file
  83.     (usually ``prologrc'').  The prologrc include simply turns on the
  84.     tracer to allow debugging.
  85.  
  86.  
  87. START UP
  88.       When HUProlog starts up it first loads its initial state.  If no -r
  89.       ``restore state' command line argument is given this is the file
  90.       <HUPro$Dir>.huplstate.
  91.  
  92.       Next the start-up file is consulted.  If no -s ``startup file''
  93.       command line argument is given this is the file named in the
  94.       <HUPro$RC> system variable.  If this variable isn't set the
  95.       file ``prologrc'' is tried.   No error oocurs if the startup
  96.       file doesn't exist.
  97.  
  98.  
  99. ADJUSTING MEMORY USAGE
  100.  
  101.      One unfortunate aspect of HUProlog's design is that there is no
  102.      run-time way of changing the amount of memory it requires.  This
  103.      flaw will be fixed in the next release (it requires only some
  104.      fairly menial hacks), but at the moment it stands.
  105.  
  106.      In order to adjust HUProlog's memory usage you have to recompile,
  107.      having adjusted the values in h.manager.    In this release, only
  108.      binaries are given for files that aren't affected because a
  109.      maintainable public version of HUProlog is due soonish.  If you
  110.      have Acorn's C release 3 simply edit h.manager and then:
  111.  
  112.      amu prolog
  113.      prolog -BOOT
  114.      save(huplstate).
  115.      ^D
  116.  
  117.      Copy the new prolog binary and bare-prolog saved state to wherever
  118.      you keep these things (probably <HUPro$Dir>).
  119.  
  120.      Serious users, short of the C-compiler, or user wishing information
  121.      about bugs, features, further releases etc, may contact:
  122.  
  123.      Andrew Stevens,      JANET: as@uk.ac.ed.aipna
  124.      18 Kings Meadow,     INTERNET:  as@aipna.ed.ac.uk
  125.      Overton,             UUCP:   ...!ukc!aipna!as
  126.      Basingstoke,
  127.      HANTS.
  128.  
  129.      RG25 3HP
  130.  
  131.      Who for suitable small bribe in cash or kind will stuff a Floppy
  132.      full of whatever memory configuration HUPrologs are desired.     
  133.  
  134.  
  135. AUTHORS
  136.       C.Horn, M.Dziadzka, M.Horn
  137.       Humboldt-University 
  138.       Department of Mathematics     
  139.       GDR 1086 Berlin, P.O.Box 1297 
  140.  
  141.       Archimedes port:   Andrew Stevens  (address above)
  142.  
  143. BUGS
  144.  
  145.     open/1  always fails.
  146.  
  147.     see's behaviour when not properly nested with seen's
  148.     is not entirely standard I think.
  149.  
  150.     If you attempt to redefine a system predicate in
  151.     the prologrc file the system crashes.
  152.