flan/docs/overview.md
2024-07-06 23:23:54 +10:00

39 lines
690 B
Markdown

# Overview
Concepts:
- Primitives
- u8, i32, f32, bool, char
- lists, slice, fixed-length array builtin, matrices
- Control flow
- for, while, break
- Structs & tuples
- Let bindings
- `Ptr a`
- Pattern matching
- ADTs
- Mutability
- const by default?
- Functions
- Array syntax
- ranges `arr[1..]`, `arr[..3]`
- index `arr[4]`
- Stdlib
- string
- vec/dynarray
- hashtable
- option/result
C-like with Roc syntax.
Start with interpreter. Output C later down the track
```rust
let slice = &[u32];
[1,23,45,4,1]
let new_vec: Vec<i32> = iterator.iter_mut()
-> map(|x| *x = 100 ) -- allocs?
-> filter -- allocs?
-> filter -- allocs?
.collect()
```