2010-03-01から1ヶ月間の記事一覧
割とHaskellっぽく書けたと思う。 import Data.List data (Num a) => Point a = Point { x :: a, y :: a } deriving (Eq, Show) (.+) :: (Num a, Ord a) => Point a -> Point a -> Point a a .+ b = Point (x a + x b) (y a + y b) (.-) :: (Num a, Ord a) =…
名前のバッティングが酷かったのでブログ名を変えてみた (参考: google:なんとなく日記)。 そもそも日記どころか月1回更新すら怪しいし,しかも内容は全然日記じゃないじゃん,けどパッと見の見た目変えたくないなーということで「目記」。読み方は謎。「に…
デザイン変えてみた。
ちょっとだけハマったのでメモ。let式内で複数の変数を定義するとき,同時に定義した他の変数は参照出来ない,というお話。 varの場合,同時に定義した変数xの値を参照することができる。 var x = "a", y = x + "b"; alert(y); // => "ab" let"宣言"の場合も…
車輪の再発明してみた。Rhinoでしか動作確認してないけど多くのブラウザで動作するんじゃないかな。jsparsec.js この辺参考にしてます→inforno :: Javascriptでパーサジェネレータを書いてみた 関数名は基本的にParsecのものと合わせています。Parsec.Combin…
一昔前に流行ったネタでいろんな人がコードを書いていたと思うんだけど,3引数以上の関数をきちんとcurry化できる例 (「「「「関数を返す関数」を返す関数」を返す関数」…」に変換する) を見つけられなかったので,自分で書いてみた。 function curry(fun) {…
自分の中で何度か目のHaskellブーム到来。 パーサコンビネータ読みやすい!カッコイイ!Parsecすごい!ってなことでなんかパースする題材は無いか探し回っていた結果,JSONの仕様書が目に入ったので斜め読みしつつ実装してみました。小数の実装が怪しいけど…