Сопоставление с образцом - одна из самых элегантных функций Haskell.
Недавно я работал над проектом, в котором мне нужна структура данных очереди, поэтому я использую Data.Sequence. Тем не менее, похоже, я должен отказаться от элегантности сопоставления с образцом и прибегнуть к охране:
floodFillWorker :: Image -> RGBAColor -> Double -> PixelQueue -> Image
floodFillWorker image base tolerance queue
| Seq.null queue = image
| otherwise = doSomeWork image
Могу ли я использовать сопоставление с образцом с последовательностями или мне нужно использовать охрану?