39 lines
690 B
Markdown
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()
|
|
``` |