Почему в Scala есть типы, зависящие от пути?

Я провел некоторое исследование пути -зависимые типы. Лучшее описание, которое я смог найти для этого, было:

Если L - метка типа, то xL и yL относятся к одному типу, если и только если можно показать, что x и y относятся к одному и тому же объекту.

Иногда это не так. ожидаемое поведение подтипов. Я ожидал, что если L в приведенном выше примере действительно идентичен, этого будет достаточно, чтобы сделать xL и yL идентичными.

Есть ли какая-то конкретная причина, по которой Scala была разработана таким образом?

14
задан keiter 7 April 2011 в 13:26
поделиться