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.
199 posts 574 followers 118 following
Prolific Poster
Conversation Starter

This blog post makes a strong point on feeding the compiler enough *intent* to generate more optimized code. This can be at the expense of added verbosity in the language because nothing beats efficiency when you need it. And Zig does it .. alloc.dev/2025/06/07/z...

Sunday morning surprise from Amazon .. always wanted to dig deep into the computational aspects of database concurrency control. Papadimitriou serves the perfect recipe ..

Amazing talk by Ankush Desai on using formal & semi-formal methods as a thinking tool in the design process. The core message of the talk is Don't fear the Formal Methods, treat them as a thinking tool. Formal methods teach u to think at the proper level of abstraction antithesis.com/blog/2025/bu...

Spent an hour and a half on this interview on a Sunday morning with @ranjitjhala.bsky.social ..absolutely fascinating. Right from philosophical discussions down to a cool demo of refinement types in Rust. Absolutely loved the demo and surely would be playing around with Flux youtu.be/goUZczQAfgk?...

My first project written in @unison-lang.org ! gvolpe.com/blog/unison-...

Optimizing Radix Sort on GPUs - a very nice post. gpuopen.com/learn/boosti...

One of the essays of Paul Graham from 2002 that resonated a lot to me when I read back then .. Succinctness is power. I always add a post scriptum - only when not abused .. t.co/MQaDLsEUQe

One of the cool applications of the typestate pattern in Rust is the design of SquirrelFS, a new file system with crash-consistency guarantees that are checked **at compile time**. In Rust the typestate pattern plays nicely with the ownership model semantics .. arxiv.org/abs/2406.09649

Loved this blogpost from matklad and the template for swarm testing an arbitrary data structure .. tigerbeetle.com/blog/2025-04...

my data structure lessons on a Friday evening .. rope in Zed has a very clever implementation. It's implemented in terms of SumTree, a thread-safe, snapshot-friendly, copy-on-write B+ tree. (1/2)

New blog post! "Load store conflicts", in which we look at some performance sensitive code that has surprisingly dramatic performance swings based on the compiler and the microarchitecture used. Reposts appreciated! zeux.io/2025/05/03/l...

How CPUs work and compilers can be wicked smart .. a very nice talk by Matt Godbolt .. the demo was awesome with branch predictor and compiler optimisations .. youtu.be/-HNpim5x-IE?...

awesome post .. describes the abstractions behind transactional systems - the commonality and the variabilities .. transactional.blog/blog/2025-de...

What if your test system could find bugs you didn’t anticipate? Meet Antithesis: deterministic simulation testing for the rest of us. It changed how I test—and build—Graft. This post covers DST’s origins, how Antithesis works, and what it taught me. sqlsync.dev/posts/antith...

More than a decade old publication, but still gold .. queue.acm.org/detail.cfm?i...

You can't skip this survey on skiplist - it describes all variations of skiplist implementations (lock free, rotating, no-hotspot etc.), how skiplists compare to tree structures, how to optimise skiplist implementations for modern hardware and a host of other variants. (1/2)

Going back to the basics weekend reading - another great paper by Graham Hutton from 1998 that explains the duality between fold and unfold. (1/2)

If you want to learn about the basics of programming language semantics, this paper by Graham Hutton is an excellent exposition to the subject. (1/2)

Driven by design goals possibly the Typescript team took the right decision to port one garbage collected language to another .. Doing in Rust would have led to a much steeper timeline and lots of re-design and thinking in terms of how the Rust type system works .. www.reddit.com/r/programmin...

One of the fundamental papers that taught me the intersection of financial contracts & functional programming through combinators. A big part of my work on securities trading systems & the subsequent book that I wrote were influenced by the learnings from this paper www.cs.tufts.edu/~nr/cs257/ar...

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