A sinusoidal function generates a repeating sine-wave sample from a position within one period. In Haskell, model a waveform as `Double -> Sample`; `sin t = Prelude.sin (2 * pi * t)` maps an input between 0 and 1 to the wave's sample value, typically between -1 and 1. section 10.1.2
Use the function as part of a digital signal:
- Scan through positions from 0 to 1 to trace one period of the waveform. section 10.1.2
Generate a tone
A five-second 220 Hz tone can be created with `tone sin 220 5`. Combining it with other waveforms and passing the result to `writeWav` produces an audible WAV file.

