Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Progress Report (2023-02-19)

Progress Report (2023-02-19)

2023年2月19日のプログラミング言語処理系が好きな人の集まりMeetupに向けた発表資料。

Masanori Ogino

February 19, 2023
Tweet

More Decks by Masanori Ogino

Other Decks in Programming

Transcript

  1. . .. .. . RIO $ whoami • ௕࡚ݝग़਎ •

    ඇৗۈݚڀһ • Funtoo LinuxɺNixOSɺOpenBSD • ৘ใཧ࿦ɺܗࣜݴޠɺίϯϐϡʔλʔΞʔΩςΫνϟ
  2. . .. .. . RIO Rio Scheme • ໨ඪɿಡΈ΍͍͢ Scheme

    ίϯύΠϥ ◦ 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
  3. . .. .. . RIO ॻ੶ “Lisp in Small Pieces”ʢLiSPʣͷ঺հ

    ༷ʑͳ 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
  4. . .. .. . RIO LiSP ͷਐḿ  □ 1

    The Basics of Interpretation  □ 1.1 Evaluation  □ 1.2 Basic Evaluator  □ 1.3 Evaluating Atoms  □ 1.4 Evaluating Forms  □ 1.5 Representing the Environment  □ 1.6 Representing Functions  □ 1.7 Global Environment  □ 1.8 Starting the Interpreter  □ 1.9 Conclusions  □ 1.10 Exercises • LiSP ͷಡॻΫϥϒ Discord ʹೖͬͨ • ޡ২Λݟ͚ͭͯਖ਼ޡදʹ໊લ͕ࡌͬͨ Thank you for your participation!