- Вычислительные системы, исполняемые через интернет
- РЕФАЛ-5
Электронная версия книги В. Ф. Турчина по языку РЕФАЛ-5 предоставляет возможность исполнять примеры РЕФАЛ-программ, которые разбираются в этой книге, непосредственно со страниц описания примеров: рядом с примерами читатель найдет ключевую строку < follow this link if you want to work with example > , которая перенаправит его в режим исполнения. Более того, читателю даётся возможность исправления рассматриваемого примера.
- Суперкомпилятор SCP4
Суперкомпилятор это вообще не компилятор, как можно было бы предположить из этого крайне неудачного названия. (Но ничего не поделаешь: так оно сложилось годами "нелегких невзгод и испытаний".) Суперкомпиляция есть метод специализации программ по отношению к фиксированным свойствам их аргументов, композиционной структуре и заданным инвариантам. Таким образом, чтобы запустить суперкомпилятор, кроме программы, которую он будет преобразовывать, нужно еще поставить ему задачу специализации. Язык постановки таких задач В. Ф. Турчин назвал языком MST-схем. Суперкомпилятор преобразует программы, написанные на его входном языке, в программы на этом же языке.
Суперкомпилятор SCP4 реализован на языке программирования РЕФАЛ-5; РЕФАЛ-5 является и его входным языком. Читатель может попробовать поиграть со старой версией суперкомпилятора SCP4, не устанавливая на своем компьютере ни интерпретатора языка РЕФАЛ-5, ни самого суперкомпилятора SCP4.
Чтобы сориентироваться в примерах, предложенных в демонстрации, полезно прочитать краткие пояснения к ним, которые можно найти здесь. Возможно, читателю даже удастся протестировать SCP4 на своём примере: любой из предложенных в списке демонстрации примеров можно отредактировать произвольным образом (заменить своим примером). - РЕФАЛ-5 поддержка обработки заявок в «Путеводителе по журналу "Самиздат"».
Автор реализации: А. Н. Непейвода.
РЕФАЛ-5 генерация HTML-кодов страниц тематических лент по базе данных заявок. Часть инициативного некоммерческого проекта «Путеводитель по Самиздату"».
- Исполняемые модули и исходные тексты диалектов языка программирования РЕФАЛ
- РЕФАЛ-2.
Авторы реализации: А. Алёшин, Л. Белоус, А. Красовский, С. Романенко, В. Шерстнёв.
Предлагается адаптированная к современным платформам (Windows/95/98/ME/NT/2000/XP, FreeBSD, Linux) реализация языка Рефал-2. Работа выполнена по открытой лицензии и свободно доступна для любых применений, включая коммерческое использование.
- РЕФАЛ-5.
В. Ф. Турчин, Д. В. Турчин, А. П. Конышев, А. П. Немытых.
Программы на языке РЕФАЛ-5 транслируются в промежуточный язык сборки RASL (Refal ASsembler Language); далее результат трансляции интерпретируется. На домашней странице языка РЕФАЛ-5 можно найти:
- исполняемые модули компилятора refc из языка РЕФАЛ-5 в RASL и интерпретатора языка RASL для операционных систем:
- исполняемый модуль интерпретатора языка RASL для операционной системы:
- Windows Mobile 5.0 (zip-архив, 66Kb, собран 01.03.2008).
- исходные тексты компилятора refc из языка РЕФАЛ-5 в RASL, интерпретатора и отладчика языка RASL, с инструкциями по их сборке в среде операционных систем:
- Windows 95/98/NT/2000/XP/Vista, Linux (Intel), FreeBSD (Intel); процесс сборки оттестирован авторами реализации. (zip-архив, 406Kb, последние изменения от 22.12.2008).
- инструкции по сборке исполняемых модулей системы программирования РЕФАЛ-5 (любезно присланные пользователями, но неопробованные разработчиками) в среде операционных систем: FreeBSD-4.3, Debian Linux Intel, Solaris/SPARC workstation;
- Си Гао. Бинарные rsl-модули для интерпретации в среде операционных систем Windows 95/98/NT/2000/XP/Vista, Linux (Intel), FreeBSD (Intel):
- REFAL-6 basic.
Н. В. Кондратьев.
Рефал-6 начинался как проект, содержащий традиционную реализацию Рефала, основанную на интерпретаторе языка сборки, и некоторое дополнение в виде суперкомпилятора, сначала относительно слабого, а потом - может быть более продвинутого, который должен был компилировать в язык C.
Стандарт языка основывался на версии Рефал-5. Были немного изменены оформление модулей и набор встроенных функций.
Интерпретирующая часть была разработана, по возможности, максимально переносимой. По-видимому, даже переход на 64-битную реализацию будет относительно безболезненным, но такой попытки пока не делалось. Имеющаяся реализация компилируется под MS VC++, Linux, Cygwin, Eclipse CPP.
Разработка проекта прервалась по организационным причинам и все материалы были переданы Аркадию Климову, который существенно расширил реализацию Рефала-6.
Существующая старая версия (интерпретирующая часть) была постепенно доработана (в частности, реализована длинная арифметика) и использовалась автором для некоторой деятельности в рамках текущих проектов. Для отличия от реализации Аркадия Климова она называется Refal-6 basic или Refal-6b. - РЕФАЛ-6.
Арк. В. Климов, Н. В. Кондратьев.
Refal-6 является диалектом и расширением языка Refal-5. Добавлены откатные функции и блоки, разделяемые термы, большинство данных интерпретируются как абстрактные контейнеры, реализована динамическая загрузка модулей.
- РЕФАЛ+.
Р. Ф. Гурин, Ю. А. Климов, А. Ю. Орлов, С. А. Романенко.
Рефал Плюс - диалект языка Рефал, первая версия которого была разработана Р. Ф. Гуриным и С. А. Романенко в 1991 г. Современный подход к его реализации основан на компиляции рефал-программ в императивный код, который легко транслируется в распространённые языки программирования, такие как C++ и Java. Это позволяет обеспечить работу рефал-программ на множестве современных систем и даёт возможность свободного взаимодействия кода на Рефале с кодом на императивных языках. В частности, программистам на Рефале становится доступна вся мощь библиотек, написанных для С++ или Java, а программисты на этих языках получают возможность использовать в своих проектах Рефал для определённых подзадач. Для языка Рефал Плюс имеется интегрированная среда разработки на базе IDE Eclipse.
- Рефал-5λ.
Автор реализации: А. В. Коновалов.
Язык Рефал-5λ — точное надмножество Рефала-5, основным расширением которого являются функции высшего порядка.
Компилятор Рефала-5λ — оптимизирующий компилятор, поддерживающий возможность как компиляции в промежуточный интерпретируемый код, так и в исходный код на C++. Ключевая особенность компилятора — удобный интерфейс с языком C++. - FLAC.
Авторы реализации: Е. А. Гайдар, И. М. Игнатович, В. Ф. Козадой, А. П. Немытых, В. А. Пинчук, С. В. Чмутов.
Функциональный язык программирования FLAC (Functional Language for Algebraic Calculation, автор языка В. Л. Кистлеров) является диалектом языка РЕФАЛ, ориентированным на алгебраические вычисления. Реализован в 1988-1991 гг. в ИПС АН СССР в средах актуальных на тот момент операционных систем. Активно использовался в ИПС РАН для разработки систем компьютерной алгебры. На странице можно найти исполняемый модуль интерпретатора языка FLAC для операционной системы MS-DOS (PC Intel-386) и исходные тексты. На странице дана информация о свободно распространяемых эмуляторах операционной системы MS-DOS, посредством которых можно использовать данную реализацию языка FLAC и пакеты компьютерной алгебры, написанные на языке FLAC.
В языке отсутствует понятие аварийной остановки «Отождествление невозможно», поддерживается динамическая загрузка/выгрузка модулей, посредством которой можно расширять/сужать области определений функций. Понятия модульной локальности/глобальности поддерживаются не только для имен функций, но и для произвольных идентификаторов (слов).
- РЕФАЛ-2.
Авторы реализации: А. Алёшин, Л. Белоус, А. Красовский, С. Романенко, В. Шерстнёв.
- Документация по диалектам языка РЕФАЛ
- РЕФАЛ-2
- Ан. В. Климов, С. А. Романенко. Система программирования Рефал-2 для ЕС ЭВМ. Описание библиотеки функций. М.:ИПМ им.М.В.Келдыша АН СССР, 1986, препринт N 200. - 38 с. ( , 0.8 Mb), ( , 1.0 Mb)
- Ан. В. Климов, С. А. Романенко. Система программирования Рефал-2 для ЕС ЭВМ. Описание входного языка. М.:ИПМ им.М.В.Келдыша АН СССР, 1987. - 52 с. ( , 1.1 Mb), ( , 1.5 Mb)
- РЕФАЛ-5
- V. F. Turchin. Refal-5: programming guide and reference manual. 1999, (Revised and extended edition of the issue published by New England Publishig Co., Holyoke 1989). (html), (zipped html, 0.3 Mb)
- A. P. Nemytykh. An attachment to the "Refal-5: programming guide and reference manual", 2009. (zipped html, 0.3 Mb)
- REFAL-6 basic
- Н. В. Кондратьев. Описание особенностей языка Refal-6b. 2004. (html)
- РЕФАЛ-6
- Арк. В. Климов. Программирование на языке Рефал. 2004. (html), (zipped html)
- РЕФАЛ+
- Р. Гурин, С. Романенко. Язык программирования Рефал Плюс. Курс лекций. Учебное пособие для студентов университета города Переславля. - Переславль-Залесский: "Университет города Переславля" им.А.К.Айламазяна, 2006. - 222 с. (Переработанное и исправленное издание книги "Язык программирования Рефал Плюс". - М.:ИНТЕРТЕХ, 1991). ( , 0.9 Mb)
- FLAC
- Е. А. Гайдар, И. М. Игнатович, В. Ф. Козадой, А. П. Немытых, В. А. Пинчук, С. В. Чмутов. Функциональный язык для алгебраических вычислений FLAC. Технический отчёт, ИПС АН СССР, Переславль-Залесский, 1988, 42 с. ( , 0.5 Mb)
- Е. А. Гайдар, И. М. Игнатович, В. Ф. Козадой, А. П. Немытых, В. А. Пинчук, С. В. Чмутов. Реализация системы программирования FLAC. Технический отчёт, ИПС АН СССР, Переславль-Залесский, 1988, 58 с. ( , 0.8 Mb)
- С. Д. Мешвелиани. Система символьных вычислений в алгебре CAC: исходные тексты на языке FLAC и документация + пособие по системе программирования FLAC. Технический отчёт, ИПС АН СССР, Переславль-Залесский, 1993. (zipped txt, 0.6 Mb)
- РЕФАЛ-2
- Программы на диалектах языка РЕФАЛ
- А. В. Коновалов. Версия суперкомпилятора SCP4, адаптированная для сборки при помощи Рефала-5λ: Сборка осуществляется согласно инструкции в файле install.txt.: исходные тексты на языке Рефала-5λ и документация (install.txt). , Москва, 2017. (zipped txt)
- С. Д. Мешвелиани. Система символьных вычислений в алгебре CAC: исходные тексты на языке FLAC и документация + пособие по системе программирования FLAC. Технический отчёт, ИПС АН СССР, Переславль-Залесский, 1993. (zipped txt, 0.6 Mb)
- С. Д. Мешвелиани. Система компьютерной алгебры DoCon-Flac: исходные тексты на языке FLAC и документация. Технический отчёт, ИПС РАН, Переславль-Залесский, 1994. (zipped txt, 0.6 Mb)
- A. P. Nemytykh, V. F. Turchin. The Supercompiler SCP4: sources and documentation. 2000. (zipped txt, 0.6 Mb)
- Антонина Непейвода. Модельный суперкомпилятор MSCP-A: исходные тексты и документация. 2020. ( )
- Н. А. Чмутова. Общее решение системы линейных уравнений над евклидовым кольцом. Технический отчёт, ИПС АН СССР, Переславль-Залесский, 1988, 34 с. ( , 0.5 Mb)
- Избранные электронные страницы, связанные с языком РЕФАЛ
- Е. Васильева. Самостоятельное изучение Рефала-5. Взгляд студента. Удмуртский государственный университет, 2010 г.
- Моделирование и верификация недетерминированных параметризованных коммуникационных протоколов посредством языка программирования РЕФАЛ-5 и суперкомпилятора SCP4.
- ООО «Метасистемы»: использование подмножества языка РЕФАЛ-5 для решения задач обработки неструктурированных текстовых потоков.
- В. В. Пупышев. Задачи базового уровня по языку РЕФАЛ. Удмуртский государственный университет, 2007 г. ( , 0.1 Mb)
- В. В. Пупышев. Задачи начального уровня по языку РЕФАЛ. Удмуртский государственный университет, 2007 г. ( , 0.1 Mb)
- В. К. Смирнов. Аппаратная реализация языка РЕФАЛ в ИПМ им.М.В.Келдыша. ИПМ им. М.В.Келдыша РАН, 2003 г., препринт N 99,
- Рефал на факультете ВМиК МГУ.
- B. Bantchev. Refal. Institute of Mathematics and Informatics of BAS.
- Xi Gao. Refal-5 at Guilin University of Electronics Technology. Guilin University of Electronics Technology, China. 2008.
- B. L. Russell. Refal: Recursive Functions Algorithmic Language. wordpress.com.
- РЕФАЛ-5