Monocle
ts-lite
Monocle | ts-lite | |
---|---|---|
5 | 1 | |
1,632 | 48 | |
0.1% | - | |
8.2 | 0.0 | |
9 days ago | over 2 years ago | |
Scala | JavaScript | |
MIT License | MIT 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.
Monocle
-
Ref in cats-effect. When should I use it, and when should I not?
Without concurrency, using a Ref doesn't buy you anything over just using a var. If you want the benefits of immutability with an API that resembles mutability, you have to use something like Monocle.
-
Show HN: Monocle – bidirectional code generation library
A very popular Scala optics library is also called Monocle. I’ve been a happy user for a few years:
https://github.com/optics-dev/Monocle
-
Monocle 3 release candidate - a super useful and simple library for optics with poetic api
See example https://www.optics.dev/Monocle/
- Monocle 3.0.0-M1 is released for Scala 2.13 and Scala 3
-
Monocle 3 Roadmap
We always have work to do, for example to define scalfix rules to automate the migration https://github.com/optics-dev/Monocle/issues/1001
ts-lite
-
Show HN: Monocle – bidirectional code generation library
This is neat! I’m curious if you see this being extended for other languages, or the concept being applied in other projects?
As for similar concepts, several projects by builder.io have some overlap. Most notably Mitosis[1], but I’d be shocked if TS-Lite[2] isn’t using similar techniques. Potentially Qwik[3] as well but I’m not sure, I would have bet that’s using Mitosis but it looks like that’s the other way around.
1: https://github.com/BuilderIO/mitosis
2: https://github.com/BuilderIO/ts-lite/tree/main/packages/core
3: https://github.com/BuilderIO/qwik
What are some alternatives?
Quicklens - Modify deeply nested case class fields
qwik - Instant-loading web apps, without effort
Shapeless - Generic programming for Scala
recast - JavaScript syntax tree transformer, nondestructive pretty-printer, and automatic source map generator
Chimney - Scala library for boilerplate-free, type-safe data transformations
openapi-preprocessor - An authoring tool for OpenAPI specifications
cats - Lightweight, modular, and extensible library for functional programming.
escodegen - ECMAScript code generator
Scalaz - Principled Functional Programming in Scala
Babel (Formerly 6to5) - 🐠 Babel is a compiler for writing next generation JavaScript.
Scala Graph - Graph for Scala is intended to provide basic graph functionality seamlessly fitting into the Scala Collection Library. Like the well known members of scala.collection, Graph for Scala is an in-memory graph library aiming at editing and traversing graphs, finding cycles etc. in a user-friendly way.
Scala Blitz - Scala framework for efficient sequential and data-parallel collections -