# inside

From TidalCycles userbase

Type: `inside :: Pattern Time -> (Pattern a -> Pattern b) -> Pattern a -> Pattern b`

**inside** carries out an operation 'inside' a cycle.

For example, while `rev "0 1 2 3 4 5 6 7"`

is the same as `"7 6 5 4 3 2 1 0"`

, `inside 2 rev "0 1 2 3 4 5 6 7"`

gives `"3 2 1 0 7 6 5 4"`

.

What this function is really doing is 'slowing down' the pattern by a given factor, applying the given function to it, and then 'speeding it up' by the same factor. In other words, this:

`inside 2 rev "0 1 2 3 4 5 6 7"`

Is doing this:

`fast 2 $ rev $ slow 2 "0 1 2 3 4 5 6 7"`

.. so rather than whole cycles, each half of a cycle is reversed.