Hi there!

I am Abhinav Sarkar. I'm a software engineer currently living in Bangalore, India. When not making software, I read books, play drums, take photos and ride my bike.

While you're here, you can read my blog posts, my notes, learn about me and this website, or look at my projects, the books I've read, the photos I've taken, and the recent activities I've done.

Feed Link to Atom feed of posts

Recent Notes

Short posts on miscellaneous topics.

See more notes here.

Feed Link to Atom feed of posts

Recent Posts

Long-form posts on mostly programming related topics.

Implementing Co, a Small Interpreted Language With Coroutines #2: The Interpreter

  • A thirty-two minute read
  • 4 🗣️ 7 🔁

In the previous post, we wrote the parser for Co, the small interpreted language we are building in this series of posts. The previous post was all about the syntax of Co. In this post we dive into the semantics of Co, and write an interpreter for its basic features.

Read more

Implementing Co, a Small Interpreted Language With Coroutines #1: The Parser

  • A twenty-three minute read
  • 2 🗣️ 2 🔁

Many major programming languages these days support some lightweight concurrency primitives. The most recent popular ones are Goroutines in Go, Coroutines in Kotlin and Async in Rust. Let’s explore some of these concepts in detail by implementing a programming language with support for coroutines and Go-style channels.

Read more

Solving Advent of Code “Handy Haversacks” in Type-level Haskell

  • A sixteen minute read
  • 2 🗣️ 1 🔁

I have been trying to use type-level programming in Haskell to solve interesting problems since I read Thinking with Types by Sandy Maguire. Then I found myself solving the problems in Advent of Code 2020 and some of them seemed suitable to be solved with type-level programming. So I decided to give it a shot.

Read more

Visit the archive for ten more posts.

Like the posts? Subscribe to get future posts by email.

Elsewhere on the World-Wide Web