2016-10-20 6 views
0

スプレーの指示がcontinuation passing style (CPS)にどのように対応しているかわかりません。スプレーの指示はどのように継続に対応していますか?

具体的には、継続は(ハスケルで)(a -> r) -> rであるが、このタイプ((a -> r) -> r)(Route->Routetype Route = RequestContext => Unitのタイプを持っている)、スプレーdirectivesを使用しているどこで見つけることができません。

nor Route->Routetype Route = RequestContext => Unitはどちらも同じように(a -> r) -> rと似ていますので、指示はどのようにCPSに関係していますか?

スプレーの指示書correspondを継承したスタイルにどのように表示することができますか?

答えて

0

指令は、その最も単純な形で、正確(a -> r) -> rある

abstract class Directive[L <: HList] { 
    def happly(f: L => Route): Route 
} 

として定義されます。スプレーdirectivesのマニュアルに記載されているのは、フードの下にDirectiveのインスタンスを構築する高レベルのDSLです。あなたは完全な定義をDirective.scala

で見ることができます
関連する問題