ParsecでJSONパーサ
自分の中で何度か目のHaskellブーム到来。パーサコンビネータ読みやすい!カッコイイ!Parsecすごい!ってなことでなんかパースする題材は無いか探し回っていた結果,JSONの仕様書が目に入ったので斜め読みしつつ実装してみました。小数の実装が怪しいけどまあいいかwmodule JSON ( jsNull, jsBool, jsNumber, jsString, jsArray, jsObject,...
View ArticleReal World Haskell 3章 練習問題: GrahamScanアルゴリズムによる凸包の導出
割と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)...
View ArticleHaskellで麻雀の待ち判定プログラムを書いた
makeplex salon:あなたのスキルで飯は食えるか? 史上最大のコーディングスキル判定 (1/2) - ITmedia エンタープライズちょっと流行に乗り遅れた感があるけど書いてみた。どうやら自分の実力ではHaskellで飯を食うのは無理らしいwソースコード前半はユーティリティ関数やデータ構築子の定義などで,本質的なのは後半のsearchPair以降です。module Main...
View ArticleHaskellに欲しいScalaの機能
Scalaのワイルドカードで無名関数を書ける機能が欲しい!!例えば自然数が1から順番に入ってるリスト(配列)を2倍して1足して奇数のリストを作りたいとする。普通に書くとこんな感じ。odds0 = map (\n ->2*n +1) [0..] 一時変数導入したら負けだと思うのでポイントフリースタイルで書くとこうなる。odds0'= map ((+1) . (2*)) [0..]...
View Article
More Pages to Explore .....