История изменений
Исправление
geekless,
(текущая версия)
:
Простой пример. Вот в обсуждении про Lua и NetBSD сегодня было сказано, что Си не может дать гарантию, что kmalloc не будет вызван из обработчика прерывания. Так вот на языке с развитым макропроцессром, возможно реализовать сосбтвенное расширение системы типов таким образом, чтобы такую гарантию можно было дать. И любой код, который вызывает или теоретически может вызвать kmalloc из прерывания, просто не скомпилируется.
Исправление
geekless,
:
Простой пример. Вот тут в обмуждении про Lua и NetBSD сказано, что Си не может дать гарантию, что kmalloc не будет вызван из обработчика прерывания. Так вот на языке с развитым макропроцессром, возможно реализовать сосбтвенное расширение системы типов таким образом, чтобы такую гарантию можно было дать. И любой код, который вызывает или теоретически может вызвать kmalloc из прерывания, просто не скомпилируется.
Исходная версия
geekless,
:
Простой пример. Вот тут в обмуждении про Lua и NetBSD сказано, что Си не может дать гарантию, что kmalloc не будет вызван из обработчика прерывания. Так вот на языке с развитым макропроцессром, возможно реализовать сосбтвенное расширение системы типов таким образом, чтобы такую гарантию можно было дать. И любой код, который вызывает или теоретически может вызвать kmalloc из прерывания, просто не скомпилруется.