Profile avatar
debasishg.bsky.social
Programmer. Author: Functional and Reactive Domain Modeling (Manning 2016), DSLs In Action (Manning 2010). Father. Husband. Seinfeld fanboy. FP aficionado.
178 posts 537 followers 115 following
Prolific Poster
Conversation Starter

keep an eye on @bartoszmilewski.bsky.social 's The Dao of Functional Programming .. some selective pages from the ToC .. github.com/BartoszMilew...

Flattening a data structure can lead to a host of advantages both with respect to performance and ergonomics. This blog post demonstrates them by writing 2 interpreters - 1 that allocates recursive structures on the heap and one that flattens them out into an array www.cs.cornell.edu/~asampson/bl...

Transformers from machine learning meet Applicative Functors from functional programming .. will one weekend of reading be enough for me to digest some of this ? cybercat.institute/2025/02/12/t...

In many of the cases where we use monads, applicatives might be a better choice as it's less powerful. Reach out for the monad only if u need the additional power. This is an example of the recommended principle of using the least powerful abstraction.

In memory storage of FoundationDB moved from binary search tree to radix tree .. here are the trade offs .. a nice talk summarising the rationale and some optimization and performance figures .. youtu.be/KbPs-Ka-SeY?...

A great lesson in hash table design and implementation. Starts with the general principles of the data structure design (some great details here) and then dives into the specific policy based implementation of @clickhouse.com. 🧵(1/2)

How should a modern compiler design toolchain look like ? Chandler Carruth presents Data Oriented Compiler Design, using the same principles to lexer, parser and the whole pipeline .. youtu.be/ZI198eFghJk?...

Richard Eisenberg discusses pay-as-you-go type systems .. he says in Rust we don't pay as we go. Everyone has to pay all the time for Rust fine memory control .. many parts of your application may be suitable for garbage collected languages like OCaml .. signalsandthreads.com/future-of-pr...

Slides of my presentation "Effects - algebraically yours" at @fnconf.bsky.social Functional Conf 2025 are now available online It's based on Scala3 and examples are mostly from ZIO and Kyo with some cats-effect as well. Here's the abstract of the talk .. link: www.slideshare.net/slideshow/ef...

A Chris Lattner_llvm interview where he discusses his thoughts about Mojo and the various influences he had while designing Mojo .. He mentions about the aha! moments, how he likes zig comptime and how Prolog, Lisp and APL shaped many of his thinkings .. pldb.io/blog/chrisLa...

It's always nice to see something evolving & improving state of the art through algorithmic improvements. The core of MLA in DeepSeek is the low-rank joint compression for keys & values to reduce KV cache! This smart idea save them tons of memory during inference by not storing the full kv pairs

Categorical interpretation of Value Iteration - a step towards a category theory based interpretation of Reinforcement Learning .. cgi.cse.unsw.edu.au/~eptcs/paper...

In his Breadth First Numbering paper, Okasaki makes the observation that sometimes a more general problem is easier to solve than the one at hand. And he provides an elegant solution to it. dl.acm.org/doi/pdf/10.1... Are there any other examples in Computer Science where similar trick applies ?

This is such a great piece of advice from matklad! Link to the full blogpost: matklad.github.io/2024/09/06/f...

sunk cost fallacy is a trap .. existing code has a very powerful influence and may often lure you into the wrong abstraction .. a nice blog post by Sandy Metz .. sandimetz.com/blog/2016/1/...

Aalok Thakkar is teaching Introduction to Computer Science at Ashoka University using OCaml. The course looks great: aalok-thakkar.github.io/teaching/ics... 😍

If you want to get into the details of implementing a fast, efficient, cache friendly hash table that works at google scale, watch this great talk by Matt Kulukundis that explains the implementation that uses open addressing, SIMD quadratic probing and other tricks .. youtu.be/ncHmEUmJZf4?...

Scala 3 has such a powerful type system. Just look at the way Kyo (getkyo.io) uses its power in implementing the Pending (<) type .. `opaque type <[+A, -S]`, where `A` is the type of the value produced and `S` is the type of the pending effects. (🧵1/3)

Do kids of today read these books? In our early days there used to be a series of these Little Mathematics Library published by Mir Publishers. Each book deals with a specific topic and used to be of around 50-55 pages. I really enjoyed them and my 14 yo also seems to be enjoying them.

Is this still status quo in the Go land ? The inventor of GoLang on implementing `filter` .. github.com/robpike/filter

Don Knuth's first analysis of an algorithm way back in the summer of 1962 .. jeffe.cs.illinois.edu/teaching/dat...

Is Derek Dreyer's thesis "Understanding and Evolving the ML Module System" still the best resource to understand ML modules ?

Is Scala's `Future::fallbackTo` of any use ? `that` is eager, so always gets executed irrespective of if `this` succeeds or not. (BTW I know I can use `recoverWith`) Another classic usecase for using effects ..

(The most nerdy 2025 post received so far - this one from Math Cafe on X) 2025 = Number of spanning trees in the complete bipartite graph K_{3,5}. en.wikipedia.org/wiki/Complet...

Generalizing an algorithm is often a generalisation of the algebra. In this post on Dijkstra's shortest path algorithm, the author has generalised the weights from real numbers to abstract algebraic structures. Generalized Dijkstra in Haskell - acatalepsie.fr/posts/haskel...

Getting lots of posts on my X feed related to breadth first traversal of a graph. Here's an interesting problem as a Functional Pearl presented by Chris Okasaki in ICFP 2000 ..

Finally watched the full video of Don Knuth's 2024 annual Christmas lecture. 🧵(1/6)

When you need to write lots of unsafe Rust, it's better to switch to a language that's engineered for writing memory unsafe code. A great blog post on this theme .. When Zig is safer and faster than Rust (zackoverflow.dev/writing/unsa...)

Well, Prof Don Knuth revealed during his annual Christmas lecture this year his most favorite algorithm .. he mentioned that it's not only a problem in algorithms but also the beautiful data structure of graph representation that influenced his decision ..

Quotient Filter, which supports the basic operations of the Bloom filter, achieving roughly comparable performance in terms of space and time, but with better data locality. Paper: Don’t Thrash: How to Cache Your Hash on Flash - vldb.org/pvldb/vol5/p...

Time to celebrate Christmas with the gift of books to enjoy during the holidays ..

Nice explanation of why Cassandra moved away from comparison based data structures to an optimal trie based ones in their memtable implementation. They describe how to achieve better data locality as well as cache line efficiency with their custom trie implementation .. www.vldb.org/pvldb/vol15/...

A paper from 2008 co-authored by @yminsky.bsky.social on why Jane Street started using OCaml for a wide range of tasks: critical trading systems, quantitative research, systems software, and system administration.

SQLite deciding NOT to add hash joins and instead use Bloom Filter for performance gains with minimal added complexity - smart! I always love when a smart data structure based solution solves your real world use case .. www.vldb.org/pvldb/vol15/...

Looking back trying to recollect some of the best papers on database and storage that got published in 2024 and I enjoyed reading .. here are three of them. I might be missing a few though .. What's your list ?