ServerPart
単に。として定義されtype ServerPart a = ServerPartT IO a
ます。Happstack 8では、これをに変更する可能性があります。これは、type ServerPart = ServerPartT IO
のような型を記述できることを意味しますがRouteT Sitemap ServerPart Response
、それまでは、ServerPartT
型の同義語を「部分的に適用」できないため、直接使用する必要があります。ただし、同じタイプです。つまり、ServerPart Response
はの単なるエイリアスですServerPartT IO Response
。
また、すべてのメソッドの型アノテーションを変更せずに、Webルートに切り替える簡単な方法はありますか?
あまり。私は早い段階で「ハンドラー」の独自のタイプを定義するのが好きです。それから、その定義を変更するだけです。たとえば、、、type Handler = ServerPart Response
そしてhomePage :: Handler
Webルートを追加するときは、ハンドラーを再定義するだけtype Handler = RouteT Sitemap (ServerPartT IO) Response
です。
あなたのエディタはおそらく検索と置換機能を持っていますが、例えばVimでは:
:%s/:: ServerPart Response/:: RouteT Sitemap (ServerPartT IO) Response/g