mason

doc

The previous section should give you everything you need to know to write awesome modules. But how do you brag about them?

| (with a space after it) starts a doc comment. These have to go at the start of an indented block. They go inside the thing they're documenting.

| This here's my module. Is it not nifty?

double. \:Num n:Num
	| Twice a number.
	* 2 n

Point. class x:Num y:Num
	| 2D coordinate.

	transpose \:Point
		| Point with flipped x and y.
		new Point .y .x

Currently doc comments are completely ignored.

todo

Normal (|| ) comments tell you useful information about the code. todo comments indicate things you need to change before committing to source control.

|| A single unit.
one. 1
todo check sign
two. -2

region

region visually groups your code.

The code of the region goes in an indented block, but does not introduce a new program block.

obj =
	region Constants
		one. 1
		two. 2

	region Functions
		|| `region` doesn't create new program blocks.
		|| Locals from other regions are accessible.
		double. &*[two]

obj.double obj.two

You made it to the end of the tour!

Have a comment about the language? Create an issue or Chat on gitter or contact me directly.