The Artima Developer Community
Sponsored Link

Heron-Centric: Ruminations of a Language Designer
Implementing Programming Language Tools in C#
by Christopher Diggins
October 29, 2011
My passion is implementing programming languages. While the languages I have created (e.g. Cat and Heron) haven't exploded in popularity, I have learned a few things along the way and I've decided to share some of it back with the community.


My passion for designing and implementing programming languages started about 15 years ago, when it dawned on me, just how many common programming bugs were the results of how languages were designed. As a hobby I designed and implemented two languages: Heron and Cat.

Cat received some minor recognition. There have been nearly 4000 downloads, a couple of mentions in articles, and it has inspired other typed functional stack-based languages. Heron on the other hand has gone largely unnoticed.

Heron has been under development for about 10 years. The goal was to make a successful main-stream language with similar characteristics to C# and Scala. Last year I rewrote Heron from scratch, and the design reached a point that I was happy with. Some of my favorite features of Heron:

Once I was ready to start telling the world about Heron I asked myself a tough question: how could I convince a working programmer to use such an immature new language regardless of how great the feature set was? There were no libraries or tools, the implementation had poor performance, and was probably full of bugs! I decided to put Heron on the shelf until I find the time to make an implementation that programmers might seriously consider using.

For now I've decided to focus on sharing some of what I've learned over the last 15 years with the community as an article Implementing Programming Language Tools in C# 4.0. I hope to eventually build the material up into a book as well.

Talk Back!

Have an opinion? Be the first to post a comment about this weblog entry.

RSS Feed

If you'd like to be notified whenever Christopher Diggins adds a new entry to his weblog, subscribe to his RSS feed.

About the Blogger

Christopher Diggins is a software developer and freelance writer. Christopher loves programming, but is eternally frustrated by the shortcomings of modern programming languages. As would any reasonable person in his shoes, he decided to quit his day job to write his own ( ). Christopher is the co-author of the C++ Cookbook from O'Reilly. Christopher can be reached through his home page at

This weblog entry is Copyright © 2011 Christopher Diggins. All rights reserved.

Sponsored Links


Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use