Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, s22, Вы писали:
s22>>возможно такое?
VD>Можно все что не противоречит законам природы.
VD>А вот чтобы понять не противоречат ли твои желания оным нужно понять, что ты тут понаписал и что ты под этим имел.
VD>Опиши семантику твоего примера. Когда ошибка в рантайме или во время компиляции? Т.е. динамическая типизация или статическая?
s22>class A
s22>{
s22> a:int;
s22> comp a:int; // данное поле существует только при компиляции
s22>}
s22> mut a:A;
s22> a.b=2;
s22> f(a) // ошибка
s22>}
s22>
Сделать то подобное можно. Но только какой в этом смысл? Ты сможешь пользоваться только константами. Если данные придут извне, то проверки времени компиляции будут невозможны.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, s22, Вы писали:
VD>Сделать то подобное можно. Но только какой в этом смысл? Ты сможешь пользоваться только константами. Если данные придут извне, то проверки времени компиляции будут невозможн
Если не возможно определить значение, то выдавать ошибку компиляции...
И не только константы, но и выражения....
Здравствуйте, s22, Вы писали:
s22>Если не возможно определить значение, то выдавать ошибку компиляции... s22>И не только константы, но и выражения....
Пойми, такой язык будет чем-то вроде калькулятора. Он сможет вычислять (сворачивать) только выражения данные в которых доступны во время компиляции. С файлами, клавиатурой, сетью твой язык работать не сможет.
Какой в нем смысл?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, s22, Вы писали:
s22>>Если не возможно определить значение, то выдавать ошибку компиляции... s22>>И не только константы, но и выражения....
VD>Пойми, такой язык будет чем-то вроде калькулятора. Он сможет вычислять (сворачивать) только выражения данные в которых доступны во время компиляции. С файлами, клавиатурой, сетью твой язык работать не сможет.
VD>Какой в нем смысл?