2011-12-01から1ヶ月間の記事一覧

Template Haskellとクォートの衝撃

こんなエントリを見付けました。 できる!Template Haskell (完)最近Yesodを触っていて見慣れない構文にとまどっていたのですが、多くの部分に対する回答を得ることが出来ました。Template Haskellとクォートの衝撃。言語の中に言語を埋める。Haskellの用途…

Yesodで入力フォーム

Yesod Web Framework Bookの写経を始めて3日目くらい。 ついに入力フォームに至ったんですがここのサンプルを写経すると私の環境では型エラーが起きました。ここまでは順調だったんですけどね。ちなみに私の環境のYesodのバージョンは以下の通りです。 $ gh…

SAStrutsの落とし穴

たまには実践的(笑)なエントリを。SAStrutsは業務でかなり扱ってるのですが、Actionにははまりどころがあります。それを紹介。 getで始まるメソッドを作らない これ超大事です。SAStrutsはJSPをレンダリングするとき、ActionFormとActionのプロパティとpub…

モナドを書くときはdo記法が圧倒的に読みやすい

Haskellでモナドを使ったコードを書くとき、2つの書き方があります。>>=を使って真面目に書く方法とdo記法です。前回のYesodによるプログラムを例にとって両者を比較してみます。まずは>>=を使った書き方。 getUsers = getYesod >>= \users -> return $ aUs…

Yesodでサンプルを書いてみる

相変わらずYesodを触っていて、最近はサンプルを書いてみています。YesodはフルスタックなRoR風Webフレームワークということなので、本来はscaffold使ってDBやソースコードを自動生成して編集していくのが作法なのでしょう。でも本家サイトのサンプルは1フ…

Yesodサンプル

なにはともあれサンプルを書いてみる まずはサンプル。 {-# LANGUAGE TypeFamilies, QuasiQuotes, TemplateHaskell , MultiParamTypeClasses, OverloadedStrings #-} import Yesod data HelloWorld = HelloWorld mkYesod "HelloWorld" [parseRoutes| / HomeR…

staticクラスはテストしにくい

staticクラスというのは造語で、staticメソッドしか持たないユーティリティクラスの事を指しています。 この手のクラスは実務でよくみかけますが、状態を持つstaticクラスをつくってしまうとテストで苦労することになります。 例えばメッセージユーティリテ…

配列リテラルの最後にカンマがあってもいい

久々Javaネタ。 こんな↓感じで書けるみたいです。 int[] is = { 1, 2, }; 知りませんでした。地味にうれしい。 列挙型もこの書き方ができますね。ただ、この書き方をしたソースをjavadocに食わせるとエラーになるんですよね。 これにはガッカリです。