The Artima Developer Community
Sponsored Link

Heron-Centric: Ruminations of a Language Designer
The Relationship Between HeronFront and HeronScript
by Christopher Diggins
September 20, 2005
File this under 'tooting my own horn'.


Every once in a while I do something that I am particularly proud of. In this instance I am bursting with pride because I am currently using Heron code inside of the HeronScript interpreter. HeronScript is written in C++, but I use the Heron to C++ translator (HeronFront) in order to make functions and objects dynamically accessible to the interpreter.

One big problem with implementing an interpreter is that you have to register low-level types and functions so that they can be called dynamically by the interpreter. With Heron this is relatively trivial because all Heron objects provide a reflective API. C++ classes generated using HeronFront also have these reflective API calls, for instance: object AnyGivenHeronClass::_invoke(char* name, list<object> args). And yes even your basic int classes have these.

This means that if nothing else, Heron would be useful for those who want more dynamicism from their C++ code by generating class hierarchies with reflective API's. Anyway, after spending the last 12 hours hunting down a dangling memory block bug in my C++ code, I will be glad when I am finally able to rid myself of the shackles of C++ for good.

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

Sponsored Links


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