Hello there! I am new to both Tidal and Haskell, but very excited by what I've learned so far.
I am attempting to use the off function to offset a pattern. I would also like to transpose the offset version AND reverse it. For example, here, I transpose the offset:
d1
$ off 0.25 (|+ n "12")
$ n "c e g b" # s "supervibe"
... and here I reverse it:
d1
$ off 0.25 (rev)
$ n "c e g b" # s "supervibe"
I can't seem to do both simultaneously, however. With other functions, I know I can do something like this:
d1
$ off 0.25 (jux rev)
$ n "c e g b" # s "supervibe"
... but with the |+ in play, I can't figure out how I'd chain together the transposing and the rev.
d1
$ off 0.25 (rev.(|+ 12))
$ n "c e g b" # s "supervibe"
Does this have the effect you want? If so, the dot operator in Haskell let's you make new functions by chaining other functions together. By putting dot between rev and + we make a new function that does both - on right after the other.
Secondary to the point at hand, and merely since I happened to notice it while reading:
Try to make a habit of always placing whitespace around the composition operator . ala:
(rev . (|+ 12))
If at some point one finds themselves working in other Haskell codebases (or even when Tidalling, potentially) then that symbol, without space on each side, can have a different meaning.
I found these more surprising since they are active by default, while the record selector thing is hidden behind an language flag. - Which might become the default later down the road, so the advice here is sound.
@jwaldmann Thanks!
Requested change made. It now reads: Function composition comes from mathematics - therefore it is really useful in making music.
The role of mathematics has been restored.
@xinniw This is way off topic here, but I wanted to say that I really enjoyed your Solstice stream. Very cool use of what sounded like granular glitch. Your advanced use of cycle subdivisions and variety of pattern groupings is really amazing. Lots to learn from.