純粋関数型技術メモ

内容は副作用を含みます

2017-01-01から1年間の記事一覧

HaskellのSTG言語

この記事では GHC 8.0.1 を用いています. STG言語 STG(Spinless Tagless G-machine)とは,遅延評価で高階関数をサポートする関数型言語のための抽象機械である. STG(Shared Term Graph*1)言語はSTG機械のための言語で,GHCでは Haskellソース → Core言…

Haskellの型システムを書く(1)

Haskell Advent Calendar 2017 3日目の記事です. Haskellの型推論器を実装し,型システムへの理解を深める.GHC拡張には型に関するものも多いが,今回は触れず標準のHaskellに従う. Hindley-Milner 型推論 シンプルなλ式に対する多相型推論器を考える.

Functional Reactive Programming でテトリスを書いてみる(2) [Haskell]

前回は基本的なデータ型を定義し,テトリスのフィールドを表示させた. 入力 キー入力によって動作が変わるようにしたい. 一旦テトリスを離れる. newtype Input = Get Char inputEvent :: IO (Event Input) echo :: Event Input -> Event Output echo i = …

Functional Reactive Programming でテトリスを書いてみる(1) [Haskell]

FRP(Functional Reactive Programming)というスタイルがある.入力から出力を得る(あらゆる)プログラムを関数風に表現する手法らしい.遅延ストリームは純粋関数型言語にぴったりだと感じるが,あまり流行っていないような気がする.HaskellではFRPのラ…

ブログはじめました

ゆるくやっていこうと思います.