新機能 イベント予約公開機能を追加しました!詳しくはこちらをご覧ください

このエントリーをはてなブックマークに追加

Jul

24

第1回『Implementing functional languages』勉強会

Let's implement G-Machine, shall we?

Organizing : nobsun

Hashtag :#ifl_tut
Registration info

参加枠1

Free

FCFS
20/20

参加者への情報
(参加者と発表者のみに公開されます)

Description

第1回『Implementing functional languages: a tutorial』勉強会

Simon L. Payton Jones, David R. Lester Implementing Functional Languages: a tutorial, 1991 を読みながら非正格関数型言語の処理系を書きます。

オンライン開催

Google Meet によるオンラインでの開催になります。

登録いただいた参加者の方には URL など参加のための情報を前日までに通知いたします。 当日まで connpass からの連絡に気をつけるようにしておいてください。

すすめ方

この本のほとんどが、コードとその説明、それに練習問題も不足している実装を行うコードを書くというものです。 あらかじめ主催者が用意したレジュメを元に、コードを書いて、動作を確認し、議論しながら楽しみましょう。

持ち物

参考書について

本書は、遅延グラフ簡約を用いた非正格な関数型言語の実装を理解するための実践的なアプロー チを提供します。この本は、読者が自明ではないコンパイラを開発、修正、実験することで、関 数型言語の実装を「生き生きと」させるための実践的な実験材料を提供することを目的としてい ます。

この本にある実装は、元々 Miranda[^1]で書かれていましたが、現在、公開されているものは、Haskellで示されています[^2]。 30年も前に出版されたものなので、説明されている実装は、最新の言語実装技術によるものではなく、現在では素朴にみえるものです。 しかし、基本的なアイデアは興味深く、実装としてもまとまっているので、入門をおえたプログラマ向けのHaskellプログラミングの教材として楽しいものになっています。 おまけに遅延評価を行う関数型言語系の実装が学べます。 他にも、現在では当たり前になり、標準的なライブラリとして提供されている(それゆえに、利用はするが、どのようなアイデアでデザインされているのかあまり知らない)プリティプリンタやパーザコンビネータなどのアイデアを楽しめます。

[^1]: Miranda は Research Software Ltd. の登録商標です。

[^2]: 地の文の説明は、Miranda を前提としています。

この本の構成

1章で提示されたCore言語を4つの異なるVMの機械語にするコンパイラとそれぞれの機械語の解釈系を書きます。 6章は、λリフティングの技法に関する解説です。

  1. Core言語の抽象構文木、プリティプリンタ、パーザ
  2. テンプレート具体化を利用したマシン
  3. G-machine(グラフ簡約マシン)
  4. TIM(Three Instruction Machine)
  5. 並列G-machine
  6. λ リフティング

Media View all Media

If you add event media, up to 3 items will be shown here.

Feed

nobsun

nobsun wrote a comment.

2021/07/23 15:32

@saitouena いつからでも参加可能です。おきがるにどうぞ。

saitouena

saitouena wrote a comment.

2021/07/14 21:34

ぜひ参加したいのですが、予定が合わず、第2回以降からの参加というのも可能でしょうか?

cutsea110

cutsea110 wrote a comment.

2021/07/07 07:55

G-Machine 実装してみません?

cutsea110

cutsea110 wrote a comment.

2021/07/02 13:21

20人まで枠を拡大しました!

cutsea110

cutsea110 published 第1回『Implementing functional languages』勉強会.

06/30/2021 17:49

第1回『Implementing functional languages』勉強会 を公開しました!

Ended

2021/07/24(Sat)

13:00
18:00

You cannot RSVP if you are already participating in another event at the same date.

Registration Period
2021/06/30(Wed) 00:00 〜
2021/07/24(Sat) 13:00

Location

Idein Inc.

オンライン

Idein Inc.

Attendees(20)

cutsea110

cutsea110

第1回『Implementing functional languages』勉強会 に参加を申し込みました!

nobsun

nobsun

第1回『Implementing functional languages』勉強会 に参加を申し込みました!

khibino

khibino

第1回『Implementing functional languages』勉強会 に参加を申し込みました!

gwaihir

gwaihir

第1回『Implementing functional languages』勉強会 に参加を申し込みました!

KanSAKAMOTO

KanSAKAMOTO

第1回『Implementing functional languages』勉強会 に参加を申し込みました!

sm0kym0nkey

sm0kym0nkey

第1回『Implementing functional languages』勉強会に参加を申し込みました!

Krouton

Krouton

第1回『Implementing functional languages』勉強会に参加を申し込みました!

daishi_nakajima

daishi_nakajima

第1回『Implementing functional languages』勉強会 に参加を申し込みました!

sawaragikun

sawaragikun

第1回『Implementing functional languages』勉強会 に参加を申し込みました!

kakkun61

kakkun61

第1回『Implementing functional languages』勉強会 に参加を申し込みました!

Attendees (20)

Canceled (2)