Introduction
1.
Quickstart
❱
1.1.
Write your first contract
1.2.
Deploying a contract to a testnet
2.
Using Fe
❱
2.1.
Installation
2.2.
Using projects
2.3.
Tutorials
❱
2.3.1.
Open auction
2.4.
Example Contracts
❱
2.4.1.
Open auction
2.5.
Useful external links
3.
Development
❱
3.1.
Build & Test
3.2.
Release
4.
Standard Library
❱
4.1.
Precompiles
5.
Specification (WIP)
❱
5.1.
Notation
5.2.
Lexical Structure
❱
5.2.1.
Keywords
5.2.2.
Identifiers
5.2.3.
Tokens
5.3.
Comments
5.4.
Items
❱
5.4.1.
Visibility and Privacy
5.4.2.
Structs
5.4.3.
Traits
5.4.4.
Enums
5.4.5.
Type Aliases
5.4.6.
Contracts
5.4.7.
Functions
❱
5.4.7.1.
Context
5.4.7.2.
Self
5.5.
Statements
❱
5.5.1.
pragma Statement
5.5.2.
const Statement
5.5.3.
let Statement
5.5.4.
Assignment Statement
5.5.5.
Augmenting Assignment Statement
5.5.6.
revert Statement
5.5.7.
return Statement
5.5.8.
if Statement
5.5.9.
for Statement
5.5.10.
while Statement
5.5.11.
break Statement
5.5.12.
continue Statement
5.5.13.
match Statement
5.5.14.
assert Statement
5.6.
Expressions
❱
5.6.1.
Call expressions
5.6.2.
Tuple expressions
5.6.3.
List expressions
5.6.4.
Struct expressions
5.6.5.
Index expressions
5.6.6.
Attribute expressions
5.6.7.
Name expressions
5.6.8.
Path expressions
5.6.9.
Literal expressions
5.6.10.
Arithmetic Operators
5.6.11.
Comparision Operators
5.6.12.
Boolean Operators
5.6.13.
Unary Operators
5.7.
Type System
❱
5.7.1.
Types
❱
5.7.1.1.
Boolean Type
5.7.1.2.
Contract Type
5.7.1.3.
Numeric Types
5.7.1.4.
Tuple Types
5.7.1.5.
Array Types
5.7.1.6.
Struct Types
5.7.1.7.
Enum Types
5.7.1.8.
Address Type
5.7.1.9.
Map Type
5.7.1.10.
String Type
5.7.1.11.
Unit Type
5.7.1.12.
Function Type
5.8.
Data Layout
❱
5.8.1.
Stack
5.8.2.
Storage
❱
5.8.2.1.
Constant size values in storage
5.8.2.2.
Maps in storage
5.8.2.3.
to_mem() function
5.8.3.
Memory
❱
5.8.3.1.
Sequence types in memory
6.
Contributing
7.
Release Notes
8.
Code of Conduct
Light (default)
Rust
Coal
Navy
Ayu
The Fe Guide
Fe Language Specification
Warning: This is a work in progress document. It is incomplete and specifications aren't stable yet.
Notation
Lexical Structure
Keywords
Identifiers
Tokens
Comments
Items
Visibility and Privacy
Structs
Traits
Enums
Type Aliases
Contracts
Functions
Context
Self
Statements
pragma
Statement
Assignment Statement
Augmenting Assignment Statement
const
Statement
let
Statement
revert
Statement
return
Statement
if
Statement
for
Statement
while
Statement
break
Statement
continue
Statement
assert
Statement
Expressions
Call expressions
Tuple expressions
List expressions
Index expressions
Attribute expressions
Name expressions
Literal expressions
Arithmetic Operators
Comparison Operators
Boolean Operators
Unary Operators
Type System
Types
Boolean Type
Contract Type
Numeric Types
Tuple Types
Array Types
Struct Types
Enum Types
Address Type
Map Type
String Type
Data Layout
Stack
Storage
Constant size values in storage
Maps in storage
to_mem()
function
Memory
Sequence types in memory