mirror of
https://github.com/schneiderfelipe/unrolled
synced 2026-01-14 11:51:37 +00:00
No description
| docs | ||
| src | ||
| tests | ||
| .gitignore | ||
| LICENSE | ||
| README.md | ||
| unrolled.nimble | ||
WARNING: this project has been retired. For a Rust-based alternative, see crunchy.
unrolled
Unroll for-loops at compile-time.
var total: int
unroll for i in 1..3:
total += i
The above generates the following code (check with expandMacros)
var total: int
block:
total += 1
block:
total += 2
block:
total += 3
(The usage of blocks ensure variables never "leak".)
Note: currently, we have two serious known bugs, one regarding variable definitions in the loop body (see #1), and one about nested loops (see #2). I expect to solve them some time soon.
Installation
unrolled supports Nim 1.0.0+ and can be installed using Nimble:
$ nimble install unrolled
Other projects
- Unrolled.jl (Julia)