Posts by Higher-Kinded Type
Hot take: IDEs and tooling not catching up with Scala 3 features does not bother me. They will catch up sooner or later.
Parsing from scratch
blog.rhetoricalmusings.com/posts/parser1/
blog.rhetoricalmusings.com/posts/parser2/
blog.rhetoricalmusings.com/posts/parser3/
blog.rhetoricalmusings.com/posts/parser4/
Parsing from scratch
blog.rhetoricalmusings.com/posts/parser1/
blog.rhetoricalmusings.com/posts/parser2/
blog.rhetoricalmusings.com/posts/parser3/
blog.rhetoricalmusings.com/posts/parser4/
I don't normally post my email newsletter, but I thought this one was a banger: on the dualities between constructor injection, the reader monad, comonads, and effect handlers. If that sounds like your jam: buttondown.com/functionalpr...
(Or just grab the book! functionalprogrammingstrategies.com)
I donβt want to review the code AI writes instead I want AI to review the code I write.
@matejcerny.bsky.social Macro to conquer the boilerplate of the builder pattern
blog.rhetoricalmusings.com/posts/builde...
Flexibility
blog.rhetoricalmusings.com/posts/builder4
Order, Order, I Say!
blog.rhetoricalmusings.com/posts/builder5
Can You Hold This For Me?
blog.rhetoricalmusings.com/posts/builder6
Why bother?
blog.rhetoricalmusings.com/posts/builder7
Enjoy this multi-part series on builder pattern in Scala.
Intro to Builder Pattern
blog.rhetoricalmusings.com/posts/builder1
Know Your Limitations
blog.rhetoricalmusings.com/posts/builder2
Errors Are UX Too
blog.rhetoricalmusings.com/posts/builder3
Dear friend, Morgen Peschke, dives to the depths of the builder pattern in this multi-part guest series on my blog: blog.rhetoricalmusings.com/posts/builde...
Give it a read, it's good stuff!
In Scala, if you like the builder pattern, you can ensure the build method is available only when all mandatory fields are populated, though it involves a lot of boilerplate. #scala blog.rhetoricalmusings.com/posts/builde...
@scalabridgelondon.bsky.social is back in October! Here's the projects we'll be working on:
www.scalabridgelondon.org/projects/
Sign up for your choice here:
docs.google.com/forms/d/e/1F...
(All the details and much more on our website www.scalabridgelondon.org)
There's a good chance you have already used contramap (e.g. when creating a Circe encoder), but understanding the concept can be challenging. This article explains it using a practical example. #scala blog.rhetoricalmusings.com/posts/contra...
π£ The recording of the awesome talk at our last
#BayAreaScala #SFScala is now available:
π Securing sensitive data in logs like a pro By @hktpe.bsky.social Vivek Ragunathan & Bahul Jain π
watch.softinio.com/w/6T6tpf8U5y...
An elegant solution thanks to #Scala #FunctionalProgramming
Gave a talk in the local Scala meetup
watch.softinio.com/w/6T6tpf8U5y...
We want to collect fun, exciting, or interesting stories that involve curl and people using curl. From everyone and anyone. For curl's **10,000 days** celebration that is coming up.
Share your story here:
https://github.com/curl/curl/discussions/17930
Fresh off the press. Guest post by @bahuljain - A world without types - Part 3.
blog.rhetoricalmusings.com/posts/types-3/
The static type of this type is dynamic - Anders Hejlsberg (Nostalgic C# 4 days)
I'm giving this workshop at Scala Days, which will cover most of the techniques I've learned over the last 15 years of building software in typed FP.
Happy to answer any questions about the workshop (which will draw from the book I'm writing: scalawithcats.com)