#catseffect — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #catseffect, aggregated by home.social.
-
Моки без боли
Моки — достаточно крутой инструмент, если использовать его правильно. И все-таки лично для меня писать и поддерживать тесты на моках всегда было отдельным видом боли. Думаю, все знакомы с ситуацией: добавил в метод новый аргумент — и пошёл в 30 тест-кейсов проставлять заглушки. И это только от одного нового аргумента. И я не буду здесь спорить о терминологии — в этой статье я буду называть все тестовые дублёры «моками». Примеры будут на Scala, но моки в других языках работают похожим образом, так что боль универсальная. Как и решение — об этом в статье.
https://habr.com/ru/articles/1030834/
#scala #scalamock #zio #catseffect #тестирование #моки #стабы #моктестирование #юниттестирование
-
Моки без боли
Моки — достаточно крутой инструмент, если использовать его правильно. И все-таки лично для меня писать и поддерживать тесты на моках всегда было отдельным видом боли. Думаю, все знакомы с ситуацией: добавил в метод новый аргумент — и пошёл в 30 тест-кейсов проставлять заглушки. И это только от одного нового аргумента. И я не буду здесь спорить о терминологии — в этой статье я буду называть все тестовые дублёры «моками». Примеры будут на Scala, но моки в других языках работают похожим образом, так что боль универсальная. Как и решение — об этом в статье.
https://habr.com/ru/articles/1030834/
#scala #scalamock #zio #catseffect #тестирование #моки #стабы #моктестирование #юниттестирование
-
Моки без боли
Моки — достаточно крутой инструмент, если использовать его правильно. И все-таки лично для меня писать и поддерживать тесты на моках всегда было отдельным видом боли. Думаю, все знакомы с ситуацией: добавил в метод новый аргумент — и пошёл в 30 тест-кейсов проставлять заглушки. И это только от одного нового аргумента. И я не буду здесь спорить о терминологии — в этой статье я буду называть все тестовые дублёры «моками». Примеры будут на Scala, но моки в других языках работают похожим образом, так что боль универсальная. Как и решение — об этом в статье.
https://habr.com/ru/articles/1030834/
#scala #scalamock #zio #catseffect #тестирование #моки #стабы #моктестирование #юниттестирование
-
Cats-Effect 3.6.0 is a very exciting release due to the work on its internal work scheduler, many congrats to its contributors! ❤️
https://github.com/typelevel/cats-effect/releases/tag/v3.6.0
-
Cats-Effect 3.6.0 is a very exciting release due to the work on its internal work scheduler, many congrats to its contributors! ❤️
https://github.com/typelevel/cats-effect/releases/tag/v3.6.0
-
Cats-Effect 3.6.0 is a very exciting release due to the work on its internal work scheduler, many congrats to its contributors! ❤️
https://github.com/typelevel/cats-effect/releases/tag/v3.6.0
-
Cats-Effect 3.6.0 is a very exciting release due to the work on its internal work scheduler, many congrats to its contributors! ❤️
https://github.com/typelevel/cats-effect/releases/tag/v3.6.0
-
#Scala #CatsEffect #FP yep! And thanks @djspiewak for the release notes, they are always very well written
-
#Scala #CatsEffect #FP yep! And thanks @djspiewak for the release notes, they are always very well written
-
#Scala #CatsEffect #FP yep! And thanks @djspiewak for the release notes, they are always very well written
-
#Scala #CatsEffect #FP yep! And thanks @djspiewak for the release notes, they are always very well written
-
#Scala #CatsEffect #FP yep! And thanks @djspiewak for the release notes, they are always very well written
-
Cats-Effect 3.6.0-RC1 comes with some very exciting changes ❤️ Congrats to the team, they keep delivering 😍
https://github.com/typelevel/cats-effect/releases/tag/v3.6.0-RC1
-
Cats-Effect 3.6.0-RC1 comes with some very exciting changes ❤️ Congrats to the team, they keep delivering 😍
https://github.com/typelevel/cats-effect/releases/tag/v3.6.0-RC1
-
Cats-Effect 3.6.0-RC1 comes with some very exciting changes ❤️ Congrats to the team, they keep delivering 😍
https://github.com/typelevel/cats-effect/releases/tag/v3.6.0-RC1
-
Cats-Effect 3.6.0-RC1 comes with some very exciting changes ❤️ Congrats to the team, they keep delivering 😍
https://github.com/typelevel/cats-effect/releases/tag/v3.6.0-RC1
-
Cats-Effect 3.6.0-RC1 comes with some very exciting changes ❤️ Congrats to the team, they keep delivering 😍
https://github.com/typelevel/cats-effect/releases/tag/v3.6.0-RC1
-
#Scala it's that (and there's a lot of them), and also more. I think scala pushed the state of art regarding effect system, and things like #catseffect (more "Haskell inspired") and #zio (more "a Scala own thing") are quite amazing.
And #scala3 has really impressive things regarding types (see for ex #iron https://social.treehouse.systems/@fanf42/111935214728958950) -
#Scala it's that (and there's a lot of them), and also more. I think scala pushed the state of art regarding effect system, and things like #catseffect (more "Haskell inspired") and #zio (more "a Scala own thing") are quite amazing.
And #scala3 has really impressive things regarding types (see for ex #iron https://social.treehouse.systems/@fanf42/111935214728958950) -
#Scala it's that (and there's a lot of them), and also more. I think scala pushed the state of art regarding effect system, and things like #catseffect (more "Haskell inspired") and #zio (more "a Scala own thing") are quite amazing.
And #scala3 has really impressive things regarding types (see for ex #iron https://social.treehouse.systems/@fanf42/111935214728958950) -
#Scala it's that (and there's a lot of them), and also more. I think scala pushed the state of art regarding effect system, and things like #catseffect (more "Haskell inspired") and #zio (more "a Scala own thing") are quite amazing.
And #scala3 has really impressive things regarding types (see for ex #iron https://social.treehouse.systems/@fanf42/111935214728958950) -
#Scala it's that (and there's a lot of them), and also more. I think scala pushed the state of art regarding effect system, and things like #catseffect (more "Haskell inspired") and #zio (more "a Scala own thing") are quite amazing.
And #scala3 has really impressive things regarding types (see for ex #iron https://social.treehouse.systems/@fanf42/111935214728958950) -
Monadic effect systems (IO) are great, but they'll never be the (de jure) standard, as #Scala has Java's evaluation model and calling conventions.
The current standard for APIs doing I/O is `Future`. I'd rather have blocking I/O; easier to integrate w/ #CatsEffect, too.
-
Monadic effect systems (IO) are great, but they'll never be the (de jure) standard, as #Scala has Java's evaluation model and calling conventions.
The current standard for APIs doing I/O is `Future`. I'd rather have blocking I/O; easier to integrate w/ #CatsEffect, too.
-
Monadic effect systems (IO) are great, but they'll never be the (de jure) standard, as #Scala has Java's evaluation model and calling conventions.
The current standard for APIs doing I/O is `Future`. I'd rather have blocking I/O; easier to integrate w/ #CatsEffect, too.
-
Monadic effect systems (IO) are great, but they'll never be the (de jure) standard, as #Scala has Java's evaluation model and calling conventions.
The current standard for APIs doing I/O is `Future`. I'd rather have blocking I/O; easier to integrate w/ #CatsEffect, too.
-
Monadic effect systems (IO) are great, but they'll never be the (de jure) standard, as #Scala has Java's evaluation model and calling conventions.
The current standard for APIs doing I/O is `Future`. I'd rather have blocking I/O; easier to integrate w/ #CatsEffect, too.
-
Let’s reveal another surprise talk… Here’s @alexelcu presenting concurrency concepts of the JVM, sprinkled with some Cats-Effect utilities.
-
Let’s reveal another surprise talk… Here’s @alexelcu presenting concurrency concepts of the JVM, sprinkled with some Cats-Effect utilities.
-
Let’s reveal another surprise talk… Here’s @alexelcu presenting concurrency concepts of the JVM, sprinkled with some Cats-Effect utilities.
-
Let’s reveal another surprise talk… Here’s @alexelcu presenting concurrency concepts of the JVM, sprinkled with some Cats-Effect utilities.
-
Let’s reveal another surprise talk… Here’s @alexelcu presenting concurrency concepts of the JVM, sprinkled with some Cats-Effect utilities.
-
On #Scala's #CatsEffect library — one common myth is that it's a library built for “tagless final” (TF).
While it's true that it gives you unparalleled ability to use TF and monad transformer stacks, it's perfectly usable without. Most libraries from #Typelevel are.
-
On #Scala's #CatsEffect library — one common myth is that it's a library built for “tagless final” (TF).
While it's true that it gives you unparalleled ability to use TF and monad transformer stacks, it's perfectly usable without. Most libraries from #Typelevel are.
-
On #Scala's #CatsEffect library — one common myth is that it's a library built for “tagless final” (TF).
While it's true that it gives you unparalleled ability to use TF and monad transformer stacks, it's perfectly usable without. Most libraries from #Typelevel are.
-
On #Scala's #CatsEffect library — one common myth is that it's a library built for “tagless final” (TF).
While it's true that it gives you unparalleled ability to use TF and monad transformer stacks, it's perfectly usable without. Most libraries from #Typelevel are.
-
I created a #chatgpt #Scala Cats Effect Tutor for fun take a look all:
https://chat.openai.com/g/g-anUfWL8Ty-scala-cats-effect-tutor
Feedback to make it better appreciated. I will be iterating on it, this is just an initial attempt.
Have fun all!
cc @typelevel
-
I created a #chatgpt #Scala Cats Effect Tutor for fun take a look all:
https://chat.openai.com/g/g-anUfWL8Ty-scala-cats-effect-tutor
Feedback to make it better appreciated. I will be iterating on it, this is just an initial attempt.
Have fun all!
cc @typelevel
-
I created a #chatgpt #Scala Cats Effect Tutor for fun take a look all:
https://chat.openai.com/g/g-anUfWL8Ty-scala-cats-effect-tutor
Feedback to make it better appreciated. I will be iterating on it, this is just an initial attempt.
Have fun all!
cc @typelevel
-
I created a #chatgpt #Scala Cats Effect Tutor for fun take a look all:
https://chat.openai.com/g/g-anUfWL8Ty-scala-cats-effect-tutor
Feedback to make it better appreciated. I will be iterating on it, this is just an initial attempt.
Have fun all!
cc @typelevel
-
#CatsEffect or #ZIO - is there a library that beats another in this duel? Learn the differences, similarities, philosophy behind them both, and core features of those #Scala libraries and choose your favourite tool: https://softwaremill.com/cats-effect-vs-zio/
-
#CatsEffect or #ZIO - is there a library that beats another in this duel? Learn the differences, similarities, philosophy behind them both, and core features of those #Scala libraries and choose your favourite tool: https://softwaremill.com/cats-effect-vs-zio/
-
#CatsEffect or #ZIO - is there a library that beats another in this duel? Learn the differences, similarities, philosophy behind them both, and core features of those #Scala libraries and choose your favourite tool: https://softwaremill.com/cats-effect-vs-zio/
-
#CatsEffect or #ZIO - is there a library that beats another in this duel? Learn the differences, similarities, philosophy behind them both, and core features of those #Scala libraries and choose your favourite tool: https://softwaremill.com/cats-effect-vs-zio/
-
#CatsEffect or #ZIO - is there a library that beats another in this duel? Learn the differences, similarities, philosophy behind them both, and core features of those #Scala libraries and choose your favourite tool: https://softwaremill.com/cats-effect-vs-zio/
-
Note these are just minor pet peeves, it's just that FP folks often get too hung up on correctness.
OTOH #Typelevel #CatsEffect is a wonderful project, being #Scala's secret weapon.
-
Note these are just minor pet peeves, it's just that FP folks often get too hung up on correctness.
OTOH #Typelevel #CatsEffect is a wonderful project, being #Scala's secret weapon.
-
Note these are just minor pet peeves, it's just that FP folks often get too hung up on correctness.
OTOH #Typelevel #CatsEffect is a wonderful project, being #Scala's secret weapon.
-
Note these are just minor pet peeves, it's just that FP folks often get too hung up on correctness.
OTOH #Typelevel #CatsEffect is a wonderful project, being #Scala's secret weapon.
-
Note these are just minor pet peeves, it's just that FP folks often get too hung up on correctness.
OTOH #Typelevel #CatsEffect is a wonderful project, being #Scala's secret weapon.
-
A couple more releases downstream of Cats Effect:
* fs2: https://github.com/typelevel/fs2/releases/tag/v3.7.0
* http4s: https://github.com/http4s/http4s/releases/tag/v0.23.19
-
A couple more releases downstream of Cats Effect:
* fs2: https://github.com/typelevel/fs2/releases/tag/v3.7.0
* http4s: https://github.com/http4s/http4s/releases/tag/v0.23.19
-
A couple more releases downstream of Cats Effect:
* fs2: https://github.com/typelevel/fs2/releases/tag/v3.7.0
* http4s: https://github.com/http4s/http4s/releases/tag/v0.23.19
-
A couple more releases downstream of Cats Effect:
* fs2: https://github.com/typelevel/fs2/releases/tag/v3.7.0
* http4s: https://github.com/http4s/http4s/releases/tag/v0.23.19
-
A couple more releases downstream of Cats Effect:
* fs2: https://github.com/typelevel/fs2/releases/tag/v3.7.0
* http4s: https://github.com/http4s/http4s/releases/tag/v0.23.19
-
Currently, I am using a Cofree like DirTree data structure in #Akka to keep track of the actors responsible for a given resource so that we can send HTTP messages directly to them.
```scala
case class DirTree[R](
ref: R,
kids: HashMap[String, DirTree[R, A]] = HashMap()
):
```
https://github.com/co-operating-systems/Reactive-SoLiD/blob/30d6fd46fe30bc8be350c4a09d8592b20b791aa7/src/main/scala/run/cosy/ldp/DirTree.scala#L135I am synchronizing that with a #Java AtomicReference currently. I wonder if @alexelcu setup would make it easier to use a #CatsEffect Ref. One thing I had been thinking of is of wrapping the children in a `Ref` so that one would need to update only parts of the subtree if needed.
```scala
case class DirTree[R](
data: R,
kids: Ref[HashMap[String, DirTree[R]]]
):
```
https://www.pluralsight.com/tech-blog/scala-cats-effect-ref/By the way it should be quite easy to see why DirTree is just the Cofree Commonad with
```scala
type DirTree[A] = Cofree[Map[String,?],A]
```
But I can't quite see the advantages of using the Cofree right now.
https://typelevel.org/cats/api/cats/free/Cofree.html -
Currently, I am using a Cofree like DirTree data structure in #Akka to keep track of the actors responsible for a given resource so that we can send HTTP messages directly to them.
```scala
case class DirTree[R](
ref: R,
kids: HashMap[String, DirTree[R, A]] = HashMap()
):
```
https://github.com/co-operating-systems/Reactive-SoLiD/blob/30d6fd46fe30bc8be350c4a09d8592b20b791aa7/src/main/scala/run/cosy/ldp/DirTree.scala#L135I am synchronizing that with a #Java AtomicReference currently. I wonder if @alexelcu setup would make it easier to use a #CatsEffect Ref. One thing I had been thinking of is of wrapping the children in a `Ref` so that one would need to update only parts of the subtree if needed.
```scala
case class DirTree[R](
data: R,
kids: Ref[HashMap[String, DirTree[R]]]
):
```
https://www.pluralsight.com/tech-blog/scala-cats-effect-ref/By the way it should be quite easy to see why DirTree is just the Cofree Commonad with
```scala
type DirTree[A] = Cofree[Map[String,?],A]
```
But I can't quite see the advantages of using the Cofree right now.
https://typelevel.org/cats/api/cats/free/Cofree.html