1.
Welcome to Claro!
1.1.
Hello, World!
2.
Common Programming Concepts
2.1.
Variables & Primitive Types
2.2.
Separate Variable Declaration & Initialization
2.3.
Variable Reassignment
2.4.
Control Flow
2.4.1.
If-Else
2.4.2.
While
2.4.3.
Pipes
3.
Types
3.1.
Builtin Collections
3.1.1.
Lists
3.1.2.
Sets
3.1.3.
Maps
3.1.4.
Tuple
3.2.
Aliases
3.2.1.
Aliases are Not a New Type Declaration
3.2.2.
(Advanced) Recursive Alias Type Definitions
3.2.2.1.
(Advanced) Impossible Recursive Alias Types
4.
Type Inference
4.1.
Inference Examples
4.2.
Required Type Annotations
4.3.
Types Are Constrained by Context
5.
Procedures
5.1.
Functions
5.2.
Consumers
5.3.
Providers
6.
Lambdas & First Class Procedures
6.1.
Lambdas are "Closures" (for now)
7.
Generics
7.1.
Contracts
7.1.1.
Implementing a Contract
7.2.
Generic Return Type Inference
8.
Concurrency
8.1.
Graph Procedures
8.2.
Graph Procedure Composition
8.3.
Calling Graph Procedures
8.4.
(Advanced) Conditional Subgraph Execution
9.
Guaranteed Deadlock-Free Concurrency
9.1.
Blocking Procedures
9.2.
Re: "What Color is Your Function?"
9.2.1.
(Advanced) Blocking Generics
Light
Rust
Coal
Navy
Ayu
The Claro Programming Language (DRAFT)
Common Programming Concepts