cycles 0.2.4

A cyclic pattern abstraction, heavily inspired by TidalCycles.
Documentation
# cycles [![crates.io]https://img.shields.io/crates/v/cycles.svg][crates-io] [![docs.rs]https://docs.rs/cycles/badge.svg][docs-rs]

**A cyclic pattern abstraction, heavily inspired by [TidalCycles][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. `Pattern`s 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`.

[crates-io]: https://crates.io/crates/cycles
[docs-rs]: https://docs.rs/cycles/
[tidalcycles]: https://tidalcycles.org/