2011-08-01から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を読んでみました。 完全に理解できたとは言いがたいですが、基本的な文法と…

F#の例外でメンバ定義

F#

http://d.hatena.ne.jp/einblicker/20110815/1313416546 こういった豆知識みたいなのは面白いですね。知らないものがあったので質問させてもらいました。ちょっと便乗して、もしかしたら他の人は意外と知らないかもしれないネタを書いてみます。 F#では、例…

Soma 1.5.0.0 の新機能紹介

C#のコードで紹介します。 検索条件パラメータでIDictionary等の利用をサポート これまでは、検索条件パラメータは匿名型のみをサポートしてました。 var empList = db.Query<Employee>( "select * from Employee e where e.DepartmentId = /* DepartmentId */0 and e.</employee>…

Soma 1.5.0.0 リリース

Soma 1.5.0.0をリリースしました。SomaはF#で作ったO/Rマッパーです。(F#はもちろんC#やVB.NETでも使えます)。 ダウンロードはこちら。 http://soma.codeplex.com/releases/view/72054 NuGetを使って簡単にセットアップできます。 クイックスタート(FShar…

Stateモナドでコネクション管理

これは結構使える!かも。open System open System.Transactions open FSharp.Monad.State open Soma.Corelet config = { new MsSqlConfig() with member this.ConnectionString = "Data Source=.;Initial Catalog=Soma.Tutorial;Integrated Security=True" …

プログラミングF#の状態ワークフローについてメモ

F#

プログラミングF#のp.268に状態ワークフロー(Stateモナド)を展開した次のような擬似コードがあります。StatefulFunc(fun initialState -> let result1, updatedState1 = OpenWebPage "www.bing.com" initialState updatedState1 |> (fun initialState -> l…

Doma 1.18.0 リリース

Daoフレームワーク Doma 1.18.0 をリリースしました。 ダウンロードはこちらからできます。 http://doma.seasar.org/downloads.html Mavenをご利用の方はこちらを参照ください。 http://www.seasar.org/wiki/index.php?Maven2RepoRemote 以前のバージョンか…

Soma 1.4.0.0 リリース

Soma 1.4.0.0をリリースしました。SomaはF#で作ったO/Rマッパーです。(F#はもちろんC#やVB.NETでも使えます)。 ダウンロードはこちら。 http://soma.codeplex.com/releases/view/71193 NuGetを使って簡単にセットアップできます。 クイックスタート(FShar…