kyo | capslock | |
---|---|---|
5 | 2 | |
422 | 581 | |
7.8% | 7.1% | |
9.9 | 8.7 | |
7 days ago | 5 days ago | |
Scala | Go | |
Apache License 2.0 | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
kyo
-
Coroutines and Effects
Indeed - I do not think it is a coincidence that a lot of production experiments in effect systems are happening in Scala right now - the language is very flexible to conduct them. https://github.com/getkyo/kyo in particular looks interesting as it explores a different space where the monadic nature is less exposed to the end user.
-
Help a Kotlin convert back into Scala world
Now in scala we have direct mode transformers: dotty-cps-async [https://github.com/rssh/dotty-cps-async] with cps-async-connect [https://github.com/rssh/cps-async-connect ] supports all well-knowm monad stacks, for ZIO also exists ZIO-direct [https://github.com/zio/zio-direct ] , for IO - cats-effect-cps [https://github.com/typelevel/cats-effect-cps ], for kyo [https://github.com/fwbrasil/kyo ] - kyo-direct.
-
The Effect(s) Of Effect(s) by Flavio Brasil at Functional Scala 2022
Thanks! I'm not sure I understand your use case but it's possible to handle effects even if they aren't present in the computation. An example of that is KyoApp's run method. It handles several effects even thought the application might not use them:
capslock
-
Coroutines and Effects
Wow I’ve been thinking of something exactly like this! Sort of a super charged, statically typed version of Go’s context.Context. It would allow you to describe the capabilities (or effects) of every function, including IO, memory allocation, cancellation, deadlines, concurrency, and whatever application-specific stuff you need on there (like logging).
Then you could implement something like Google [0] just by looking at type signatures.
0. https://github.com/google/capslock
- Capslock is a capability analysis CLI for Go packages
What are some alternatives?
Korolev - Single Page Applications running on the server side.
Binding.scala - Reactive data-binding for Scala
calico - Calico is a UI library for the Typelevel.js ecosystem. It leverages the abstractions provided by Cats Effect and FS2 to provide a fluent DSL for building web applications that are composable, reactive, and safe. If you enjoy working with Cats Effect and FS2 then I hope that you will like Calico as well.
cps-async-connect
ZIO - ZIO — A type-safe, composable library for async and concurrent programming in Scala
Vert.x Web - The wiki and issues for the vert-x3 organisation
dotty-cps-async - experimental CPS transformer for dotty
Udash - Scala framework for building beautiful and maintainable web applications.
tyrian - Elm-inspired Scala UI library.
OutWatch - The Functional and Reactive Web-Frontend Library for Scala.js
Laminar - Simple, expressive, and safe UI library for Scala.js
Widok - Client-server skeleton