InnocentZero's Treasure Chest

HomeFeedAbout MeList of interesting people

Welcome to the treasure chest

Functors, Applicatives and Monads

23 Aug 2025

In haskell, functors are basically type constructors that define the fmap function, i.e., they take a type t and wrap them in their own type which is constructed by passing t to the type constructor.

(...)
Tags: programming haskell category-theory

My experiments with OCaml - 4

03 Aug 2025

Alright, I was setting up the AST generator and I realized how painful it can truly be. No wonder every compiler writer complains of the parse phase itself. I'm taking an approach of not throwing in errors rn but let's see. I'd ideally want to be able to diagnose what's going wrong where, and then be able to debug print the AST that the compiler is generating.

(...)
Tags: programming ocaml

resources

14 Jul 2025

I'm tired of being asked for resources again and again. I'm dumping all of them here. I'll keep updating this list. I'm not categorizing them, I have better things to do in life. They are in no particular order. Ping me if an entry is stale. This is all I know atm. Will add more as and when I know. My own blog also has some notes, might be helpful.

Tags: programming

I don't love CS

13 Jul 2025

The truth is, I never loved CS. I never really wanted to do it. I was, just, intrigued by it. Really, that's all there is to it. Nothing more. My first love was always molecular biology and biochemistry.

(...)
Tags: life philosophy

Experiments with OCaml - part 3

05 Jul 2025

Ok, so the error last time was the fact that emacs was not able to pick up the change in ocaml switches, hence I restarted for my compositor to pick my settings and emacs picked it up wonderfully. Next, Fira Code ligatures were actually insanely annoying in emacs so I switched to ProFont, and it looks wonderful. Third, dune and dune-format packages are lifesavers.

(...)
Tags: programming ocaml
Other posts

Other posts
Creative Commons License
This website by Md Isfarul Haque is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.