![](/img/trans.png)
[英]Why is Either expected in the following for comprehension?
我正在玩 scala 中的 tagless final。我使用 pureconfig 加載配置,然后使用配置值設置服務器端口和主機。 片段 def create[F[_]: Async] = for { config <- ConfigSource.default.at ...
[英]Why is Either expected in the following for comprehension?
我正在玩 scala 中的 tagless final。我使用 pureconfig 加載配置,然后使用配置值設置服務器端口和主機。 片段 def create[F[_]: Async] = for { config <- ConfigSource.default.at ...
[英]Scala Tagless Final Without Specifying a Concrete Type
我有一個看起來像這樣的服務: 無標簽的最終特征: 在我的實現中,我有以下內容: 這很好,但我仍想延遲它並僅在實例化我的 ProvisioningService 的新版本時傳遞效果。 例如,我想要這樣的東西: 在運行時,我執行以下操作: 所以基本上我在編譯時沒有提供具體的實現,但是我創建了我的 Pro ...
[英]How convert Cats Effect 3 to Future
我正在嘗試將 Playframework 與 Cats Effect 3 Tagless Final 風格相結合。 我被困在向未來的轉變上。 Play 的 Action 需要我想要達到的值或 Future 來進行異步處理。 在貓效應 2 中,可以通過_.toIO.unsafeToFuture ...
[英]Akka Play guice bindings tagless final (TF) support
我有這個綁定來在我的應用程序中配置 Logger[IO] (帶有這一行的模塊在 guice.conf 文件中): class CatsEffectModule extends AbstractModule with ScalaModule { override def configure(): ...
[英]Conversion between Option[F[ShoppingCart]] to F[Option[ShoppingCart]]
我在 Scala 中有以下代數(我使用的是無標簽最終模式):trait ShoppingCarts[F[_]] { def create(id: String): F[Unit] def find(id: String): F[Option[ShoppingCart]] def add( ...
[英]Kleisli dependencies with Tagless Final style
我正在嘗試使用 Kleisli 來 model 依賴項。 例如,假設我有以下業務邏輯類型: 現在我有以下解碼和數據庫訪問的實現: 現在,當我想將這兩個對象與業務邏輯一起使用時,我遇到了類型沖突:Kleisli[ErrorOr, DbSession, A] 與 Klesili[ErrorOr, Any ...
[英]Scala Cats: How to test logging vs how to log in production code
您能否在 Scala 中給我一個無標記的最終版本,該版本的日志記錄實現很容易在單元測試中進行測試,但在生產中使用 slf4j 或類似框架運行? ...
[英]Represent Task[Either] and IO[Either] as a single monad that includes tryCatch?
有沒有辦法將 IOEither 和 TaskEither 表示為一個也包括tryCatch的 Monad? 我目前將在 HTTP 上使用 API,因此使用 TaskEither 是有意義的,但預計此代碼將“離家更近”遷移,此時將其IOEither是有意義的。 所以我想寫一個無標簽風格的消費者界面i ...
[英]Converting an `Option[A]` to an Ok() or NotFound() inside an Http4s API
我有一個看起來像這樣的 API:object Comics { ... def impl[F[_]: Applicative]: Comics[F] = new Comics[F] { def getAuthor(slug: Authors.Slug): F[Option[Aut ...
[英]Intellij IDEA cannot resolve symbol on implicits (scala tagless final)
我有一些使用無標記最終方法的代碼,發現 Intellij IDEA 無法識別來自隱式 class 的方法。 我這里有一些類型類( Functor 、 Apply 、 Applicative等)和一個implicit class FunctorOps以及Functor的一些輔助方法。 此代碼編譯但 ...
[英]How to configure Cats Timer on abstract effect type
假設我在使用Cats-effect標記最終方法的項目中有以下方法簽名: 我正在嘗試使用純 FP schedule方法調用上的操作。 我試過這樣: 但它不起作用,因為效果println("tick")在Timer初始化階段執行。 我怎樣才能讓它正常工作? 我還可以創建某種遞歸構造,以便每 10 秒重 ...
[英]How to write unit test for my tagless algebra?
我有一個代數解釋器,我想為它編寫一個單元測試。 解釋器如下: 代數如下: 實施如下: 我使用測試框架https://scalameta.org/munit/ 。 如何為我的上述代數編寫單元測試? ...
[英]Write laws or unit test for tagless algebras
我已經寫了兩個無標簽代數,我想為其中一個寫定律。 代數如下: 口譯員如下: 在函數式編程中,有 Monoid、Monads 等規律。 我的問題是: 我的代數是否需要法律或編寫單元測試就足夠了? 法律和單元測試有什么區別? 我應該如何為DbConnector代數編寫定律 ...
[英]The first final tagless approach
我正在嘗試在 Scala 中使用第一次無標記最終模式並且有點掙扎。 我有以下代數定義: 和解釋器的實現: 我想要做的是,將Environment組合成DbSystemEnvironment 。 這里的問題是,我無法從env.get(url)中獲取值,因為我對DbSystemEnvironment中的 ...
[英]Interpreters for two polymorphic classes in one function
我有這個多態代碼(請參閱此問題),其中包含用於模型和客戶端的通用 monad: import Control.Monad.Writer class Monad m => Model m where act :: Client c => String -> c a -> ...
[英]Two polymorphic classes in one function
我有這個帶有 State monads 的代碼: import Control.Monad.State data ModelData = ModelData String data ClientData = ClientData String act :: String -> State ...
[英]Transform Future[A] to F[A] with Async[F]
我正在與 Slick 和 Cats 合作。 database.run返回一個Future ,但我需要我的類的方法( F[_]: Async上的泛型)來返回一個 monad F 。 我可以讓它像這樣工作 但這肯定不是應該做的方式,因為它阻塞了線程。 有沒有合適的方法來做到這一點? ...
[英]Elegant way to change either to error with tagless final
我經常做這樣的事情: 簡而言之,這意味着如果Either是left則使用raiseError ,如果是right則返回值。 有沒有更方便的方法來“解開” Either ? ...
[英]Scala, cats - how to create tagless-final implementation with IO (or other monad) and Either?
我創建了一個簡單的trait和他的實現: 在這里,我想使用Either或EitherT來“捕獲”錯誤,但我也想使用IO或Future作為主要單子。 在我的主要 class 中,我創建了對此實現的調用: 但是在創建pointer的行中,IntelliJ 向我顯示錯誤: Type mismatch - ...
[英]Is it ok to use Tagless Final (Object Algebras) on coalgebras?
背景 Haskell 和 Scala 社區最近非常迷戀他們所謂的無標簽最終編程“模式”。 這些被稱為對初始自由代數的對偶,所以我想知道 Tagless Final 的最終結果是什么。 在 ncatlab 上只能找到關於最終代數的討論,而不是最終代數。 在 CS-Theory Stack Excha ...