generateMelodicSeed = slow 4 $ linger 0.5 $ repeatCycles 3 -- $ palindrome \n $ (+ (slow (irand (4)+1) (sometimes (inversion) (run (irand (4)+1))))) $ slow ((irand 3) + 1) $ e ("x"<~>(irand 8)) 8 $ "x*16"<~>(irand 5)
do d9 $ midicmd "stop" # s "midi" hush
scalePattern = slow 12 "
do cps (86/60/2) d9 $ midicmd "midiClock*48" # s "midi"
Related to closures, Partial application is the idea that, when supplying less than the required number of arguments for a function, it should not create an error, but rather return a closure that “encloses” over the partially applied arguments. This function then would take the missing arguments as its input and call the original function with all the data together. It is not a common feature outside of pure functional languages like
Haskell. However, some languages have add on libraries to simulate this effect.
The ability to partially apply functions makes it easier to compose functions together.
Notes mentioning this note
Functional Programming Functional Programming is a paradigm for software design. It favors implementing functionality by composition of pure function and...
Referential Transparency Often discussed in conjunction with the paradigm of [[Functional Programming]], Referential Transparency is the property of pure functions...
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.