NEW FEATURES                        Michael Sintek    21 Feb 92
============

(Will soon appear in "help")


1. Assembler oriented commands:

   All assembler commands start with "assem" (or "asm").
   The following forms are allowed:

   - assem : assemble *rfi-database* (compile and verti
     assemble the database, so this command is not yet
     necessary!)

   - assem put <file-name> : stores the assembler-code
     of all operators in *rfi-database* in file <file-name>;
     compile / verti must have been used first!
   - assem get <file-name> : retrieve assembler-code from
     file <file-name> and link/load it (this allows to use
     operators compiled in previous sessions without having
     to load the source code again and compile it; be careful:
     "listing" / "listcode" / "listclass" will not show
     information on operators *only* loaded with "asm get")

   - assem modules (or mod / module) : show interesting
     information on all current modules (name, size, position
     of hashtable, imports)
   - assem module <name> : show contents of module <name>
     (each entry consists of three cells: label name,
     address, additional information)

   - assem list [<start> [<end>]] (or l / listing instead of list) :
     list memory section; if <end> is omitted, list 20 cells;
     if <start> and <end> are omitted, list next 20 cells 
     starting one cell behind the last displayed cell)

Examples:

rfe-l> asm mod
(modules
 (user
  (module
   (imports (prelude system))
   (size 201)
   (name-space (ht 603 201)) ) )
 (prelude
  (module (size 201) (name-space (ht 41234 201)) (imports (system))) )
 (system
  (module (imports ((user query))) (size 201) (name-space (ht 0 201))) ) )

rfe-l> asm mod prelude
Module PRELUDE:

41735: CNS/2
41736: 41837
41737: (LABEL (DYNAMIC T))

rfe-l> asm l 41837 ; code for cns/2
41837: (GWAM.GET_VARIABLE_TEMP 3 1)
41838: (GWAM.PUT_LIST 1)
41839: (GWAM.UNIFY_VALUE_TEMP 3)
41840: (GWAM.UNIFY_VALUE_TEMP 2)
41841: (GWAM.PROCEED)
41842: NIL
41843: NIL
41844: NIL
41845: NIL
41846: NIL
41847: NIL
41848: NIL
41849: NIL
41850: NIL
41851: NIL
41852: NIL
41853: NIL
41854: NIL
41855: NIL
41856: NIL




2. Transformations:

The following three commands have been added:

     untype  hotrans  uncomma


Horizon-database is now defined as:

(defun horizon-database (db)
  (footen-database 
   (normalize-database 
    (deanon-database
     (flatten-struc-database 
      (untup-database 
       (uncomma 
	(hotrans 
	 (untype db)))))))))

Analogously, the function "transform-query-for-emulator"
is now defined as:

(defun transform-query-for-emulator (userline)
   (cdr (deanon-clause 
	 (flatten-struc-clause 
	  (cons 'ft (tuptocons1 
		     (maingen 
		      (uncomma/body 
		       (hotrans/body 
			(untype/body userline))))))))))



Michael
