The Artima Developer Community
Sponsored Link

Heron-Centric: Ruminations of a Language Designer
Representing Units of Measure
by Christopher Diggins
September 23, 2005
Various musings about how to deal with units of measure in the Heron graphics library.


I am [hopefully] laying the foundation for the standard graphical library for Heron and I have been learning about Scalable Vector Graphics (SVG). I am trying to keep my fingers on the pulses of various technologies in order to ensure easy interoperability. For instance, it would be nice if the various primitive drawing functions could be done just as easily to a bitmap, as to an SVG file.

Anyway, that said, one thing I notice about SVG, HTML, CSS, etc., is that they usually support multiple units of measure: pixels, cm, inches, points, and percent. Most library API's I am familiar with only give one option: pixels. This raises some of the following questions:

I am only scratching the surface of the topic of units of measure. In physics units of measure are a very big deal. For those interested in further exploring the topic of units of measure as types, here are some related links:

As usual, any ideas or suggestions are most welcome.

Talk Back!

Have an opinion? Readers have already posted 15 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 © 2005 Christopher Diggins. All rights reserved.

Sponsored Links


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