У меня есть следующее определение класса Scala (содержится в документе), моделирующие категории:Scala ~> (тильда больше) оператора
trait Category[~>[_, _]] {
def compose[A, B, C]
(f: B ~> C)
(g: A ~> B)
: A ~> C
def id[A]: A ~> A
}
может кто-то объяснить мне, что «~>» означает, что в категории type, а в методе возвращаемого типа? Или направить меня к ресурсу, который объясняет это ... Я новичок в Scala (исходя из Java), так что простите меня, если что-то пользователь должен Scala известно ... Спасибо заранее
Теперь это ясно ... Я думаю, что я привыкну быть свободным, чтобы использовать странный символ, чтобы назвать вещи (в отличие от Java). Я действительно думал, что «~>» означает нечто особенное, но его можно заменить чем-либо, поскольку я понимаю это правильно. Большое вам спасибо! – Andrea
Да, это совершенно произвольно (конечно, в правилах именования Scala для идентификаторов). – Debilski
Кстати: причина, по которой был выбран «оператор», т. Е. Символы оператора вместо буквенных символов, была надеждой, что в области теории категорий ~> легко переводится понятие «морфизма» (так называемое «отображение», , "стрелка" и т. д.). Обычно вы должны быть осторожны с операторами. –