Załóżmy, że chcę utworzyć specjalny przypadek dla funkcji pasującej do ciągów zaczynających się od znaku "Z". Mógłbym łatwo zrobić za pomocą dopasowywania wzorców wykonując coś tak:Prefiksy ciągów pasujących do wzorca w języku Haskell
myfunc ('Z' : restOfString) = -- do something special
myfunc s = -- do the default case here
ale co, jeśli chcę, aby dopasować ciągi z dłuższym prefiks? Powiedzmy, że chcę mieć specjalny przypadek dla ciągów, które zaczynają się od słowa "toster". Jaki jest najlepszy sposób na napisanie wzoru pasującego do takiego ciągu?
Odręcznie wygląda całkiem prosto napisać i wywołać szablon Haskell, aby osiągnąć pożądany efekt. Jednak nie jestem wystarczającą osobą TH. –
Niestety, GHC nie implementuje splotów wzorcowych (o ile mi wiadomo, jest to naprawdę trudne), więc nie jest to możliwe. – ephemient