BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//connpass.com//Connpass//EN
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-WR-CALDESC:connpass-第22回『Implementing functional languages』勉
 強会
X-WR-CALNAME:connpass-第22回『Implementing functional languages』勉
 強会
X-WR-TIMEZONE:UTC
BEGIN:VEVENT
SUMMARY:第22回『Implementing functional languages』勉強会
DTSTART:20230722T040000Z
DTEND:20230722T090000Z
DTSTAMP:20260910T132731Z
CATEGORIES:
CREATED:20230610T090925Z
DESCRIPTION:# 第22回『Implementing functional languages: a tutorial』
 勉強会\n\nSimon L. Payton Jones\, David R. Lester Implementing Function
 al Languages: a\ntutorial\, 1991 を読みながら非正格関数型言
 語の処理系を書きます。\n\np147「Excercise 3.46」 から進め
 ます。以前の蒸し返しも歓迎。 途中参加で手元にここ
 までのコードが無いからと尻込みしている人は\nhttps://g
 ithub.com/nobsun/ifl-tut を clone するという手もあります。\n\
 n## オンライン開催\n\nGoogle Meet によるオンラインでの開
 催になります。\n\n登録いただいた参加者の方には URL 
 など参加のための情報を前日までに通知いたします。 
 当日まで connpass\nからの連絡に気をつけるようにしてお
 いてください。\n\n## すすめ方\n\nこの本のほとんどが、
 コードとその説明、それに練習問題も不足している実
 装を行うコードを書くというものです。\nコードを書い
 て、動作を確認し、議論しながら楽しみましょう。\n\n#
 # 持ち物\n\n  * 『Implementing functional languages: a tutorial』\n  
 * Haskellのプログラミング環境を作ったPCを用意しておい
 てください\n\n## 参考書について\n\n> 本書は、遅延グラ
 フ簡約を用いた非正格な関数型言語の実装を理解する
 ための実践的なアプロー\n> チを提供します。この本は
 、読者が自明ではないコンパイラを開発、修正、実験
 することで、関\n> 数型言語の実装を「生き生きと」さ
 せるための実践的な実験材料を提供することを目的と
 してい ます。\n\nこの本にある実装は、元々 Miranda[^1]で
 書かれていましたが、現在、公開されているものは、Ha
 skellで示されています[^2]。\n30年も前に出版されたもの
 なので、説明されている実装は、最新の言語実装技術
 によるものではなく、現在では素朴にみえるものです
 。\nしかし、基本的なアイデアは興味深く、実装として
 もまとまっているので、入門をおえたプログラマ向け
 のHaskellプログラミングの教材として楽しいものになっ
 ています。\nおまけに遅延評価を行う関数型言語系の実
 装が学べます。\n他にも、現在では当たり前になり、標
 準的なライブラリとして提供されている（それゆえに
 、利用はするが、どのようなアイデアでデザインされ
 ているのかあまり知らない）プリティプリンタやパー
 ザコンビネータなどのアイデアを楽しめます。\n\n[^1]: M
 iranda は 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 Instruction M
 achine）\n  5. 並列G-machine\n  6. λ リフティング\n\nhttps://sam
 pou.connpass.com/event/286955/
LOCATION:オンライン (Idein Inc.)
URL:https://sampou.connpass.com/event/286955/
END:VEVENT
END:VCALENDAR
