Я начал читать скалаз source code.ScalaZ: что такое тип Tagged [T] = {type Tag = T} "?
package object scalaz {
import Id._
implicit val idInstance: Traverse1[Id] with Each[Id] with Monad[Id] with Comonad[Id] with Distributive[Id] with Zip[Id] with Unzip[Id] with Align[Id] with Cozip[Id] = Id.id
type Tagged[T] = {type Tag = T}
.
.
.
Как следует понимать type Tagged[T] = {type Tag = T}
?
Что это значит?
Где описан этот синтаксис Scala?
Я полностью смущен этим.
Что это?
Почему?
Может ли кто-нибудь дать простой пример, который объясняет этот синтаксис для «манекенов»?
... и для чего это полезно?
Вот довольно хорошее объяснение помеченных типов http://eed3si9n.com/learning-scalaz/Tagged+type.html – Noah
Спасибо, это единственное, что я нашел, но проблема в том, что я слишком «фиктивный» даже для этого, я просто понятия не имею, что означает тип Tagged [T] = {type Tag = T} 'и как это работает. Я надеялся, что есть очень простое объяснение этого простого вида синтаксиса Scala. Где его значение определено? – jhegedus