Re[19]: Вот я не понимаю...
От: VladD2 Российская Империя www.nemerle.org
Дата: 11.09.07 11:17
Оценка:
Здравствуйте, EvilChild, Вы писали:

VD>>2. Ввести в систему типов аналог option[T] (нулабл-типы из дотнета не подходят, так как они применимы исключительно для вэйлью-типов).

EC>Они не решают эту проблему и для value types — меня компилятор не обязывает проверять есть ли значение в обёртке.
EC>Это подходит только для систем типов с алгебраическими типами данных.

Это не так. Решение найти не сложно. Конечно прийдется поменять язык, но это мелочи по сравнению с тем, что прийдется серьезно менять рантайм.

Да и нужны тут не алгеброические типы, а аналог паттерн-матчинга.

В Обероне есть понятие защиты (guard) которое является облегченным аналогом паттерн-матчинга и как раз решает похожие проблемы (безопасного повышающего приведения типов). Можно содрать это решение.

В прочем, введение алгеброических типов было бы действительно отличным решением. Но это, похоже, для МС просто слабо. Для Сана — тоже.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.