Mar 16Journey of Implicits in Scala — part 3Type Classes in Scala This is the third part of a 5 part series to understand the concept of implicits in Scala . The road taken is as follows Introduction to implicit methods or variable definitions and method parameter lists. Type Annotations in Scala Type classes in Scala Implicit hell and how painfull it…Scala7 min read
Mar 8Journey of Implicits in Scala — part 2Type Annotations in Scala This is the second part of a 5 part series to understand the concept of implicits in Scala . The road taken is as follows Introduction to implicit methods or variable definitions and method parameter lists. Type Annotations in Scala Type classes in Scala Implicit hell and how painfull it…Scala7 min read
Mar 2Journey of Implicits in Scala — part 1Implicits are the most ambivalent feature in Scala. Highly popular and widely used in many frameworks and libraries. And on the same hand controversial for being dangerous and making things work magically which becomes a challenge for those who are new to the language. In this 5 part series we…6 min read
Feb 11FS2-Kafka in real world -Part 2This is a continuation of series on how to use F2-Kafka in real world. Checkout part1 to understand what is F2-Kafka and how it can be used ideally. FS2-Kafka documentation gives examples on how to use a KafkaProducer to produce data. …Scala3 min read
Jan 30FS2-Kafka in real world -Part 1FS2 Kafka is a library which lets us connect Apache Kafka to FS2 streams. The library provides for creating streams of Kafka consumers and producers and is inspired from Alpakka-Kafka. There are some important concepts to understand before we recognise patterns in FS2 Kafka. Firstly as FS2-Kafka is built on…Kafka4 min read
Feb 18, 2021Explicit Nulls in Scala 3Scala 3 has an optional feature which changes the Type hierarchy when enabled. Its called “Explicit Nulls” and when enabled via the flag -Yexplicit-nulls the language has a different way of working with null values. “Null” in current scala hierarchyScala5 min read
Feb 7, 2021Union and Intersection Types in Scala 3Scala 3 aka dotty comes with a lot of new types. Union, Intersection , Opaque etc. Let’s understand union and intersection types in detail. Union types A union type A | B represents a type that has values of type A or B at a given time. …Scala3 min read
Dec 24, 2020Implementing Type classes in Scala 3Scala 3 aka Dotty has been a topic of discussion in Scala community for almost 4 years now. The announcement of Scala 3.0.0-M3 release is a big milestone in this journey and paves way for a RC1, which is tentatively planned for January 2021. There are lots of new features…Dotty4 min read
Apr 27, 2020Functional Tracing using ScalaObservability helps us understand the internals of a software from outside. Every enterprise software which is scalable and resilient to new changes needs to built using the principle of observability. A high quality software with no bugs, eventually with growing usage and complexity will present unknown problems. That is the…Tracing6 min read
Oct 23, 2019Functional concurrencyThis is a write up about how to design applications that maintain shared state, use concurrent code and are still based on the principles of functional programming. But first lets understand why it is easier said than done The trouble is that essentially all the interesting applications of concurrency involve…Scala5 min read