Unrolled
๐งป Unroll for-loops at compile-time.
Install / Use
/learn @schneiderfelipe/UnrolledREADME
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)
