Некоторое время назад в событии Microsoft ArcReady, я видел представление масштабирующихся шаблонов, которые могли бы быть полезны для Вас. Вы можете просматривать слайды для него онлайн.
Цитата означает ничего в Haskell. Это просто часть имени этой функции.
Люди склонны использовать это для «внутренних» функций. Если у вас есть функция, которая суммирует список с использованием аргумента аккумулятора, ваша функция суммы будет принимать два аргумента. Это уродливо, поэтому вы создаете функцию sum '
для двух аргументов и функцию sum
для одного аргумента, например sum list = sum' 0 list
.
Отредактируйте, возможно, мне просто нужно показать код:
sum' s [] = s
sum' s (x:xs) = sum' (s + x) xs
sum xs = sum' 0 xs
Вы делаете это так, чтобы sum '
было хвостовой рекурсией, и чтобы «общедоступный API» выглядел красиво.
Часто произносится как «прайм», так что это будет «мадд прайм». Обычно он используется для обозначения следующего шага в вычислении или альтернативы.
Итак, вы можете сказать
add = blah
add' = different blah
или
f x =
let x' = subcomputation x
in blah.
Это просто привычка, например, использование int i в качестве индекса в цикле for для Java , C и т. Д.
Изменить: надеюсь, этот ответ более полезен теперь, когда я добавил все слова и форматирование кода. :) Я все время забываю, что это не WYSIWYG система!
В этом случае нет особого смысла для символа '
; это просто часть идентификатора. Другими словами, myadd
и myadd '
- разные, несвязанные функции.
Обычно, '
используется для обозначения некоторая логическая оценка отношения. Итак, гипотетические функции myadd
и myadd '
будут связаны таким образом, что myadd'
может быть получено из myadd
. Это соглашение, полученное из формальной логики и доказательств в академических кругах (откуда Haskell имеет свои корни). Я должен подчеркнуть, что это только соглашение, Haskell не применяет его.
quote '- это еще один разрешенный символ в именах Haskell. Он часто используется для определения вариантов функций, и в этом случае кавычки произносятся как «простые». В частности, библиотеки Haskell используют варианты кавычек, чтобы показать, что вариант является строгим. Например: foldl
ленивый, foldl '
строгий.
В этом случае похоже, что цитата используется только для разделения карри и несжатого вариантов.
Как говорили другие, '
не имеет никакого значения для самого Haskell. Это просто символ, например буква или число.
'
используется для обозначения альтернативных версий функции (в случае foldl
и foldl '
) или вспомогательные функции. Иногда вы даже увидите несколько '
в имени функции. Добавление '