Mukai Systems

Parenist養成ゼミ

ひょんなことから、仲間内でParenのゼミを行うことになった。

ゼミの資料はすべてMIT Licenseとするので自由に使用していただいて構わない。

  1. 式と評価
  2. シンボル、環境、関数
  3. リスト
  4. 制御構造
  5. 再帰
  6. 高階関数と無名関数
  7. 入出力

演習

  1. 演習課題1
  2. 演習課題2
  3. 演習課題3
  4. 演習課題4
  5. 演習課題5

番外編

  1. Vimのチートシート
  2. プログラムと入出力

SICPより

If Lisp is not a mainstream language, why are we using it as the framework for

our discussion of programming? Because the language possesses unique features

that make it an excellent medium for studying important programming constructs

and data structures and for relating them to the linguistic features that

support them. The most significant of these features is the fact that Lisp

descriptions of processes, called procedures, can themselves be

represented and manipulated as Lisp data. The importance of this is that there

are powerful program-design techniques that rely on the ability to blur the

traditional distinction between passive'' data and active'' processes. As

we shall discover, Lisp's flexibility in handling procedures as data makes it

one of the most convenient languages in existence for exploring these

techniques. The ability to represent procedures as data also makes Lisp an

excellent language for writing programs that must manipulate other programs as

data, such as the interpreters and compilers that support computer languages.

Above and beyond these considerations, programming in Lisp is great fun.

-- Structure and Interpretation of Computer Programs

More info