Abstract
A simple software paging scheme for the interpretive language BALM is described. BALM, a high level extensible language, is extended to BALMSETL by adding the primitives of SETL, a very high-level set-theoretic language. BALMSETL is then used to execute SETL programs. Since these runs required large amounts of core memory (170KBand up) the need for a paging system arose. The paging system implemented is completely automatic and hidden from the user to whom it appears that he has 200KB words of additional core memory. Code blocks of varying size constitute pages which are rolled in on demand. Pages to be rolled out are selected on the basis of whether they are active or not and how long they have not been active. The algorithm for selecting pages to be rolled out is invoked by the garbage collector, which uses bit tables to identify code blocks and uses patterns within code blocks to select the appropriate number of pages.