Здравствуйте, WolfHound, Вы писали:
WH>Здравствуйте, Евгений Акиньшин, Вы писали:
ЕА>>я для себя только один юз-кейс нашел — когда требуется ввод логики от конечного пользователя: ЕА>>во-первых проще обработать все возможные ошибки, чем объяснить не-программистам что вместо (a + b) надо писать (a + (int)b) ЕА>>во-вторых приходится делать всякие контекстно-зависмые подстановки: опять же например ЕА>>sum(Order.Lines.Amount) ЕА>>бизнес пользователю понятно, а Order.Lines.Sum(line => (double)line.Amount) уже не очень. WH>Это ДСЛ обыкновенный. WH>Причем тут динамическая типизация не ясно.
в dsl-х, предназначенных для редактирования енд-юзером приходится приводить типы автоматически за пользователей: если бизнес пользователю хочется складывать апельсины с яблоками, мы попытаемся использовать все возможные способы приведения, и ошибку выдадим, только если уж совсем ничего не получилось