I’ve found myself using this:
squeeze “<0 0 1 1 2 2 3 3>” $ x
which is not very nice. I tried to make it more compact like this:
squeeze (slow 2 $ “<0 1 2 3>”) $ x
expecting the slow 2 $ “<0 1 2 3>” to be evaluated to ”<0 0 1 1 2 2 3 3>”, but it seems like instead it treats the whole bracketed thing as a pattern (?) and so the result is slow 2 x[i] for cycle i.
We can resort to haskell and do it like this
drawLine $ squeeze (fromList $ concatMap (replicate 2) [0 .. 3]) $ x
But hopefully I’m missing something.