Parsing from scratch - Part 4
Until now, we implemented a few relatively simple parsers; for parsing dates and hex colors. In this post, we are going to build a parser for parsing configuration key value pairs. This is a bit more …
Read more →
Until now, we implemented a few relatively simple parsers; for parsing dates and hex colors. In this post, we are going to build a parser for parsing configuration key value pairs. This is a bit more …
Read more →
Let us implement another simple parser, this time for semantic version. Read on.
Read more →
Having learnt how to write a simple parsing library from scratch, it is time to put it to the test by writing simple parsers. In this post, we will write a few high-level parsers - dates of the format …
Read more →
Parsing from scratch is a powerful technique that allows you to build custom parsers for your specific needs. In this series, we will explore the basics of parsing and how to implement a simple parser …
Read more →
This is a post-credits bonus post that shows the complete and finished builder code.
Read more →
While the builder pattern is a powerful tool for creating complex objects in a type-safe manner, it is easy to discard it given its complexity and boilerplate. This post details the situations where …
Read more →
This post takes the ideas from previous posts to get rid of some boilerplate, and concluding the “how” portion of the series.
Read more →
This post adds type-level ordering to the builder, enforcing when fields can be set. It introduces explicit constraints on configuration order: host/port first, maxConnections/connectionTimeout before …
Read more →
This post makes the builder API more flexible by allowing incremental health check additions without losing type safety. We will see how withHealthChecks is changed from replace to append, so calls …
Read more →
This post talks about making the error messages cleaner and clearer. You might want to read this one since it involves typeclasses. 😉
Read more →
This post extends a prior typesafe Builder Pattern and demonstrates where it breaks down with a more complex AppConfig[F[_]] that wires Auth, Users, Books, and multiple HealthChecks. It presents a …
Read more →
The Builder pattern provides a way to construct complex objects step by step with a fluent API, where each method call returns the builder itself, allowing for method chaining. Let us play some type …
Read more →
Guest post by Bahul Jain. In this post, he talks about algebraic data types (ADTs) and its benefits. He discusses how ADTs can be used to model complex data and boost developer productivity.
Read more →
Guest post by Bahul Jain. In this post, he talks about addressing the performance implications of creating types everywhere. He explores AnyVal and a light-weight library called Supertagged to …
Read more →
Guest post by Bahul Jain. In this post, he explains why types are essential for modeling data and operations in a meaningful way. He goes into detail about how types help clarify the purpose of data, …
Read more →
This post is the final part of the series on SBT. I hope I covered everything needed to break the ice and change the perspective on SBT. I have touched on most ingredients you need to write a decent …
Read more →
I had planned to finish the series with this post. But Plugin s wouldn’t let me. I am going to show you how to write/publish a SBT project that is a Plugin, and I will show a nifty trick. It is …
Read more →
So far, we have everything we need to write the build definition for a single project. Today, we’ll see another powerful feature of SBT: Multi-module builds.
Read more →
Previously, we discussed Plugin s. Today, let us see how to better organize build code. How I SBT - build.sbt How I SBT - Settings & Tasks How I SBT - Plugins How I SBT - Build Code Organization …
Read more →
Previously, we discussed how to quickly write a simple build.sbt without fuss. We briefly understood how it is processed by SBT along with Settings and Tasks. We did that without having to know about …
Read more →
Previously, I showed you how to write a SBT build definition without knowing much at all. Neither did I talk about simple things like directory structure nor about advanced things like scope or axis, …
Read more →
Contrary to the unpopular opinions that it is hard and clumsy, SBT, the de facto build tool for Scala, is one of the best. Ease comes with familiarity. Unfortunately, there aren’t many …
Read more →