Можно создать дубликат:
The meaning of ' in Haskell function name?
Apostrophe in identifiers in HaskellАвтономные одиночные кавычки в Gofer
Я работаю свой путь, хотя this и реализующий его, как могу в Clojure. Хотя я не знаю ни одного Гофера (или Хаскелла), я все-таки выясняю, как иду. Тем не менее, я не могу найти нигде, что объясняет, как должны действовать одиночные кавычки и двойные одинарные кавычки после inp.
seq :: Parser a -> Parser b -> Parser (a,b)
p `seq` q = \inp -> [((v,w),inp'') | (v,inp') <- p inp
, (w,inp'') <- q inp']
Помощь была бы очень признательна.
Они ничего не означают, они являются частью имен. Это общий мотив, чтобы назвать похожие объекты похожими, используя апострофы, чтобы отличить их. 'inp'' (произнесенный inp-prime) - это вход слева после запуска первого парсера на исходном входе,' inp''' оставшийся вход после запуска второго парсера на том, что осталось после первого. Другой способ - называть их 'inp_1',' inp_2' или что-то в этом роде. –
Ahhh, спасибо, неудивительно, что я не мог найти их в языковой ссылке :) – pondermatic
Чтобы процитировать отчет Haskell: «Идентификатор состоит из буквы, за которой следуют ноль или несколько букв, цифр, подчеркиваний и одинарных кавычек». – augustss