Table of Contents
1. Category Reference
2. Basic Felix 101
2.1. Hello Felix
2.2. Overloading
2.3. Expressions
2.4. Value declaration
2.5. Variable declaration
2.6. Lvalue patterns
2.7. Mutators
2.8. Functions
2.8.1. Preconditions and postconditions
2.9. Procedures
2.9.1. Preconditions and Postconditions
2.10. Tuples
2.11. Pattern Matching Tuples
2.12. Numbered unions
2.13. Structs
2.14. Records: anonymous structs
2.15. Arrays
2.16. Unions
2.17. Pattern Matching Unions
2.18. The Conditional Expression
2.19. Objects
2.20. Regular Matching
2.21. Lexing
2.21.1. A (much) longer example
2.22. Lazy expressions
2.23. The block procedure
2.24. Generic Functions
2.25. Generic Structs and Unions
2.26. Argument Deduction
2.27. Generic modules
2.28. Inductive types
2.29. Higher order Functions
2.30. The "the" keyword
2.31. Currying
2.32. List functions
2.33. Modules
2.34. Namespaces
2.35. Koenig Lookup
2.36. Dynamic modules
2.37. Pointers
2.38. The ubiquitous goto
2.39. Procedure return
2.40. Loops
2.41. Conditional Statements
2.42. More on Conditionals
2.43. Failure
2.44. Dynamic exception handling using goto
2.45. Static exception handling using goto
2.46. Procedure Values Again
2.47. The while procedure
2.48. Lambda expressions
2.49. Axioms and Reductions
2.50. Standard types and Lexemes
2.50.1. Integer Lexemes
2.50.2. String
2.51. Floating matches
2.52. Identifiers
3. Intermediate Felix 201
3.1. The open directive
3.2. The use directive
3.3. Renaming definitions
3.4. Modular inheritance
3.5. Let expression
3.6. Metatyping
4. Felix threads -- Cooperative Multitasking
5. System interface
6. GLR parsing
6.1. top level parser
6.2. nested parser
6.3. Parser shortcuts
6.4. Lexing and parsing example
7. Mixed Mode Arithmetic
8. Classes
8.1. Polymorphic Classes
8.2. Polymorphic Methods
9. String formatting
9.1. C formatting
9.2. String interpolation
10. Typeclasses