The Puck Programming Language
1.
Basic Usage
1.1.
Variables and Comments
1.2.
Functions and Indentation
1.3.
Uniform Function Call Syntax
1.4.
Basic Types
1.5.
Conditionals and Pattern Matching
1.6.
Error Handling
1.7.
Blocks and Loops
1.8.
Module System
1.9.
Compile-time Programming
1.10.
Async System and Threading
1.11.
Memory Management
1.12.
Types System
1.13.
Structs and Tuples
1.14.
Unions and Enums
1.15.
Classes
2.
Syntax
2.1.
Call Syntax
2.2.
Indentation Rules
2.3.
Expression Rules
2.4.
Reserved Keywords
2.5.
A Formal Grammar
3.
Type System
3.1.
Basic Types
3.2.
Parameter Types
3.3.
Reference Types
3.4.
Abstract Types
3.5.
Advanced Types
4.
Module System
4.1.
What are modules?
4.2.
Using modules
4.3.
Implicit modules
4.4.
Defining interfaces [todo]
4.5.
Defining an external API [todo]
5.
Memory Management [todo]
6.
Metaprogramming
6.1.
Scope
6.2.
Usage
6.3.
Quoting [todo]
7.
Error Handling
7.1.
Errors as monads
7.2.
Errors as checked exceptions
7.3.
Errors as effects [todo]
7.4.
Unrecoverable Exceptions
8.
Async System
8.1.
Effects System [todo]
8.2.
Threading [todo]
9.
Language Interop [draft]
9.1.
Rust
9.2.
Swift, Nim
9.3.
Java, Kotlin
9.4.
Python, Racket, C
10.
Effects System [draft]
11.
Refinement Types [draft]
12.
Dependent Types [draft]
13.
Examples
Light
Rust
Coal
Navy
Ayu
The Puck Programming Language
Document not found (404)
This URL is invalid, sorry. Please use the navigation bar or search to continue.