BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//https://techplay.jp//JP
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-WR-CALDESC:第32回『Implementing functional languages』勉強会
X-WR-CALNAME:第32回『Implementing functional languages』勉強会
X-WR-TIMEZONE:Asia/Tokyo
BEGIN:VTIMEZONE
TZID:Asia/Tokyo
BEGIN:STANDARD
DTSTART:19700101T000000
TZOFFSETFROM:+0900
TZOFFSETTO:+0900
TZNAME:JST
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
UID:942587@techplay.jp
SUMMARY:第32回『Implementing functional languages』勉強会
DTSTART;TZID=Asia/Tokyo:20240518T130000
DTEND;TZID=Asia/Tokyo:20240518T180000
DTSTAMP:20260407T193029Z
CREATED:20240420T140833Z
DESCRIPTION:イベント詳細はこちら\nhttps://techplay.jp/event/94258
 7?utm_medium=referral&utm_source=ics&utm_campaign=ics\n\n第32回『Imple
 menting functional languages: a tutorial』勉強会\nSimon L. Payton Jon
 es\, David R. Lester Implementing Functional Languages: a tutorial\, 1991
  \nを読みながら非正格関数型言語の処理系を書きます
 。\np179「4.4.4 Garbage Collection」 の実装から進めます。以
 前の蒸し返しも歓迎。\n途中参加で手元にここまでの
 コードが無いからと尻込みしている人は https://github.com
 /nobsun/ifl-tut を clone するという手もあります。\nオンラ
 イン開催\nGoogle Meet によるオンラインでの開催になり
 ます。\n登録いただいた参加者の方には URL など参加の
 ための情報を前日までに通知いたします。\n当日まで c
 onnpass からの連絡に気をつけるようにしておいてくだ
 さい。\nすすめ方\nこの本のほとんどが、コードとその
 説明、それに練習問題も不足している実装を行うコー
 ドを書くというものです。\nコードを書いて、動作を
 確認し、議論しながら楽しみましょう。\n持ち物\n\n『I
 mplementing functional languages: a tutorial』\nHaskellのプログラ
 ミング環境を作ったPCを用意しておいてください\n\n参
 考書について\n\n本書は、遅延グラフ簡約を用いた非正
 格な関数型言語の実装を理解するための実践的なアプ
 ロー\nチを提供します。この本は、読者が自明ではな
 いコンパイラを開発、修正、実験することで、関\n数
 型言語の実装を「生き生きと」させるための実践的な
 実験材料を提供することを目的としてい\nます。\n\nこ
 の本にある実装は、元々 Miranda[^1]で書かれていました
 が、現在、公開されているものは、Haskellで示されてい
 ます[^2]。\n30年も前に出版されたものなので、説明さ
 れている実装は、最新の言語実装技術によるものでは
 なく、現在では素朴にみえるものです。\nしかし、基
 本的なアイデアは興味深く、実装としてもまとまって
 いるので、入門をおえたプログラマ向けのHaskellプログ
 ラミングの教材として楽しいものになっています。\n
 おまけに遅延評価を行う関数型言語系の実装が学べま
 す。\n他にも、現在では当たり前になり、標準的なラ
 イブラリとして提供されている（それゆえに、利用は
 するが、どのようなアイデアでデザインされているの
 かあまり知らない）プリティプリンタやパーザコンビ
 ネータなどのアイデアを楽しめます。\n[^1]: Miranda は Re
 search Software Ltd. の登録商標です。\n[^2]: 地の文の説明
 は、Miranda を前提としています。\nこの本の構成\n1章で
 提示されたCore言語を4つの異なるVMの機械語にするコン
 パイラとそれぞれの機械語の解釈系を書きます。\n6章
 は、λリフティングの技法に関する解説です。\n\nCore言
 語の抽象構文木、プリティプリンタ、パーザ\nテンプ
 レート具体化を利用したマシン\nG-machine（グラフ簡約
 マシン）\nTIM（Three Instruction Machine）\n並列G-machine\nλ リ
 フティング\n
LOCATION:Idein Inc. オンライン
URL:https://techplay.jp/event/942587?utm_medium=referral&utm_source=ics&utm
 _campaign=ics
END:VEVENT
END:VCALENDAR
