Hello,
I'm quite new here, both actually here as well as in tidal AND in Haskell, so this question might actually still be over my head...
I was wondering why I get the following output:
tidal> :t "ha" :: Pattern String
"ha" :: Pattern String :: Pattern String
but if I do:
tidal> :t ['h','a'] :: Pattern String
<interactive>:1.2: error:
* Couldn't match expected type 'Pattern String' with actual type '[Char]'
* In the expression: ['h','a'] :: Pattern String
I thought that any String is only a [Char], it arose when I tried doing something like:
p 1234 $ s $ "kick kick " ++ "kick"
As I mentioned above the answer to that could be over my head, but this way I might actually learn something
Thank you for your time and have a nice week
Edit:
I know that there are pattern operators like explained in Pattern Structure | Tidal Cycles, I just wondered why I can't use my default String/List functions with tidal
Edit 2:
In conjunction with Casting [Char] to Pattern Note I saw that
tidal> :t parseBP_E ['h','a'] :: Pattern String
parseBP_E ['h','a'] :: Pattern String :: Pattern String
actually solves my problem, but still the question persists why String to Pattern String can be inferred but [Char] to Pattern String can't be inferred