Chimney
dotty
Chimney | dotty | |
---|---|---|
13 | 71 | |
1,110 | 5,677 | |
1.4% | 1.5% | |
9.7 | 10.0 | |
1 day ago | about 10 hours ago | |
Scala | Scala | |
Apache License 2.0 | Apache License 2.0 |
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.
Chimney
- Chimney 0.8.0 (stable) released
- Chimney 0.8.0-M1 with the initial support for Scala 3
- Chimney 0.8.0-M1 ā type mapping library for Scala released for Scala 3
-
ORM in Scala
But yeah, I wonder if using a tool for case classes conversion like https://github.com/scalalandio/chimney would help in managing those ADT hierarchies for DB/business logic/web layer/etc.
-
Chimney 0.7.0 released
Hello, if you have some nice examples could you please check if it's something that would fit any of issues planned for 0.7.1 or create a new one?
-
Output object with Circe with sealed trait + case classes adds sealed trait block
Perhaps, https://github.com/scalalandio/chimney would leverage it.
-
Smithy4s 0.15.0, now with Smithy 2.0 support
Thankfully, there are some solutions that can help reduce the boilerplate of these manual conversions. For instance, chimney : https://scalalandio.github.io/chimney/
-
Is it possible to get runnable generated scala code from a macro (chminey to be specific)?
I want to upgrade one project to Scala 3.1, but I'm using the macro heavy chimney (https://github.com/scalalandio/chimney) to reduce the boilerplate, which is not available for Scala 3 yet. My idea was to copy and paste the code that chimney generates on 2.13, and after that uncomment the uses of chimney for now.
-
From ES6 to Scala: Basics
In my $dayjob we originally used Scala, but I pushed for a couple of new services to be written in TypeScript/Node as it was really hard to hire Scala developers. I'd say it worked well, we even took a somewhat functional approach to building things. We tried fp-ts but that was a bit hardcore (when you are trying to hire TypeScript developers who don't know functional programming), so just built Either and Option types which provided 99% of what we needed.
There are still a few things I miss though:
* Pattern matching and exhaustive checking. Using a switch statement it is possible to define a function that can emulate the compile-time exhaustive checking, but it's still rather weak compared to what you can do in Scala.
* Implicits. Being able to define something that can convert say a UUID to a String or vice versa automatically just feels like magic, especially when dealing with data from third party systems.
* Compiler macros and metaprogramming. It enables tools like Chimney (https://scalalandio.github.io/chimney/) to be built, which I don't think are possible with TypeScript right now.
-
Scala Type Classes from Scratch
Converting between these classes can add some boilerplate, but luckily there are libraries like https://github.com/scalalandio/chimney that make it much easier.
dotty
-
RustRover ā A Standalone Rust IDE by JetBrains
Dotty? Was it still the name later?
http://dotty.epfl.ch/
-
Does the fthomas/refined library work differently in Scala 3?
I think this might be related to this issue.
-
`boundary/break`: do you use it ? what do you do with it ?
You can look (and EPFL collect feedback) about EPFL implementation of async/await: https://github.com/lampepfl/async. Also you can look at dotty ticket about this: https://github.com/lampepfl/dotty/pull/16739
-
Iron updates: turning opaque types into value objects
The reason Iām not currently an opaque type user as they do not play well with the tagless final style we use, though I am patiently awaiting some attention on my bug report: https://github.com/lampepfl/dotty/issues/17281
-
Reconnecting with Scala. What's new?
Links: - https://dotty.epfl.ch/ - https://scala-native.org/en/stable/ - https://www.scala-js.org/ - https://typelevel.org/ - https://zio.dev/ - https://github.com/scala-native/scala-native/pull/3120 - https://github.com/lampepfl/dotty/pull/16517 - https://dotty.epfl.ch/docs/reference/experimental/index.html - https://scala-cli.virtuslab.org/ - https://scalameta.org/metals/ - https://docs.scala-lang.org/scala3/guides/migration/compatibility-intro.html - https://www.scala-lang.org/blog/2023/04/18/faster-scalajs-development-with-frontend-tooling.html - https://www.scala-lang.org/blog/2022/08/17/long-term-compatibility-plans.html
-
About Scala-Native
Scala Native has much more control on how the Scala AST is compiled, and can easier workaround platform limitations, eg. lazy vals in Scala 3 required reflection config for Native Image (see this and that), while in Scala Native we could mitigate problems with unsupported usage inside in other ways within the compiler plugin.
-
I've started writing a book on Scala 3 Macros
By the way, you might be interested in this recent PR which overhauls the scala 3 macro docs: https://github.com/lampepfl/dotty/pull/17060.
-
What is scala's modern Web API framework?
For example, this issue (https://github.com/lampepfl/dotty/issues/12840) was blocking the migration, it was reported more than a year ago and the fix was finally released a month ago (https://github.com/lampepfl/dotty/releases/tag/3.3.0-RC2).
-
scala 3 does not have :javap. Does anyone have any tips how to get around this.
For the record, there is an implementation of :javap which is close to being done but might need a volunteer to get it over the finish line: https://github.com/lampepfl/dotty/pull/12210
-
Is the Scala Center really working on Scala 4?
im glad to tell you that in 3.3.0 a lot of these -Wunused lints will be supported: see https://github.com/lampepfl/dotty/pull/16157
What are some alternatives?
Shapeless - Generic programming for Scala
sbt - sbt, the interactive build tool
Monocle - Optics library for Scala
Scalatex - Programmable, Typesafe Document Generation
Lamma - Lamma schedule generator for Scala is a professional schedule generation library for periodic schedules like fixed income coupon payment, equity deravitive fixing date generation etc.
scalajs-benchmark - Benchmarks: write in Scala or JS, run in your browser. Live demo:
Enumeratum - A type-safe, reflection-free, powerful enumeration implementation for Scala with exhaustive pattern match warnings and helpful integrations.
Mill - Your shiny new Java/Scala build tool!
Scalaz - Principled Functional Programming in Scala
scalafmt - This repo is now a fork of --->
Quicklens - Modify deeply nested case class fields
Metals - Scala language server with rich IDE features š