Detail

C is not a 'very high level' language, nor a 'big' one, and is not specialized to any particular area of application.

-- Kernighan and Ritchie

Every day, I found
Man proved a gobbet in my mincing world.

-- Stevens

About

Detail is a new general-purpose programming language and execution environment.

It's nowhere near ready to use, but some of its parts are strictly specified. Some people may find them interesting.

Obviously this is a public site. Please don't spread it around, though. Releasing a new language is a hard problem and I don't want to go off half-cocked. If I've sent you a link, perhaps I've already mentioned this. If you were just browsing Sourceforge or something, welcome; and thanks for reading, and for respecting this request.

In either case, of course I'm happy to answer any questions. My email is curtis (at) buttercat (dot) com.

Download

If you want to play with Detail, you can download it from Sourceforge. Please note: this release is not useful for anything.

About these documents

This is the third documentation release of Detail. It should be a lot easier to understand than the second, if not exactly limpid.

My main goals with this release are making sure that (a) all the normative specifications are stable (they may still shift slightly, but nothing like how they have in the past), and well-commented (no more unexplained formulas!); and (b) every normative spec is accompanied by a design discussion.

I still think it is hard to read these docs and get a feel for exactly how Detail will work in real life. But it should be easier for people to understand why it's built the way it is.

As in the previous release, I have removed a bunch of stuff that I felt was superfluous to understanding in context, or that was not as nailed-down as the rest. In particular, the formal definitions of major component interfaces (formats, interpreters, etc) are out until I can actually test them in a running system. Hopefully this won't be too long.

Contents