Digamos que quiero hacer un caso especial para una función que coincida con cadenas que comiencen con el carácter 'Z'. Yo podría hacerlo utilizando la coincidencia de patrones haciendo algo como lo siguiente:Prefijos de cadenas coincidentes en Haskell
myfunc ('Z' : restOfString) = -- do something special
myfunc s = -- do the default case here
Pero lo que si quiero hacer coincidir cadenas de prefijo mayor? Digamos que quiero tener un caso especial para cadenas que comiencen con la palabra "tostadora". ¿Cuál es la mejor manera de escribir un patrón para que coincida con una cuerda?
Offhand parece bastante sencillo escribir e invocar Template Haskell para lograr el efecto deseado. Sin embargo, no soy suficiente de una persona TH para estar seguro. –
Desafortunadamente, GHC no implementa empalmes de patrones (hasta donde sé, aparentemente es muy difícil), así que esto no es posible. – ephemient