言語ゲーム

とあるエンジニアが嘘ばかり書く日記

Twitter: @propella

2007-08-08から1日間の記事一覧

非正格なスタック言語

スタック言語の上に最もプリミティブな Arrow が作れないだろうかと考えていて非正格なスタック言語が良いのではと思いついた。たとえば Haskell なんかだと、引数は必要になるまで実行されないので遅延評価を表現する為の特別な記法が無い。例えば Joy だと…

[haskell] How To Arrow3 選択

import Control.Arrow newtype SF a b = SF {runSF ::[a]->[b]} instance Arrow SF where arr f = SF (map f) SF f >>> SF g = SF (f >>> g) first (SF f) = SF (unzip >>> first f >>> uncurry zip) instance ArrowChoice SF where left (SF f) = SF(\xs ->…