Carbon!

I’ve been working on a “superframework” for Lua the past month and a half or so called Carbon. It provides .NET-styled APIs and utilities for any Lua 5.1 and above, and it’s pretty nifty.

Just recently, however, I finally got around to publishing the documentation in a friendly format. Most of the code has been documented from the getgo using a custom documentation style I’ve been developing for some time, but now it’s transformed into a beautiful documentation site.

Declarations don’t look all that bad in-code either:

1
2
3
4
5
6
7
8
9
10
--[[#method {
	public @Dictionary Dictionary:New([@table data])
		optional data: The data of the dictionary.

	Turns the given object into a @Dictionary.
	Allows method-style syntax to be used on the object.
}]]
function Dictionary:New(object)
	...
end

There are a couple obscure tokens, but otherwise, it’s still very readable. Using ReadTheDocs, it also produces something quite attractive: Collections.Dictionary.

One of these days, I might write a post that goes into depth explaining the rationale behind Carbon, but until then, go check out the docs!