#moonast
Playground

Change the declaration. Watch the file change.

This page is not a recording. quote, attr and gen are compiled to JavaScript and loaded here, so the right-hand plate is what the library produced from what you typed on the left.

models.mbt edit me
describe.g.mbt
// Generated by describe from models.mbt. Edit those files, not this one.

///|
fn Point::describe(self : Point) -> String {
  ignore(self)
  "Point(x, y)"
}
loading the engine

The engine is src/examples/play compiled to JavaScript. It is loaded once and reused, so typing stays instant. A hole whose name ends in * is spliced: give it one value per line.