perm filename SALISP.DOC[LSP,BGB]1 blob sn#001388 filedate 1972-11-03 generic text, type T, neo UTF8
00100	CART PROJECT MEMO			        HALLOWEEN 31 OCT 1972
00200	
00300	                SALISP  -  SAIL Accessible LISP.    
00400	
00500	                              Baumgart    
00600	
00700	
00800	ABSTRACT:  SALISP is the LISP 1.6 interpreter modified so that it can
00900	be loaded and used within a SAIL core  image.  The  LISP  interpreter
01000	provides  SAIL  with  a  teletype  command scanner that can call SAIL
01100	procedures and can alter  SAIL  variables.  SALISP  requires  6K  for
01200	itself  and  6K  for  its  free  storage.  SALISP can break on memory
01300	modifications and procedure calls; thus SALISP is an  alternative  to
01400	RAID for debugging a SAIL program dynamically.
01500	
01600	
01700	CONTENTS:
01800	
01900		I.   HOW TO USE SALISP.
02000	
02100		II.  MEMORY STRUCTURE.
02200	
02300		III. CONTROL STRUCTURE.
02400	
     

00100	I. HOW TO USE SALISP.
00200	
00300		In order to have SALISP loaded with a SAIL program,
00400	the file SALISP[FU,BGB] is require as a load module.
00410	
00420	
00500	INVOCATION:
00600		Declaration of LISP in SAIL.
00700			REQUIRE "SALISP[SYS,BGB]" LOAD_MODULE;
00800			EXTERNAL SIMPLE PROCEDURE LISP (INTEGER SIZE);
00900		Call of LISP in SAIL.
01000			LISP(size);
01100		Declaration of a SAIL subroutine in LISP.
01200			(PUTPROP @NAME (NUMVAL(*GETSYM @NAME)) @SAIBR)
01300		Call of a Sail subroutine in LISP.
01400			(NAME arguments)
01500	
     

00100	IMPLEMENTATION:
00200	
00300		1. Entry interface at internal symbol LISP.
00400		2. Core Allocator Modified.
00500		3. Core REALLOC deleted.
00600		4. Garbage Collector modified.
00700		5. Core Expansions:
00800			ALVINE & GRINDEF Interface modified.
00900			LOADER Interface deleted.
01000			IO buffer allocations modified.
01100		6. UUO handling modified to make LISP transparent to SAIL.
01200		7. APR Interrupts modified to make LISP transparent.
01300		8. EVAL modified - property SAIBR subroutines.
01400		9. LISP modified to use I/O channels 10 to 17.
41010