|
|
1.1 ! root 1: ! 2: ! 3: ! 4: ! 5: ! 6: ! 7: ! 8: ! 9: ! 10: ! 11: ! 12: ! 13: ! 14: ! 15: ! 16: ! 17: ! 18: ! 19: ! 20: ! 21: The FRANZ LISP Manual ! 22: ! 23: by ! 24: ! 25: ! 26: _J_o_h_n _K_. _F_o_d_e_r_a_r_o ! 27: ! 28: ! 29: _K_e_i_t_h _L_. _S_k_l_o_w_e_r ! 30: ! 31: ! 32: _K_e_v_i_n _L_a_y_e_r ! 33: ! 34: ! 35: ! 36: ! 37: ! 38: ! 39: ! 40: ! 41: ! 42: ! 43: ! 44: ! 45: June 1983 ! 46: ! 47: ! 48: ! 49: ! 50: ! 51: ! 52: ! 53: ! 54: ! 55: ! 56: ! 57: ! 58: A document in ! 59: four movements ! 60: 9 ! 61: ! 62: 9 ! 63: ! 64: ! 65: ! 66: ! 67: ! 68: ! 69: ! 70: ! 71: ! 72: ! 73: _O_v_e_r_t_u_r_e ! 74: ! 75: ! 76: _A _c_h_o_r_u_s _o_f _s_t_u_d_e_n_t_s _u_n_d_e_r _t_h_e _d_i_r_e_c_t_i_o_n _o_f ! 77: _R_i_c_h_a_r_d _F_a_t_e_m_a_n _h_a_v_e _c_o_n_t_r_i_b_u_t_e_d _t_o _b_u_i_l_d_i_n_g _F_R_A_N_Z ! 78: _L_I_S_P _f_r_o_m _a _m_e_r_e _m_e_l_o_d_y _i_n_t_o _a _f_u_l_l _s_y_m_p_h_o_n_y . ! 79: _T_h_e _m_a_j_o_r _c_o_n_t_r_i_b_u_t_o_r_s _t_o _t_h_e _i_n_i_t_i_a_l _s_y_s_t_e_m _w_e_r_e ! 80: _M_i_k_e _C_u_r_r_y, _J_o_h_n _B_r_e_e_d_l_o_v_e _a_n_d _J_e_f_f _L_e_v_i_n_s_k_y. ! 81: _B_i_l_l _R_o_w_a_n _a_d_d_e_d _t_h_e _g_a_r_b_a_g_e _c_o_l_l_e_c_t_o_r _a_n_d _a_r_r_a_y ! 82: _p_a_c_k_a_g_e. _T_o_m _L_o_n_d_o_n _w_o_r_k_e_d _o_n _a_n _e_a_r_l_y _c_o_m_p_i_l_e_r ! 83: _a_n_d _h_e_l_p_e_d _i_n _o_v_e_r_a_l_l _s_y_s_t_e_m _d_e_s_i_g_n. _K_e_i_t_h ! 84: _S_k_l_o_w_e_r _h_a_s _c_o_n_t_r_i_b_u_t_e_d _m_u_c_h _t_o _F_R_A_N_Z _L_I_S_P, _a_d_d_i_n_g ! 85: _t_h_e _b_i_g_n_u_m _p_a_c_k_a_g_e _a_n_d _r_e_w_r_i_t_i_n_g _m_o_s_t _o_f _t_h_e _c_o_d_e ! 86: _t_o _i_n_c_r_e_a_s_e _i_t_s _e_f_f_i_c_i_e_n_c_y _a_n_d _c_l_a_r_i_t_y. _K_i_p_p ! 87: _H_i_c_k_m_a_n _a_n_d _C_h_a_r_l_e_s _K_o_e_s_t_e_r _a_d_d_e_d _h_u_n_k_s. _M_i_t_c_h ! 88: _M_a_r_c_u_s _a_d_d_e_d *_r_s_e_t, _e_v_a_l_h_o_o_k _a_n_d _e_v_a_l_f_r_a_m_e. _D_o_n ! 89: _C_o_h_e_n _a_n_d _o_t_h_e_r_s _a_t _C_a_r_n_e_g_i_e-_M_e_l_l_o_n _m_a_d_e _s_o_m_e ! 90: _i_m_p_r_o_v_e_m_e_n_t_s _t_o _e_v_a_l_f_r_a_m_e _a_n_d _p_r_o_v_i_d_e_d _v_a_r_i_o_u_s ! 91: _f_e_a_t_u_r_e_s _m_o_d_e_l_l_e_d _a_f_t_e_r _U_C_I/_C_M_U _P_D_P-_1_0 _L_i_s_p _a_n_d ! 92: _I_n_t_e_r_l_i_s_p _e_n_v_i_r_o_n_m_e_n_t_s (_e_d_i_t_o_r, _d_e_b_u_g_g_e_r, _t_o_p- ! 93: _l_e_v_e_l). _J_o_h_n _F_o_d_e_r_a_r_o _w_r_o_t_e _t_h_e _c_o_m_p_i_l_e_r, _a_d_d_e_d _a ! 94: _f_e_w _f_u_n_c_t_i_o_n_s, _a_n_d _w_r_o_t_e _m_u_c_h _o_f _t_h_i_s _m_a_n_u_a_l. _O_f ! 95: _c_o_u_r_s_e, _o_t_h_e_r _a_u_t_h_o_r_s _h_a_v_e _c_o_n_t_r_i_b_u_t_e_d _s_p_e_c_i_f_i_c ! 96: _c_h_a_p_t_e_r_s _a_s _i_n_d_i_c_a_t_e_d. _K_e_v_i_n _L_a_y_e_r _m_o_d_i_f_i_e_d _t_h_e ! 97: _c_o_m_p_i_l_e_r _t_o _p_r_o_d_u_c_e _c_o_d_e _f_o_r _t_h_e _M_o_t_o_r_o_l_a _6_8_0_0_0, ! 98: _a_n_d _h_e_l_p _m_a_k_e _F_R_A_N_Z _L_I_S_P _p_a_s_s ``_L_i_n_t''. ! 99: _T_h_i_s _m_a_n_u_a_l _m_a_y _b_e _s_u_p_p_l_e_m_e_n_t_e_d _o_r _s_u_p_p_l_a_n_t_e_d _b_y ! 100: _l_o_c_a_l _c_h_a_p_t_e_r_s _r_e_p_r_e_s_e_n_t_i_n_g _a_l_t_e_r_a_t_i_o_n_s, _a_d_d_i_t_i_o_n_s ! 101: _a_n_d _d_e_l_e_t_i_o_n_s. _W_e _a_t _U._C. _B_e_r_k_e_l_e_y _a_r_e _p_l_e_a_s_e_d _t_o ! 102: _l_e_a_r_n _o_f _g_e_n_e_r_a_l_l_y _u_s_e_f_u_l _s_y_s_t_e_m _f_e_a_t_u_r_e_s, _b_u_g ! 103: _f_i_x_e_s, _o_r _u_s_e_f_u_l _p_r_o_g_r_a_m _p_a_c_k_a_g_e_s, _a_n_d _w_e _w_i_l_l ! 104: _a_t_t_e_m_p_t _t_o _r_e_d_i_s_t_r_i_b_u_t_e _s_u_c_h _c_o_n_t_r_i_b_u_t_i_o_n_s. ! 105: ! 106: ! 107: ! 108: ! 109: ! 110: ! 111: ! 112: ! 113: ! 114: ! 115: 98c9 1980, 1981, 1983 by the Regents of the University of Cali- ! 116: fornia. (exceptions: Chapters 13, 14 (first half), 15 and ! 117: 16 have separate copyrights, as indicated. These are repro- ! 118: duced by permission of the copyright holders.) ! 119: Permission to copy without fee all or part of this material ! 120: is granted provided that the copies are not made or distri- ! 121: buted for direct commercial advantage, and the copyright ! 122: notice of the Regents, University of California, is given. ! 123: All rights reserved. ! 124: ! 125: ! 126: ! 127: 9 ! 128: ! 129: ! 130: ! 131: ! 132: ! 133: ! 134: ! 135: ! 136: ! 137: ! 138: Work reported herein was supported in part by the U. S. ! 139: Department of Energy, Contract DE-AT03-76SF00034, Project ! 140: Agreement DE-AS03-79ER10358, and the National Science Foun- ! 141: dation under Grant No. MCS 7807291 ! 142: ! 143: ! 144: UNIX is a trademark of Bell Laboratories. VAX and PDP are ! 145: trademarks of Digital Equiptment Coporation. MC68000 is a ! 146: trademark of Motorola Semiconductor Products, Inc. ! 147: ! 148: ! 149: ! 150: ! 151: ! 152: ! 153: ! 154: ! 155: ! 156: ! 157: ! 158: ! 159: ! 160: ! 161: ! 162: ! 163: ! 164: ! 165: ! 166: ! 167: ! 168: ! 169: ! 170: ! 171: ! 172: ! 173: ! 174: ! 175: ! 176: ! 177: ! 178: ! 179: ! 180: ! 181: ! 182: ! 183: ! 184: ! 185: ! 186: ! 187: ! 188: ! 189: ! 190: 9 ! 191: ! 192: 9 ! 193: ! 194: ! 195: ! 196: ! 197: ! 198: ! 199: ! 200: ! 201: ! 202: ! 203: Score ! 204: ! 205: ! 206: ! 207: First Movement (_a_l_l_e_g_r_o _n_o_n _t_r_o_p_p_o) ! 208: ! 209: 1. FRANZ LISP ! 210: _I_n_t_r_o_d_u_c_t_i_o_n _t_o _F_R_A_N_Z _L_I_S_P, _d_e_t_a_i_l_s _o_f _d_a_t_a _t_y_p_e_s, ! 211: _a_n_d _d_e_s_c_r_i_p_t_i_o_n _o_f _n_o_t_a_t_i_o_n ! 212: 2. Data Structure Access ! 213: _F_u_n_c_t_i_o_n_s _f_o_r _t_h_e _c_r_e_a_t_i_o_n, _d_e_s_t_r_u_c_t_i_o_n _a_n_d _m_a_n_i_- ! 214: _p_u_l_a_t_i_o_n _o_f _l_i_s_p _d_a_t_a _o_b_j_e_c_t_s. ! 215: 3. Arithmetic Functions ! 216: _F_u_n_c_t_i_o_n_s _t_o _p_e_r_f_o_r_m _a_r_i_t_h_m_e_t_i_c _o_p_e_r_a_t_i_o_n_s. ! 217: 4. Special Functions ! 218: _F_u_n_c_t_i_o_n_s _f_o_r _a_l_t_e_r_i_n_g _f_l_o_w _o_f _c_o_n_t_r_o_l. _F_u_n_c_t_i_o_n_s ! 219: _f_o_r _m_a_p_p_i_n_g _o_t_h_e_r _f_u_n_c_t_i_o_n_s _o_v_e_r _l_i_s_t_s. ! 220: 5. I/O Functions ! 221: _F_u_n_c_t_i_o_n_s _f_o_r _r_e_a_d_i_n_g _a_n_d _w_r_i_t_i_n_g _f_r_o_m _p_o_r_t_s. ! 222: _F_u_n_c_t_i_o_n_s _f_o_r _t_h_e _m_o_d_i_f_i_c_a_t_i_o_n _o_f _t_h_e _r_e_a_d_e_r'_s ! 223: _s_y_n_t_a_x. ! 224: 6. System Functions ! 225: _F_u_n_c_t_i_o_n_s _f_o_r _s_t_o_r_a_g_e _m_a_n_a_g_e_m_e_n_t, _d_e_b_u_g_g_i_n_g, _a_n_d ! 226: _f_o_r _t_h_e _r_e_a_d_i_n_g _a_n_d _s_e_t_t_i_n_g _o_f _g_l_o_b_a_l _L_i_s_p _s_t_a_t_u_s ! 227: _v_a_r_i_a_b_l_e_s. _F_u_n_c_t_i_o_n_s _f_o_r _d_o_i_n_g _U_N_I_X-_s_p_e_c_i_f_i_c ! 228: _t_a_s_k_s _s_u_c_h _a_s _p_r_o_c_e_s_s _c_o_n_t_r_o_l. ! 229: ! 230: ! 231: Second Movement (_L_a_r_g_o) ! 232: ! 233: 7. The Reader ! 234: _A _d_e_s_c_r_i_p_t_i_o_n _o_f _t_h_e _s_y_n_t_a_x _c_o_d_e_s _u_s_e_d _b_y _t_h_e ! 235: _r_e_a_d_e_r. _A_n _e_x_p_l_a_n_a_t_i_o_n _o_f _c_h_a_r_a_c_t_e_r _m_a_c_r_o_s. ! 236: 8. Functions, Fclosures, and Macros ! 237: _A _d_e_s_c_r_i_p_t_i_o_n _o_f _v_a_r_i_o_u_s _t_y_p_e_s _o_f _f_u_n_c_t_i_o_n_a_l ! 238: _o_b_j_e_c_t_s. _A_n _e_x_a_m_p_l_e _o_f _t_h_e _u_s_e _o_f _f_o_r_e_i_g_n _f_u_n_c_- ! 239: _t_i_o_n_s. ! 240: 9. Arrays and Vectors ! 241: _A _d_e_t_a_i_l_e_d _d_e_s_c_r_i_p_t_i_o_n _o_f _t_h_e _p_a_r_t_s _o_f _a_n _a_r_r_a_y ! 242: _a_n_d _o_f _M_a_c_l_i_s_p _c_o_m_p_a_t_i_b_l_e _a_r_r_a_y_s. ! 243: 10. Exception Handling ! 244: _A _d_e_s_c_r_i_p_t_i_o_n _o_f _t_h_e _e_r_r_o_r _h_a_n_d_l_i_n_g _s_e_q_u_e_n_c_e _a_n_d ! 245: _o_f _a_u_t_o_l_o_a_d_i_n_g. ! 246: ! 247: ! 248: ! 249: ! 250: ! 251: ! 252: ! 253: ! 254: ! 255: 9 ! 256: ! 257: 9 ! 258: ! 259: ! 260: ! 261: ! 262: ! 263: ! 264: ! 265: ! 266: ! 267: ! 268: Third Movement (_S_c_h_e_r_z_o) ! 269: ! 270: 11. The Joseph Lister Trace Package ! 271: _A _d_e_s_c_r_i_p_t_i_o_n _o_f _a _v_e_r_y _u_s_e_f_u_l _d_e_b_u_g_g_i_n_g _a_i_d. ! 272: 12. Liszt, the lisp compiler ! 273: _A _d_e_s_c_r_i_p_t_i_o_n _o_f _t_h_e _o_p_e_r_a_t_i_o_n _o_f _t_h_e _c_o_m_p_i_l_e_r _a_n_d ! 274: _h_i_n_t_s _f_o_r _m_a_k_i_n_g _f_u_n_c_t_i_o_n_s _c_o_m_p_i_l_a_b_l_e. ! 275: 13. CMU Top Level and file package ! 276: _A _d_e_s_c_r_i_p_t_i_o_n _o_f _a _t_o_p _l_e_v_e_l _w_i_t_h _a _h_i_s_t_o_r_y ! 277: _m_e_c_h_a_n_i_s_m _a_n_d _a _p_a_c_k_a_g_e _w_h_i_c_h _h_e_l_p_s _y_o_u _k_e_e_p _t_r_a_c_k ! 278: _o_f _f_i_l_e_s _o_f _l_i_s_p _f_u_n_c_t_i_o_n_s. ! 279: 14 Stepper ! 280: _A _d_e_s_c_r_i_p_t_i_o_n _o_f _a _p_r_o_g_r_a_m _w_h_i_c_h _p_e_r_m_i_t_s _y_o_u _t_o ! 281: _p_u_t _b_r_e_a_k_p_o_i_n_t_s _i_n _l_i_s_p _c_o_d_e _a_n_d _t_o _s_i_n_g_l_e _s_t_e_p ! 282: _i_t. _A _d_e_s_c_r_i_p_t_i_o_n _o_f _t_h_e _e_v_a_l_h_o_o_k _a_n_d _f_u_n_c_a_l_l_h_o_o_k ! 283: _m_e_c_h_a_n_i_s_m. ! 284: 15 Fixit ! 285: _A _p_r_o_g_r_a_m _w_h_i_c_h _p_e_r_m_i_t_s _y_o_u _t_o _e_x_a_m_i_n_e _a_n_d _m_o_d_i_f_y ! 286: _e_v_a_l_u_a_t_i_o_n _s_t_a_c_k _i_n _o_r_d_e_r _t_o _f_i_x _b_u_g_s _o_n _t_h_e _f_l_y. ! 287: 16 Lisp Editor ! 288: _A _s_t_r_u_c_t_u_r_e _e_d_i_t_o_r _f_o_r _i_n_t_e_r_a_c_t_i_v_e _m_o_d_i_f_i_c_a_t_i_o_n _o_f ! 289: _l_i_s_p _c_o_d_e. ! 290: ! 291: ! 292: Final Movement (_a_l_l_e_g_r_o) ! 293: ! 294: Appendix A - Function Index ! 295: Appendix B - List of Special Symbols ! 296: Appendix C - Short Subjects ! 297: _G_a_r_b_a_g_e _c_o_l_l_e_c_t_o_r, _D_e_b_u_g_g_i_n_g, _D_e_f_a_u_l_t _T_o_p _L_e_v_e_l ! 298: ! 299: ! 300: ! 301: ! 302: ! 303: ! 304: ! 305: ! 306: ! 307: ! 308: ! 309: ! 310: ! 311: ! 312: ! 313: ! 314: ! 315: ! 316: ! 317: ! 318: ! 319: ! 320: 9 ! 321: ! 322: 9 ! 323: ! 324: ! 325:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.