atnos-org/eff
Eff monad for cats - https://atnos-org.github.io/eff
Thành tựu nổi bật
Những danh hiệu mới nhất của dự án
#1 Repository Của Tháng
#1 Repository Của Tháng
#1 Repository Của Tháng
🎯 Eff Monad: Một giải pháp mở rộng hiệu ứng thay thế cho Monad Transformers
Dựa trên free-er monad và lý thuyết extensible effects của Oleg Kiselyov, Eff cung cấp cách tiếp cận chức năng và an toàn kiểu cho việc xử lý hiệu ứng trong Scala.
Eff là một thư viện Scala hỗ trợ tính toán với các hiệu ứng một cách lập hàm thông qua extensible effects — một phương pháp thay thế cho monad transformers. Dự án dựa trên bài báo "Freer monads, more extensible effects" của Oleg Kiselyov và tích hợp sẵn với thư viện cats.
✨ Điểm nổi bật
- Extensible effects: sử dụng free-er monad để mở rộng hiệu ứng linh hoạt hơn monad transformers.
- Hỗ trợ Scala 3: phiên bản core chạy trên JVM, ScalaJS và Scala Native.
- Hiệu ứng đi kèm: bao gồm các hiệu ứng như Reader, Writer, Eval, State.
- Tạo hiệu ứng tùy chỉnh: cho phép người dùng định nghĩa hiệu ứng riêng.
- Member implicits: hỗ trợ ghép các hiệu ứng khác nhau thông qua các implicit.
- Tài liệu hướng dẫn: có sẵn user guide chi tiết từ cơ bản đến nâp cao.
- Hỗ trợ Scala 2.x: vẫn duy trì phiên bản cho người dùng Scala 2.
💡 Vì sao đáng chú ý
Eff không chỉ là một công cụ xử lý hiệu ứng, mà còn là một cách tiếp cận mới mẻ thay thế cho monad transformers — giảm độ phức tạp của stack hiệu ứng. Với nền tảng lý thuyết vững chắc từ Oleg Kiselyov và sự tích hợp sâu với cats, Eff phù hợp với các dự án Scala muốn xử lý hiệu ứng một cách sạch sẽ, có kiểu và mở rộng được.
#EffMonad #Scala #FunctionalProgramming #Cats #ExtensibleEffects #TiniX
Dự án tương tự
Khám phá các dự án và mô hình AI khác có sự tương đồng.
♞ lichess.org: the forever free, adless and open source chess server ♞
Scala 2 compiler and standard library. Scala 2 bugs at https://github.com/scala/bug; Scala 3 at https://github.com/scala/scala3
ZIO — A type-safe, composable library for async and concurrent programming in Scala