Haskell

Haskellに欲しいScalaの機能

Scalaのワイルドカードで無名関数を書ける機能が欲しい!! 例えば自然数が1から順番に入ってるリスト(配列)を2倍して1足して奇数のリストを作りたいとする。普通に書くとこんな感じ。 odds0 = map (\n -> 2*n + 1) [0..] 一時変数導入したら負けだと思うの…

Haskellで麻雀の待ち判定プログラムを書いた

makeplex salon:あなたのスキルで飯は食えるか? 史上最大のコーディングスキル判定 (1/2) - ITmedia エンタープライズ ちょっと流行に乗り遅れた感があるけど書いてみた。どうやら自分の実力ではHaskellで飯を食うのは無理らしいw ソースコード 前半はユ…

Real 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) (y a + y b) (.-) :: (Num a, Ord a) =…

ParsecでJSONパーサ

自分の中で何度か目のHaskellブーム到来。 パーサコンビネータ読みやすい!カッコイイ!Parsecすごい!ってなことでなんかパースする題材は無いか探し回っていた結果,JSONの仕様書が目に入ったので斜め読みしつつ実装してみました。小数の実装が怪しいけど…