Допустим, мы создаем повторную реализацию C, с той лишь разницей, что что типы предполагаются. Классы и модификаторы хранилища по-прежнему должны быть задано (const, static, restrict и т. д.),и давайте ограничимся одними файл C программ на данный момент. Можно ли это сделать? Какие основные Препятствия?
Некоторые мысли о том, что может вызвать проблемы с выводом типа
, вероятно, потребуется " из аннотации ", например,
var i = (uint32_t -> uint64_t) * some_pointer;
Эти проблемы потребуют небольшой аннотации пользователя, но этого не должно быть. обременительный, есть ли какая-то убийственная проблема, которая вытесняет эту идею из воды?
Edit: Чтобы уточнить, я не говорю о добавлении дженериков или параметрического полиморфизма, просто введите вывод для существующих типов C.
Edit 2014: Любой, кто интересуется этой концепцией, может захотеть изучить Rust