# Luna user guide

- [Preface](/luna-user-guide/readme.md)
- [Starting Out](/luna-user-guide/installation.md)
- [What you need to dive in](/luna-user-guide/installation/installation.md)
- [Learning the interface](/luna-user-guide/installation/interface.md)
- [Explorer](/luna-user-guide/explorer.md)
- [Syntax](/luna-user-guide/visual_representation.md)
- [Visual representation](/luna-user-guide/visual_representation/visual_representation.md)
- [Textual representation](/luna-user-guide/visual_representation/textual_representation.md)
- [Switching between representations](/luna-user-guide/visual_representation/switching_representations.md)
- [Types 101](/luna-user-guide/types.md)
- [Basic data types](/luna-user-guide/basic-datatypes.md)
- [Functions](/luna-user-guide/calling_functions.md)
- [Basics](/luna-user-guide/calling_functions/calling_functions.md)
- [Defining functions](/luna-user-guide/calling_functions/defining_functions.md)
- [Creating custom data types](/luna-user-guide/classes.md)
- [Algebraic classes](/luna-user-guide/classes/classes.md)
- [Constructors and pattern matching](/luna-user-guide/classes/constructors.md)
- [Type polymorphism](/luna-user-guide/classes/polymorphism.md)
- [Advanced types](/luna-user-guide/advanced_types.md)
- [Libraries](/luna-user-guide/libraries.md)
- [Calling C Functions](/luna-user-guide/calling-c-functions.md)
- [FAQ](/luna-user-guide/faq.md)
