The Artima Developer Community
Sponsored Link

Heron-Centric: Ruminations of a Language Designer
Online Programming Lanugage Discussions
by Christopher Diggins
September 3, 2006
I haven't been posting as much at Artima lately, but I have been posting a fair amount of questions and ideas at


I know that some of the readers of my blog are particularly interested in my blog posts about language design, but unfortunately I haven't been making as many contributions lately. The truth is that I have been wrestling with some pretty significant bugbears with regards to the Cat type system. To help defeat them, I have been calling on the big guns at, a discussion site for programming language and type system theorists. is admittedly over my head at times, but sometimes jumping into the deep end is the best way to learn to swim. It is a good place to hang out for aspiring language designers. They do have their own jargon at that site which can be a bit impenetrable at times, so I recently purchased the Types and Programming Languages book by Benjamin C. Pierce.

What is happening right now with Cat is that I am trying to merge static type-checking and dynamic type-checking in a single language. Not really anything new when you think about it. many languages support or at least provide the tools to implement variant types. What I am doing a bit different is that types have become first class values in Cat, and the core language is dynamically typed. At the same time Cat supports, and in fact encourages, type annotations, and optional compilation.

If a Cat program is compiled then the compiler is expected to precompute the type-expressions the same way compilers for other language precompute constant integer expressions. Like how 2 + 5 will often be replaced with the value 7 at compile-time.

In language implementation news, the newest version of Cat is approaching completion, but I want to finish some more of the type checking functionality first before I put it out there.

Talk Back!

Have an opinion? Readers have already posted 4 comments about this weblog entry. Why not add yours?

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 © 2006 Christopher Diggins. All rights reserved.

Sponsored Links


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