Varun Ramesh's Blog


Articles about the design and implementation of programming languages

Simple Tips to Level Up Your Python Programming Skills

November 14th

Simple tips for beginners to level up their Python skills (with interactive code snippets).

The Boehm GC Feels Like Cheating

March 15th

Integrating garbage collection into a C application was almost too easy.

No More Primitives - What Python and Java Get Wrong

March 14th

Many languages distinguish between primitives on the stack and objects on the heap. Others only have objects, and thus require primitives to aways be boxed. It turns out you can get the best of both worlds.

Lua Gotchas

October 20th

Lua is an awesome language, but it has some annoying features that have caused endless frustration for me.

Unifying Dynamic Type Tests and Type Refinement

September 3rd

Some typecheckers understand dynamic type tests, thus avoiding downcasting.

Stackless vs. Stackful Coroutines

August 18th

Coroutines can either be stackless or stackful. The terminology is somewhat confusing.

Automatically Promoting Constructor Parameters to Fields

March 30th

When writing object-oriented code, you frequently want a constructor that takes in values and assigns them to object fields. Some languages reduce the repetition required for this.