You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Это в постановке задачи #122 стояло, но почему-то не было реализовано. Ключевые слова $INLINE и $DRIVE могут стоять перед определением функции, в позиции ключевого слова $ENTRY:
$INLINE Apply {
...
}
Сейчас поддерживаются только списки функций вида
$INLINE Apply, Fetch, MapReduce;
Тем более, что источником идеи был Си++, где ключевое слово inline находится именно при определении функции.
The text was updated successfully, but these errors were encountered:
Атрибуты перечисляются через запятую, после атрибута может следовать какая-либо последовательность токенов, например, шаблон для $SPEC.
Атрибуты можно применять и для внешних функций:
$EXTERN Add [BUILTIN, INTRINSIC];
Атрибут BUILTIN в примерах выше означает, что данная функция встроенная. В частности, это значит, что для совместимости с классическим Рефалом-5, её нельзя переопределить.
В принципе, с атрибутами будут не нужны ключевые слова $INLINE, $DRIVE и $SPEC, их можно заменить определениями или внешними объявлениями ($EXTERN) функций с соответствующими атрибутами. Список entry-имён тоже становится не нужен: его можно заменить несколько неуклюжей записью
$EXTERN FuncName [ENTRY];
Можно допустить запись вида
$EXTERN [ENTRY, INTRINSIC] Foo, Bar [META], Baz;
Все функции получают атрибуты ENTRY и INTRINSIC, функция Bar также получает атрибут META.
Это в постановке задачи #122 стояло, но почему-то не было реализовано. Ключевые слова
$INLINE
и$DRIVE
могут стоять перед определением функции, в позиции ключевого слова$ENTRY
:Сейчас поддерживаются только списки функций вида
Тем более, что источником идеи был Си++, где ключевое слово
inline
находится именно при определении функции.The text was updated successfully, but these errors were encountered: