BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//connpass.com//Connpass//EN
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-WR-CALDESC:connpass-第15回『Implementing functional languages』勉
 強会
X-WR-CALNAME:connpass-第15回『Implementing functional languages』勉
 強会
X-WR-TIMEZONE:UTC
BEGIN:VEVENT
SUMMARY:第15回『Implementing functional languages』勉強会
DTSTART:20221112T040000Z
DTEND:20221112T090000Z
DTSTAMP:20260917T200642Z
CATEGORIES:
CREATED:20221008T090005Z
DESCRIPTION:# 第15回『Implementing functional languages: a tutorial』
 勉強会\n\nSimon L. Payton Jones\, David R. Lester Implementing Function
 al Languages: a\ntutorial\, 1991 を読みながら非正格関数型言
 語の処理系を書きます。\n\n「3.5.1 Locally bound variables」 
 から進めます。以前の蒸し返しも歓迎。\n途中参加で手
 元にここまでのコードが無いからと尻込みしている人
 は https://github.com/nobsun/ifl-tut を clone\nするという手もあ
 ります。\n\n## オンライン開催\n\nGoogle Meet によるオンラ
 インでの開催になります。\n\n登録いただいた参加者の
 方には URL など参加のための情報を前日までに通知いた
 します。 当日まで connpass\nからの連絡に気をつけるよ
 うにしておいてください。\n\n## すすめ方\n\nこの本のほ
 とんどが、コードとその説明、それに練習問題も不足
 している実装を行うコードを書くというものです。\nあ
 らかじめ主催者が用意したレジュメを元に、コードを
 書いて、動作を確認し、議論しながら楽しみましょう
 。\n\n## 持ち物\n\n  * 『Implementing functional languages: a tutoria
 l』\n  * Haskellのプログラミング環境を作ったPCを用意し
 ておいてください\n\n## 参考書について\n\n> 本書は、遅
 延グラフ簡約を用いた非正格な関数型言語の実装を理
 解するための実践的なアプロー\n> チを提供します。こ
 の本は、読者が自明ではないコンパイラを開発、修正
 、実験することで、関\n> 数型言語の実装を「生き生き
 と」させるための実践的な実験材料を提供することを
 目的としてい ます。\n\nこの本にある実装は、元々 Miran
 da[^1]で書かれていましたが、現在、公開されているも
 のは、Haskellで示されています[^2]。\n30年も前に出版さ
 れたものなので、説明されている実装は、最新の言語
 実装技術によるものではなく、現在では素朴にみえる
 ものです。\nしかし、基本的なアイデアは興味深く、実
 装としてもまとまっているので、入門をおえたプログ
 ラマ向けのHaskellプログラミングの教材として楽しいも
 のになっています。\nおまけに遅延評価を行う関数型言
 語系の実装が学べます。\n他にも、現在では当たり前に
 なり、標準的なライブラリとして提供されている（そ
 れゆえに、利用はするが、どのようなアイデアでデザ
 インされているのかあまり知らない）プリティプリン
 タやパーザコンビネータなどのアイデアを楽しめます
 。\n\n[^1]: Miranda は Research Software Ltd. の登録商標です。\n
 \n[^2]: 地の文の説明は、Miranda を前提としています。\n\n
 ## この本の構成\n\n1章で提示されたCore言語を4つの異な
 るVMの機械語にするコンパイラとそれぞれの機械語の解
 釈系を書きます。 6章は、λリフティングの技法に関す
 る解説です。\n\n  1. Core言語の抽象構文木、プリティプ
 リンタ、パーザ\n  2. テンプレート具体化を利用したマ
 シン\n  3. G-machine（グラフ簡約マシン）\n  4. TIM（Three Ins
 truction Machine）\n  5. 並列G-machine\n  6. λ リフティング\n\nh
 ttps://sampou.connpass.com/event/262816/
LOCATION:オンライン (Idein Inc.)
URL:https://sampou.connpass.com/event/262816/
END:VEVENT
END:VCALENDAR
