mitchmindtree / cycles

A cyclic pattern abstraction, heavily inspired by TidalCycles.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

cycles crates.io docs.rs

A cyclic pattern abstraction, heavily inspired by TidalCycles.

Started as an attempt at porting the Pattern abstraction and related items from the TidalCycles' Haskell implementation, though some liberties have been taken in order to achieve a more Rust-esque API.

The goal of this crate is to aim for a similar level of ergonomics to TidalCycles (it's hard to compete with Haskell!), while taking advantage of Rust's ability to provide low-to-zero-cost abstractions.

The [Pattern] trait

The essence of this crate is the [Pattern] trait. Patterns are types that can be queried with a [Span] to produce a sequence of [Event]s. All other items are related to constructing, applying, modifying or mapping types implementing Pattern.

About

A cyclic pattern abstraction, heavily inspired by TidalCycles.

License:GNU General Public License v3.0


Languages

Language:Rust 100.0%