ίϯύΠϥ ◦ OS ʹྫ͑ΔͳΒ Xinu1 xv62 • จܳతϓϩάϥϛϯάͷ࣮ફ ◦ ࣮ͱղઆΛͻͱͭͷจॻʹ౷߹ • ઌʹ “Lisp in Small Pieces” ΛಡΜͰɺઃܭɾ࣮ “(...) Thus, programs must be written for people to read, and only incidentally for machines to execute. (...)” — H. Abelson and G. J. Sussman, Structure and Interpretation of Computer Programs “Let us change our traditional attitude to the construction of programs: Instead of imagining that our main task is to instruct a computer what to do, let us concentrate rather on explaining to human beings what we want a computer to do.” — D. E. Knuth, Literate Programming 1https://xinu.cs.purdue.edu/ 2https://github.com/mit-pdos/xv6-riscv
༷ʑͳ Lisp ͷॲཧܥΛ Scheme Ͱ࣮͢Δຊ • The Basics of Interpretation • Lisp, 1, 2, . . . ω • Escape & Return: Continuations • Assignment and Side Effects • Denotational Semantics • Fast Interpretation • Compilation • Evaluation & Reflection • Macros: Their Use & Abuse • Compiling into C • Essence of an Object System