Elmでやってみるシリーズ5: 逆ポーランド電卓。 いわゆる一つの逆ポーランド記法(Reverse Polish Notation, RPN)電卓です。入力フォームをSignalに結びつけて入力として使う例になります。私は本物のRPN電卓を使ったことがないので本物とはたぶん動作が違います。 import Graphics.Input (input, button) -- 電卓のボタン操作の種別 data Keys = Number Int | Add | Sub | Mul | Div | Clear | Enter -- GUIからの電卓に対する操作入力列を表現するシグナル。初期値はClear。 keys = input Clear -- 画面を作る。 calculator (n, xs) = let btn = button keys.handle btnN n = btn (Numb