summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJake Zerrer <him@jakezerrer.com>2025-11-26 15:10:20 -0500
committerJake Zerrer <him@jakezerrer.com>2025-12-01 16:04:39 -0500
commitfd64baa4128744c603d5d7b11bd82dc295ad7b6b (patch)
tree1304a11acf7998f52e564b79dd491db6441ca4a1
parentbc500bb5dc9f32b7b50ce39c5a98df13322e4167 (diff)
Add namespace header with credits
-rw-r--r--src/unheard/cycles.clj30
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.