1 Basic Scripting Technology
Getting Started: An introduction to the basics.
Intro to Felix for C++ programmers: Another introduction to the basics which focuses on C++ interaction.
Functions: A quick summary of functions and procedures.
Strings: Core string handling.
Regexps: Regexps with Google RE2.
Polymorphism: Basic parametric polymorphism in Felix.
1.1 Functional Programming Technology
Pattern Matching: pattern matching and the discriminated union construction.
Arrays: Core array handling.
Lists: Using the infamous list data structure.
1.2 Imperative Programming Technology
Streams: a powerful construction translating spatial sequences into temporal ones.
Objects: a highly dynamic object system loosely modelled on Java.
Coroutines: a mechanism for ultra-high speed synchronous context switching where control is exchanged explicitly.
Fibres: a mechanism for ultra-high speed synchronous context switching where control is exchanged using channels.
1.3 Concurrent Programming Technology
Faio: Handling Asynchronous Events.
Pthreads: Pre-emptive threading and Concurrency.
Networking: A brief introduction to TCP/IP with sockets.
1.4 Meta Programming Technology
Domain Specific Sub-Languages Extending the Felix grammar library.
1.5 C++ Integration Technology
Binding C Embedding C and C++ in Felix.
Programming with Plugins Dynamic Loading stuff.
Raw address manipulation Low level programming capabilities.
The Garbage Collector Considerations for programming with Garbage Collection.
Embedding Felix. How to embed Felix, particularly in foreign event loops.
2 Advanced Topics
Categorical type system: Generalised Arrays.
The fixpoint combinator for eager languages using open recursion.
Some parser combinators by Shayne Fletcher.
2.1 Appendices
Scalar Types: a summary of the core scalar types and a set of operations on them.