Table of Contents
Table of Contents
Part I Basics
1 Intro
1.1 Error tolerance
1.2 Typographic conventions
1.3 Other notes
2 Hello world
3 Lexical conventions
4 Control structures
4.1 Empty instruction
4.2 Conditions
4.3 Dangling else
4.4 Labeled loops
Part II Types
5 Basic Types
5.1 Pointers
6 Structures
6.1 What's opt_struct?
6.2 Assignment to structures
6.3 Structure initializers
7 Polimorphism
7.1 Polimorphism vs templates
8 Functional values
8.1 Example
8.2 That's weird, I can't get it!
8.3 More examples
8.4 MLish variations about defining functions
8.5 Omitting return keyword
8.6 Closures
9 Tuples
10 Unions
11 Type inference
11.1 It's guessing? Is it safe?
11.2 Caveats
Part III Pattern matching
12 Pattern matching basic types
13 Pattern matching tuples
14 Pattern matching unions
14.1 What happen to C's switch and enums?!?
14.2 Fall through disclaimer
14.3 But I want fall through!
15 Case guards
15.1 Name binding and case guards
15.2 Case guards and pattern exhaustiveness
16 Pattern matching structures
17 Exhaustive matching
18 let statement
Part IV Other stuff
19 Module system
19.1 Interface
19.2 Implementation
19.3 Hey, where did #include go?
19.4 Core module
20 Initialization and finalization of modules
20.1 Greedy linking
20.2 Mutually recursive modules
21 Exceptions
22 Function prototypes
Part V Appendixes
23 Intro
24 Type system
24.1 Basic types
24.2 Function type
24.3 Tuples
24.4 Structures
24.5 Unions (datatypes)
24.6 Named types
24.7 Foreword
25 Wish list
Table of Contents