I have a question on pattern matching:
Is it possible to somehow match a (string ++ [char] ++ anotherstring)?
I have tried something like:
f (s++";"++r) = s++r (the rhs is trivial, but its just for testing ;))
But this results in a parse error.
No, it's not possible. Pattern matching deconstructs values according to the constructors they were built with, so you can only use constructor applications in pattern matching to describe which values match the pattern and which don't.
For something like your example, a case
works well,
f str = case break (== ';') str of
(s, _:r) -> s ++ r
_ -> error "No semicolon found"
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With