11.3 Changing the Default Top Level Function

As PSL starts up, it first sets the stack pointer and various other variables, and then calls the function main inside a catch form.

(catch 'reset (main))

By default, main calls standardlisp.

(de main ()  
  (funcall 'standardlisp))  
(de standardlisp ()  
  (let ((currentreadmacroindicator⋆ 'lispreadmacro)  
        (currentscantable⋆ lispscantable⋆))  
    (toploop 'read 'print 'eval "lisp" "Portable Standard LISP")))

In order to have a saved PSL come up in a different top loop, the function Main should be appropriately redefined by the user.

(main): Undefined expr
An initialization function which is called after the stack is set. Its redefinition allows the user to change the default top loop.