docLang
Fundamentals
Structure | pod::type.slot program structure |
Literals | syntax for literal types |
Expressions | syntax for expressions |
Statements | syntax for statements |
Exceptions | exception handling |
Type System
Type System | static type system with bit of dynamic thrown in |
Compilation Units | organization of source code |
Pods | creating pods |
Classes | creating class types |
Mixins | creating mixin types |
Enums | creating enum types |
Slots | slot model |
Methods | deep dive into method slots |
Fields | deep dive into field slots |
Inheritance | rules for slot inheritance |
Symbols | deep dive into symbols |
Facets | annotating pods, types, and slots with meta-data |
Functions
Functions | functional programming |
Closures | deep dive into closures |
Interop
Java FFI | Java foreign function interface |
Dotnet FFI | .NET foreign function interface |
Natives | implementing methods and fields in Java and C# code |
JavaScript | compiling to JavaScript |
Advanced
Deployment | how to deploy pods and applications |
Env | customizing the Fantom environment |
Serialization | reading/writing objects |
Concurrency | model for sharing data between threads |
Actors | message passing concurrency |
Naming | URI naming system |
Type Database | indexing and querying installed types |
Logging | logging APIs |
Localization | localization APIs |
DSLs | domain specific language and compiler plugins |
Appendix
Conventions | coding conventions we use |
Grammar | formal BNF syntax grammar |