[tech notebook entry] Building a resilient RSS feed unifier with ZIO https://tech.interfluidity.com/2023/07/29/building-a-resilient-rss-feed-unifier-with-zio/index.html
I like the #scala3 type class derivation feature/syntax. With current #scala each library can provide macros to generate the same thing, but a) you have to know the name of each macro and b) there is some boilerplate to invoke it.
Things like Copilot are getting good at writing that boilerplate for you, but I stand by my take back from the Ruby-on-Rails project generator days: It is so much better (including maintainability) if that boilerplate did not even exist in the first place.
"Scala 3 Significant Indentation Woes: Sample"
#Blog article (#Programming, #Python, #Scala, #Scala3).
https://alexn.org/blog/2023/06/06/scala-3-significant-indentation-woes-sample/
#blog #programming #python #scala #scala3
Unless you `import scala.language.strictEquality`, use of `CanEqual` isn't mandated by default.
However, once you implement a `CanEqual` for a type, its use is mandatory. See screenshots.
i've seen so much #scala pessimism this week.
but it remains such a beautiful, fun language. i really enjoy #scala3 it's true there are some real tooling hassles (please give me a good emacs mode). you lose time. but you can express things so cleanly and concisely.
there are tensions between what "industry" wants and an impulse to experiment. a lot of us were drawn to scala because it challenges us, keeps us learning. it never wanted to be #golang. i don't think it should try now.
👋 If you are interested in Scala, I highly suggest looking at Scala Days, the leading Scala conference in the US and Europe. There's a great lineup of speakers and an exclusive training course hosted in the heart of Seattle on June 4-7.
Visit our website at https://scaladays.org/seattle-2023/
And claim 15% off of the ticket price by using the code DISCUSS-MASTODON at checkout.
#scala #ScalaDays #conference #Seattle #workshop #scala3 #scalanews
#scala #scaladays #conference #seattle #workshop #scala3 #scalanews
```
// It recognizes this *: as a Tuple2
(1 *: 2 *: EmptyTuple): Tuple2[_, _]
// But then why not also a Product2?
(1 *: 2 *: EmptyTuple): Product2[_, _]
```
Scala 3 Opaque type aliases (https://docs.scala-lang.org/scala3/reference/other-new-features/opaques.html#) are awesome.
Opaque type aliases are powerful, and, IMO, much more intuitive than value classes: - No unintended autoboxing, no surprising limitations. It just works!
As a DDD enthusiast and a huge fan of strong domain models with proper Value Objects I really welcome opaque type aliases.
Kotlin folks. Any chance that we can get opaque value types?
New labelled, scope-crossing break mechanism in #scala 3.3 that can be used by library authors to build their own checked error channel systems. 🤔 https://t.co/IE1wi6nm91 / https://twitter.com/Kordyjan/status/1629174520962551810?s=20 #scala3
If you haven't done so, check Iron library: https://iltotore.github.io/iron/docs/index.html
Iron implements in an elegant and rather simple way Refined types for Scala 3 :scala:.
In addition, integrates with ZIO prelude, ZIO Json, Cats, Circe & Jsoniter
#scala3 #scala #zio #circe #jsoniter #cats
since it's a back to the future moment — hurrah! let's do-over the future the path we've been on sucks — here's a little Scala 3 RSS generation library https://github.com/swaldman/audiofluidity-rss#readme
So awesome to finally have warn unused imports in Scala 3.
Amazing job by Paul Coral and others reviewing.
Binding.scala 12.2 and html.scala 3.0: reactive web framework for Scala 3 - https://users.scala-lang.org/t/announcing-binding-scala-12-2-and-html-scala-reactive-web-framework-for-scala-3/9104
#scala #scala3 #webdev
A bit randomly, I've spent the last couple of weeks working on a Scala 3 templating engine, kind of a cross between Twirl and Java Server Pages.
I'd love any comment, critique, calumny. It's called #Untemplate.