Здравствуйте, DarkGray, Вы писали:
DG>>>сорт и kind — это одно и тоже? DG>в чем отличие?
kind — вид типа данных (или их конструкторов?)
sort — вид статического терма, не только типа данных. Например, утверждения (props) — статические термы, не являющиеся типами данных. Еще можно свой сорт ввести, который будет как-то использоваться при компиляции для формулирования некоторых инвариантов и фактов, но типом данных он сам по себе не будет. "Тип данных" — лишь один из сортов, грубо говоря.
DM>> А в ряде других случаев мы упираемся в то, что статические значения используются только в компайл-тайме, в рантайме их просто нет. DG>согласен, по умолчанию они на runtime не переносятся, но их туда можно перенести тем или иным способом.
Можно, просто девиз ATS — точность. "If I could associate only one single word with ATS, I would choose the word precision. Programming in ATS is about being precise and being able to effectively enforce precision."
Хочешь рантайм-значение — опиши его явно: где оно создается, куда передается и как связано с остальными.