Everybody, just stop with calling #scalaz' unsafePerformIO. Use this: https://github.com/scalaz/scalaz/blob/scalaz-seven/effect/src/main/scala/scalaz/effect/SafeApp.scala … - now you're closer to #Haskell
-
-
Replying to @puffnfresh
@puffnfresh So long as your program is single-threaded, you're fine. But try to use Future, and you end up forced into unsafePerformIO.3 replies 0 retweets 0 likes -
Replying to @nuttycom
@nuttycom@puffnfresh provide Forall[Future, IO] and you're golden.1 reply 0 retweets 0 likes -
Replying to @dibblego
@dibblego@puffnfresh What does that mean? What does this incarnation of Forall look like?1 reply 0 retweets 0 likes -
Replying to @nuttycom
@nuttycom@puffnfresh trait Forall[F[_], G[_]] { def apply[A](x: F[A]: G[A] }2 replies 0 retweets 0 likes -
Replying to @dibblego
@dibblego@puffnfresh A natural transformation between F and G? Why call it Forall?2 replies 0 retweets 1 like -
Replying to @nuttycom
@dibblego@puffnfresh In any case, Future ~> IO is a pretty terrible idea. Creation of Future needs to be effectful in IO to start.2 replies 0 retweets 0 likes
@nuttycom @puffnfresh That's because of Future :)
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.