> Не знаю, зачем нужен этот рефал? разве только для академических упражнений.Это можно адресовать почти любому языку, в том числе и Схеме. И вот мы возвращаемся к моему вопросу в #94. Если бы в Guix файлы конфигурации составлялись на отличном от Схемы языке, пришлось бы составлять формальную грамматику такого языка и реализовать транслятор. Этот шаг исключили. С одной стороны -- решение грамотное. С другой стороны, его цена -- потенциальная возможность запускать в системе с правами root произвольный код, в том числе зловредный (вероятно поэтому в NixOS конфиги пишут не на Хаскеле, а придумали отдельный язык, но я не изучал вопрос). Рефалу не требуются грамматики, на нём можно сразу написать интерпретатор конфигураций на Схеме. Да, получится не круто, потому что не всё подряд сможет запускаться.
> да вы правильно нашли, как раз про него я и говорил.(у меня
> он уже на русском). Я посмотрел сам пакет, пользоваться им просто.(судя
> по туториалу). так что можно не паритсья о сборе мусора. можете
> попробовать. поставив просто какой нибудь сишный дефайн, для своего сборщика, для
> BDW-GC или еще для кого. переключаться между сборщиками мусора потом
> в коде можно просто по определенному определению.
Этот сборщик делает много лишнего. Вопрос-то не в том, как просканировать память на наличие живых ссылок, а как обойтись без сканирования. И задал я вопрос как пример: когда смогу внятно объяснить, что мне надо, тогда у меня уже будет готовый код.
> Сама тема этих сборщиков мусора это отдельная дисертация. так что я бы
> использовал готовый. а то две дисертации в одной работе, это уже
> через чур.
> Да кстати на счет реализации рефала. отдельный сборщик мусора возможно и не
> будет нужен, если вы выберете язык реализации, типа схемы или лиспа(можно
> пролог) в которых этот сборщик уже есть по умолчанию.
Или OCaml, как раз для него писал копирующий сборщик мусора на ассемблере, что бы развеять миф, что это слишком сложно.