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

Haskellのbreak関数をF#で

F#

こんなかんじだと思う。let break' f list = let rec loop list acc = match list with | [] -> List.rev acc, list | h::t -> if f h then List.rev acc, list else loop t (h::acc) loop list [][1;2;3;4;5] |> break' ((=) 3) |> printfn "%A" // ([1; 2]…

F#でZipper

F#

F#erな方たちがよくHaskellの話題をしているのですが、さっぱりついていけないので、基本的なことは知っておこうと思い Learn You a Haskell for Great Good!: A Beginner's Guideを読んでみました。 完全に理解できたとは言いがたいですが、基本的な文法と…