diff options
| author | Jake Zerrer <him@jakezerrer.com> | 2025-11-26 15:10:20 -0500 |
|---|---|---|
| committer | Jake Zerrer <him@jakezerrer.com> | 2025-12-01 16:04:39 -0500 |
| commit | fd64baa4128744c603d5d7b11bd82dc295ad7b6b (patch) | |
| tree | 1304a11acf7998f52e564b79dd491db6441ca4a1 | |
| parent | bc500bb5dc9f32b7b50ce39c5a98df13322e4167 (diff) | |
Add namespace header with credits
| -rw-r--r-- | src/unheard/cycles.clj | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/src/unheard/cycles.clj b/src/unheard/cycles.clj index 3cbfb97..a067142 100644 --- a/src/unheard/cycles.clj +++ b/src/unheard/cycles.clj @@ -1,4 +1,32 @@ -(ns unheard.cycles) +(ns unheard.cycles + "Pattern composition library for temporal sequences. + + This library provides combinators and modifiers for building hierarchical + pattern structures that unfold into concrete time intervals. It supports + sequential, parallel, and forking composition, along with temporal + transformations like rate scaling, elongation, and replication. + + The design is inspired by TidalCycles and Strudel, with each function + documented alongside its equivalent operator from those systems. + + Core Combinators: + - l (list/fastcat): Sequential subdivision in lockstep + - f (fork/slowcat): Sequential cycling across iterations + - p (parallel/stack): Simultaneous overlay + + Modifiers: + - rate: Speed scaling (* and / operators) + - elongate: Temporal weighting (@ operator) + - rep: Element replication (! operator) + + Unique Operators: + - paste: Template-based pattern construction (not in TidalCycles/Strudel) + + See: https://tidalcycles.org + https://strudel.cc + + Credit: TidalCycles by Alex McLean + Strudel by Felix Roos and contributors") (defn l "List combinator: subdivides time evenly among children, advancing in lockstep. |
