Table of Contents
1. Basic Felix 101
1.1. Hello Felix
1.2. Overloading
1.3. Expressions
1.4. Value declaration
1.5. Variable declaration
1.6. Lvalue patterns
1.7. Mutators
1.8. Functions
1.8.1. Preconditions and postconditions
1.9. Procedures
1.9.1. Preconditions and Postconditions
1.10. Tuples
1.11. Pattern Matching Tuples
1.12. Numbered unions
1.13. Structs
1.14. Arrays
1.15. Unions
1.16. Pattern Matching Unions
1.17. The Conditional Expression
1.18. Objects
1.19. Regular Matching
1.20. Lexing
1.21. Lazy expressions
1.22. The block procedure
1.23. Generic Functions
1.24. Generic Structs and Unions
1.25. Argument Deduction
1.26. Generic modules
1.27. Inductive types
1.28. Higher order Functions
1.29. The "the" keyword
1.30. Currying
1.31. List functions
1.32. Modules
1.33. Koenig Lookup
1.34. Dynamic modules
1.35. Pointers
1.36. The ubiquitous goto
1.37. Procedure return
1.38. Loops
1.39. Conditional Statements
1.40. More on Conditionals
1.41. Failure
1.42. Dynamic exception handling using goto
1.43. Static exception handling using goto
1.44. Procedure Values Again
1.45. The while procedure
1.46. Lambda expressions
1.47. Standard types and Lexemes
1.47.1. Integer Lexemes
1.47.2. String
1.48. Floating matches
1.49. Identifiers
2. Intermediate Felix 201
2.1. The open directive
2.2. The use directive
2.3. Renaming definitions
2.4. Modular inheritance
2.5. Let expression
2.6. Metatyping
3. Felix threads -- Cooperative Multitasking
3.1. Message chain using fthreads
4. System interface
5. STL Containers
6. GLR parsing
6.1. top level parser
6.2. nested parser
6.3. Parser shortcuts
6.4. Mixed Mode Arithmetic