# Ply and chords

**URL:** <https://uzu.lurk.org/t/ply-and-chords/2724>\
**Category:** TidalCycles\
**Tags:** questions\
**Created:** [9 January 2021 21:24 UTC](https://uzu.lurk.org/t/ply-and-chords/2724 "2021-01-09T21:24:28Z")\
**Posts on this page:** 1\
**Showing post:** 7

<div class="post-metadata">

**Author:** ![yaxu](https://uzu.lurk.org/user_avatar/uzu.lurk.org/yaxu/32/2_2.png) [@yaxu](https://uzu.lurk.org/u/yaxu)\
**Post date:** [10 January 2021 01:29 UTC](https://uzu.lurk.org/t/ply-and-chords/2724/7 "2021-01-10T01:29:38Z")

</div>

Ok I just stayed up a bit too late looking into this.. I was working on a fix that was getting very long and complicated, when suddenly this very short and simple solution came to me:

```haskell
ply :: Pattern Time -> Pattern a -> Pattern a
ply = tParam _ply
 where _ply n pat = squeezeJoin $ (_fast n . pure) <$> pat

```

In these moments I realise that Haskell is a pretty neat language..

_edit_ Note that this new version accepts fractional ply factors.. going to have to sleep now but `ply 1.5` would likely be cool..

---

_[View the full topic](https://uzu.lurk.org/t/ply-and-chords/2724)._
