Correlated randomness
Perlin noise, and other forms of correlated randomness, are commonly used in generative art. See this video by The Coding Train: https://www.youtube.com/watch?v=BjoM9oKOAKY

p5.js provides a simple interface, `noise(x[, y[, z]])`, to get correlated noise values. See: https://www.geeksforgeeks.org/p5-js-noise-function/

I've implemented my own version of Perlin noise, which I would be happy to contribute to the sketch repository.

* Code: https://github.com/Kevinpgalligan/sketches/blob/master/src/noise.lisp
* Example usage: https://github.com/Kevinpgalligan/sketches/blob/master/src/unknown-pleasures.lisp

Usefully, my version can be initialised from a seed, which allows sketches to be reproduced by keeping the seed constant. It also works for any number of input dimensions. Other CL noise implementations that I've found have not had these properties.

However, I will have to clean up the code/interface and write documentation to accompany it. Any suggestions for the interface are welcome.

(Apologies for spamming the repo with issues; I just want to keep track of the things that I'm planning to work on over the coming months).

(Also, it might be an idea to develop this as a separate quicklisp package, add it as a sketch dependency, and re-export the symbols. That way, it could be reused by others independently of sketch).