SkillAgentSearch skills...

Unrolled

๐Ÿงป Unroll for-loops at compile-time.

Install / Use

/learn @schneiderfelipe/Unrolled
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

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

View on GitHub
GitHub Stars12
CategoryDevelopment
Updated1y ago
Forks0

Languages

Nim

Security Score

80/100

Audited on Sep 12, 2024

No findings