Alexander Konovalov
Alexander Konovalov
Эта задача — подзадача для #185. Гипотеза: на языке Си получаются более эффективные программы, чем на Си++. Предпосылки. * Си менее развит для создания абстракций (классы, пространства имён…), поэтому многослойную...
Эта задача — подзадача для #194. Мотивация ======== Как описано в #169, текущий язык сборки сформировался стихийно. Сначала я придумал кодогенерацию в Си++ для первой версии Простого Рефала. Она основана...
Эта задача — подзадача для #197. Там же мотивация задачи и детали реализации Требуется переписать файлы рантайма (`refalrts-*.cpp` в папке `src/lib` и подпапках) с C++98 на C89. Нужно заменить классы...
Эта задача — подзадача #197, блокирует #311. Нужно поменять алгоритм инициализации с конструкторов глобальных переменных на подход, описанный в https://github.com/bmstu-iu9/refal-5-lambda/issues/197#issuecomment-493031084, а также обеспечить компоновку с парами файлов `.rasl`+`.c` в дополнение...
Эта задача — подзадача #197 и #313. Цель ==== Нужно разработать API и механизм компоновки единиц трансляции на Си. При этом механизм должен быть * простым — удобен для ручного написания...
На основе , либо вообще с нуля нужно подготовить бенчмарк для оценки производительности Рефала-5λ. Согласно #349 оптимизации будут изменяться на месте, режимы «старой» и «новой» компиляции не предусматриваются. Поэтому сравнивать...
Введение. Гарантии для равенства замыканий =============================== Сравнение на равенство является фундаментальной операцией Рефала. Синтаксис образцов допускает кратные вхождения переменных, значения которых должны быть равны. Следовательно, в ядре языка должна быть...
В компиляторе реализована возможность прогонки (#122), позволяющая во время компиляции спекулятивно вычислять некоторые вызовы функций, экономя тем самым шаги времени выполнения. Её основу составляет алгоритм обобщённого сопоставления, который решает уравнения...
Мотивация ======== Оптимизация программ, написанных на классическом Рефале-5. В классическом Рефале нет такой конструкции, как «присваивание», но потребность в ней есть. Поэтому часто в роли присваивания используют условие. Вариант приемлемый,...
Долго думал, к какой задаче: #248 или #249 написать комментарий, так и не придумал. В итоге решил вместо комментария создать заявку. Размышления о прогонке функций в условиях =============================== Сейчас компилятор...