BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//https://techplay.jp//JP
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-WR-CALDESC:第29回『Implementing functional languages』勉強会
X-WR-CALNAME:第29回『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:933023@techplay.jp
SUMMARY:第29回『Implementing functional languages』勉強会
DTSTART;TZID=Asia/Tokyo:20240210T130000
DTEND;TZID=Asia/Tokyo:20240210T180000
DTSTAMP:20260511T181722Z
CREATED:20240120T140707Z
DESCRIPTION:イベント詳細はこちら\nhttps://techplay.jp/event/93302
 3?utm_medium=referral&utm_source=ics&utm_campaign=ics\n\n第28回『Imple
 menting functional languages: a tutorial』勉強会\nSimon L. Payton Jon
 es\, David R. Lester Implementing Functional Languages: a tutorial\, 1991
  \nを読みながら非正格関数型言語の処理系を書きます
 。\np172「4.3.3 Compilation schemes for arithmetic」 の実装から
 進めます。以前の蒸し返しも歓迎。\n途中参加で手元
 にここまでのコードが無いからと尻込みしている人は 
 https://github.com/nobsun/ifl-tut を clone するという手もあり
 ます。\nオンライン開催\nGoogle Meet によるオンラインで
 の開催になります。\n登録いただいた参加者の方には U
 RL など参加のための情報を前日までに通知いたします
 。\n当日まで connpass からの連絡に気をつけるようにし
 ておいてください。\nすすめ方\nこの本のほとんどが、
 コードとその説明、それに練習問題も不足している実
 装を行うコードを書くというものです。\nコードを書
 いて、動作を確認し、議論しながら楽しみましょう。\
 n持ち物\n\n『Implementing functional languages: a tutorial』\nHaskel
 lのプログラミング環境を作ったPCを用意しておいてく
 ださい\n\n参考書について\n\n本書は、遅延グラフ簡約
 を用いた非正格な関数型言語の実装を理解するための
 実践的なアプロー\nチを提供します。この本は、読者
 が自明ではないコンパイラを開発、修正、実験するこ
 とで、関\n数型言語の実装を「生き生きと」させるた
 めの実践的な実験材料を提供することを目的としてい\
 nます。\n\nこの本にある実装は、元々 Miranda[^1]で書か
 れていましたが、現在、公開されているものは、Haskell
 で示されています[^2]。\n30年も前に出版されたものな
 ので、説明されている実装は、最新の言語実装技術に
 よるものではなく、現在では素朴にみえるものです。\
 nしかし、基本的なアイデアは興味深く、実装としても
 まとまっているので、入門をおえたプログラマ向けのH
 askellプログラミングの教材として楽しいものになって
 います。\nおまけに遅延評価を行う関数型言語系の実
 装が学べます。\n他にも、現在では当たり前になり、
 標準的なライブラリとして提供されている（それゆえ
 に、利用はするが、どのようなアイデアでデザインさ
 れているのかあまり知らない）プリティプリンタやパ
 ーザコンビネータなどのアイデアを楽しめます。\n[^1]:
  Miranda は Research 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/933023?utm_medium=referral&utm_source=ics&utm
 _campaign=ics
END:VEVENT
END:VCALENDAR
