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.

JSON Parsing from Scratch in Haskell: Error Reporting

  • A forty-six minute read
  • 0 comments
  • 3 🗣️ 4 🔁

In the previous post we wrote a simple but correct JSON parser in Haskell. The parser was written very naively: if it failed, it returned nothing. You couldn’t tell what the failure was or where it happened. That’s OK for a toy parser but error reporting is an absolute must requirement for all good parsers. So in this post, we’ll add simple but useful error reporting capability to our JSON parser.

Read more

JSON Parsing from Scratch in Haskell

  • A forty-two minute read
  • 24 comments
  • 11 🗣️ 20 🔁

JSON is probably the most used standard file format for storing and transmitting data on the internet in recent times. Though it was historically derived from JavaScript, it is a programming language independent format and is now supported by almost all languages. JSON has a simple syntax specification with only four scalar data types and two composite data types. So, writing a parser for JSON is a great exercise for learning the basics of parsing. Let’s write one from scratch in Haskell.

Read more

Notes for ‘Thinking with Types: Type-level Programming in Haskell’, Chapters 1–5

  • A eighteen minute read
  • 7 comments
  • 5 🗣️ 9 🔁

Haskell—with its powerful type system—has a great support for type-level programming and it has gotten much better in the recent times with the new releases of the GHC compiler. But type-level programming remains a daunting topic even with seasoned haskellers. Thinking with Types: Type-level Programming in Haskell by Sandy Maguire is a book which attempts to fix that. I’ve taken some notes to summarize my understanding of the same.

Read more

Visit the archive for six more posts.

Recent Books

Books I've recently finished reading.

See more readings here.

Recent Activities

Activities I've recently done.

Oct 21   1:29:25 hr
Oct 16   1:23:26 hr
Oct 15   1:13:29 hr
Oct 13   1:17:09 hr
Oct 9   1:11:12 hr

See more activities here.

Some photos I've taken.

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

Elsewhere on the World-Wide Web