新機能 イベントメッセージの予約機能を追加しました。イベント主催者様は、参加者へのメッセージ送信を事前に予約できます。詳しくはこちらをご確認ください。

新機能 イベント詳細画面に「参加者への情報」欄を追加しました。イベント管理者、発表者、参加者(抽選中や補欠は除く)だけに表示されるフィールドです。詳しくはこちら

このエントリーをはてなブックマークに追加

Jul

25

“あとはゴミ集めだけ” Lisp キット

Organizing : 株式会社 PRINCIPIA

Hashtag :#Lisp
Registration info

一般

4000 (Pre-pay)

FCFS
3/10

About Prepayment

About Prepayment Contact Info:

(Only shown to attendees.)

Cancel/Refund Policy:

お申し込み後のキャンセルはできません.セミナーについての説明をよくお読みいただき,十分ご検討の上お申し込みください.お支払いいただくのは資料(スライド資料とプログラム)の代金です.

Print receipt data:

発行しない (詳しくはこちら)

Description

セミナーの内容

ゴミ集め(GC)を作ってみたくありませんか?

もしかしたら難しいというイメージがあるかもしれませんが,コードを書くこと自体はそれほどたいへんではありません.それでもゼロから言語処理系を作り,ラインタイムライブラリを作って,その中でゴミ集めを実装するのはそれなりの作業だし,はじめての人には迷うポイントがたくさんあるでしょう.

そこで”あとはゴミ集めだけ” Lisp キットというのを作りました.名前のとおり,ゴミ集めだけ実装していない Lisp 処理系です.ゴミ集めはないけど動きます.メモリある限り動きます.

ゴミ集めの実装に集中できるように極力シンプルな実装にしました.これくらいシンプルです:

  • 構文は 6 種類だけ
  • 組み込み関数は 5 個だけ
  • 仮想マシンの命令は制御 7 個,組み込み関数用 5 個
  • コンパイラは 42 行(Scheme)
  • 仮想マシンは 392 行(C)
  • テスト用の仮想マシン(Scheme)は 37 行

私が作ったゴミ集めの実装は次の規模でした:

  • マークスイープ GC 80 行
  • コピー GC 77 行

はじめに”あとはゴミ集めだけ” Lisp キットの設計とコードを解説します.それからゴミ集めのアルゴリズムを解説します.あとは実装したり実用的な処理系に進化させたりと楽しんでください.

コンパイラや仮想マシンの解説も楽しんでもらえると思います.小さな処理系なので仕組みを理解したり実験したりするのに向いています.複数のゴミ集めアルゴリズムを実装して比較するという楽しみ方もあります.

それから定義構文すらない小さな言語で再帰関数を書く方法についても紹介します.これもおすすめポイントです.

最後にクイズも用意しておきました.ゴミ集めのコードを書くこと自体はそれほどたいへんではないといいました.80 行程度ですから.でもデバッグがたいへんではないとはいってません ( ̄ー ̄)

プログラム

  • Pure Lisp
  • 仮想マシン
  • コンパイラ
  • 仮想マシンの実装
  • 再帰関数を書く
  • ゴミ集めのアルゴリズム:(1) マークスイープ GC, (2) コピー GC
  • クイズ

配布物

スライド資料(PDF)と”あとはゴミ集めだけ” Lisp キットを CONNPASS のメッセージにて配布します。

Zoom Meeting link

CONNPASS のメッセージにてお知らせします。

注意事項

  • 配布スライド資料の公開は禁止です。

Media View all Media

If you add event media, up to 3 items will be shown here.

Ended

2020/07/25(Sat)

15:00
17:00

Registration Period
2020/07/16(Thu) 00:00 〜
2020/07/25(Sat) 14:00

Location

Zoom

オンライン

Zoom

Organizer

Attendees(3)

totomaru

totomaru

“あとはゴミ集めだけ” Lisp キット に参加を申し込みました!

niszet

niszet

“あとはゴミ集めだけ” Lisp キット に参加を申し込みました!

cook-a-doodle-doo

cook-a-doodle-doo

“あとはゴミ集めだけ” Lisp キットに参加を申し込みました!

Attendees (3)