Lazarus Language Reference

These documents describe the current Lazarus language: what it looks like, how each feature works, and how it maps to the Lua output.

Start with 01-overview.md if you are new to the language. The documents are written to be read in order, but each one also works as a standalone reference.

Contents

DocumentWhat it covers
01-overview.mdWhat Lazarus is, the three file kinds, a complete working example
02-variables-and-types.mdBindings, mut, primitive types, strings, function types
03-classes.mdClass files: fields, constructors, methods, visibility, enums
04-control-flow.mdif, while, loop, for, for-in, match, break, return
05-types-and-data.mdOption, Result, List, Map, custom enums, generics
06-objects-and-modules.mdObject files, imports, the standard library, building
07-traits.mdTrait files, inline traits, implement
08-interop.mdextern declarations, lua bodies, platform gating