也許我錯過了一些很明顯的東西,但是我試圖在使用Scalaz 7的項目中清理一些樣板,而且我沒有找到一個看起來非常簡單的特殊拼圖,可能有用。 假設我們有兩種類型的雙射: case class Foo(x: Int)
case class Bar(i: Int)
import scalaz._, Scalaz._, BijectionT._
val fb: Foo <@> Bar = bij
說我想解析語言文件X。真的,我只對其中的一小部分信息感興趣。爲了這個目的,在Haskell的許多eDSL之一中編寫一個解析器是很容易的(例如Megaparsec)。 data Foo = Foo Int -- the information I'm after.
parseFoo :: Parsec Text Foo
parseFoo = ...
這容易引起函數getFoo :: Tex