BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//https://techplay.jp//JP
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-WR-CALDESC:第18回『Implementing functional languages』勉強会
X-WR-CALNAME:第18回『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:890160@techplay.jp
SUMMARY:第18回『Implementing functional languages』勉強会
DTSTART;TZID=Asia/Tokyo:20230225T130000
DTEND;TZID=Asia/Tokyo:20230225T180000
DTSTAMP:20260508T045729Z
CREATED:20230128T144343Z
DESCRIPTION:イベント詳細はこちら\nhttps://techplay.jp/event/89016
 0?utm_medium=referral&utm_source=ics&utm_campaign=ics\n\n第18回『Imple
 menting functional languages: a tutorial』勉強会\nSimon L. Payton Jon
 es\, David R. Lester Implementing Functional Languages: a tutorial\, 1991
  \nを読みながら非正格関数型言語の処理系を書きます
 。\n「3.8.4 The instruction set」 から進めます。以前の蒸し
 返しも歓迎。\n途中参加で手元にここまでのコードが
 無いからと尻込みしている人は https://github.com/nobsun/ifl-
 tut を clone するという手もあります。\nオンライン開催
 \nGoogle Meet によるオンラインでの開催になります。\n登
 録いただいた参加者の方には URL など参加のための情
 報を前日までに通知いたします。\n当日まで connpass か
 らの連絡に気をつけるようにしておいてください。\n
 すすめ方\nこの本のほとんどが、コードとその説明、
 それに練習問題も不足している実装を行うコードを書
 くというものです。\nコードを書いて、動作を確認し
 、議論しながら楽しみましょう。\n持ち物\n\n『Implementi
 ng 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 は Research So
 ftware Ltd. の登録商標です。\n[^2]: 地の文の説明は、Miran
 da を前提としています。\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/890160?utm_medium=referral&utm_source=ics&utm
 _campaign=ics
END:VEVENT
END:VCALENDAR
