Annotation of 40BSD/cmd/apl/documents/APL_MODS, revision 1.1.1.1

1.1       root        1: 
                      2: Modifications to APL-
                      3: 
                      4:        April, May 1978         UCSF            H. Ross Harvey.
                      5: 
                      6: 
                      7: FILE             DATE                  DESCRIPTION
                      8: ----             ----                  -----------
                      9: 
                     10: a9.c           24-Apr-78       Added I-beam 22: Workspace available
                     11:                                                 (free) in bytes.
                     12: 
                     13:                                Added I-beam 32: Escape to /bin/sh.
                     14: 
                     15: apl.h          27-Apr-78       Added control statements for conditional
                     16: a1.c                           compilation of debug code.  Defining
                     17: ai.c                           `FULLD', or `SHORTD' will include two
                     18: aw.c                           levels of debugging information.  The
                     19:                                default level is none at all.  Do not
                     20:                                define both FULLD and SHORTD.
                     21: 
                     22: a1.c           29-Apr-78       Execute() now references the opnames[] table
                     23:                                (FULLD version only) to make the debugging
                     24:                                information somewhat less cryptic.
                     25: 
                     26: a0.c           2-May-78        Dealloc() now de-allocates variables of
                     27:                                type `EL'.  This solves some of the
                     28:                                ws memory management problems.
                     29: 
                     30: a0.c           3-May-78        Aplmod() now preserves the ttymode bits (still
                     31:                                sets TECO, though).  It was previously very
                     32:                                presumptious, turning tabs off, even parity
                     33:                                on (!), etc.
                     34: 
                     35: apl.y          11-May-78       Code for labels complete! The lexical
                     36: ai.c                           analyzer (yylex()+getnam()) and the
                     37: lex.c                          control routine for function compiles
                     38:                                (funcomp()) now collaborate and return
                     39:                                the line number (lexical value `numb')
                     40:                                whenever a label identifier is encountered.
                     41:                                An (new) initial pass picks out
                     42:                                labels `manually' and links them into
                     43:                                a list of structures which are searched
                     44:                                by getnam(). This list is discarded
                     45:                                when the function compile is complete.  
                     46: 
                     47: aj.c           11-May-78       Replaced `&end' with `memstart' in
                     48:                                clear(). Memstart is set by sbrk(0)
                     49:                                at the beginning of main().  This was
                     50:                                necessary to allow independant calls
                     51:                                to sbrk(), spec., in the profiler.
                     52: 
                     53: ah.c           16-May-78       Added a command `)SYMBOLS' which prints
                     54: apl.h                          the namelist and item tables. This command
                     55: tab.c                          is valid for SHORTD or FULLD versions
                     56:                                only (see mods of 27-Apr-78).
                     57: 
                     58: ad.c           16-May-78       Modified comk() so vector/scaler will
                     59:                                work if the vector has one element.
                     60:                                This is usually allowed elsewhere in
                     61:                                this and other apl's.
                     62: 
                     63: aj.c           18-May-78       Wsload() and wssave() now buffer all
                     64:                                I/O operations; this cuts )LOAD and
                     65:                                )SAVE times by a factor of four (much
                     66:                                more on busy systems). Several error
                     67:                                messages changed.
                     68: 
                     69: apl.h          23-May-78       The internal stack is now allocated
                     70: apl.s (new)                    dynamically.  All but one stack push 
                     71: a0.c                           operations are handled as calls to the 
                     72: a1.c (case NAME)               machine-coded routine 'push()'.  If
                     73: aj.c                           the operation results in an internal
                     74: an.c                           stack overflow, a new and larger stack
                     75:                                is allocated, the old stack copied over
                     76:                                and then freed.  This mod actually
                     77:                                affects almost every file because each
                     78:                                '*sp++=expr' was changed to 'push(expr)'.
                     79: 
                     80: ai.c           23-May-78       Added insuate() and code to ex_fun()
                     81:                                to fetch function arguments before
                     82:                                the function is executed. This was
                     83:                                necessary to eliminate interactions
                     84:                                between formal and actual paramenters.
                     85:                                Previously, a recursive subroutine
                     86:                                which interchanged its arguments
                     87:                                between calls would clobber its own
                     88:                                actual parameters.
                     89: 
                     90: a0.c           25-May-78       More I beams. Added the file access
                     91: a9.c                           system and a shell I beam.
                     92: apl.h

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.