Так Вы тогда меня запутали. Сергей Бычков в авторах книги. Саша Андрианов, сейчас он доктор наук, тогда только университет закончил, был в группе Бычкова, он больше пользователем был. Например, у него есть препринт ИПМ по моделированию Cray-1. А Саша Хорошилов был сотрудником у Сергея Бычкова в группе по реализации Симулы-67, он МИФИ заканчивал. Кстати, Андрианов и Хорошилов мои бывшие студенты на курсовых и дипломах.
Тогда все понятно.
Л.Эйсымонт
 
23.02.2018, 22:52, "Александр Коновалов" <a.v.konovalo...@mail.ru>:

Леоднид!

«А что за книга про Симулу-67, кто написал?»

Я же писал в позапрошлом письме сегодня, «Андрианов А. Н., Бычков С. П., Хорошилов А. И. Программирование на языке симула-67. — М.: Наука. Глав. ред. физ.-мат. лит., 1985. — 288 с.». И оттуда две цитаты перепечатал. В мягкой обложке голубого цвета, серия «Библиотечка программиста». Бумажная, поэтому скинуть ссылку/PDF-ку/DJVU-шку не могу.

Покупал её в магазине УРСС как букинистическую:
http://urss.ru/cgi-bin/db.pl?lang=Ru&blang=ru&page=Book&id=25328

(Я немножко интересуюсь историей языков программирования: у меня есть ещё несколько букинистических книг про Алгол-68.)

«По модели машин под функциональный язык была знаменитая Тьюринговская лекция Бэкуса - Может ли быть программирование избавлено от фортрановского стиля. Кстати, Бэкус и есть автор Фортрана. В лекции он, можно сказать, слегка извиняется за Фортран и описывает функциональный язык программирования, под который и надо делать компьютеры. После этого был ряд статей про эти компьютеры.»

Эту лекцию упоминает Дибвиг в своей диссертации, и, похоже что, ею руководствовался Г. Маго при проектировании своих FFP-машин (термин FFP из лекции Бэкуса, означает formal functional programming). Но я эту лекцию ещё не читал. Надо прочитать.

«Еще, насколько помню, когда появился Симула-67 объектно-ориентированных языков еще не было. Все с него началось.»

Тогда не было термина «объектно-ориентированный». Термин вроде как придумал Алан Кей, автор Smalltalk. Ему принадлежит цитата:
«Actually I made up the term "object-oriented", and I can tell you I did not have C++ in mind.»

(«Я придумал термин «объектно-ориентированный», и вот что я вам скажу, я не имел ввиду С++.»)
https://en.wikiquote.org/wiki/Alan_Kay https://ru.wikiquote.org/wiki/%D0%90%D0%BB%D0%B0%D0%BD_%D0%9A%D0%B5%D0%B9

Я склонен полагать, что изобретены два подхода к ООП: Simula-67 и Smalltalk, каждый из которых дал своё дерево потомков. Возможно перекрывающиеся, но тем не менее. Основоположником методологии ООП был скорее Smalltalk, поскольку Simula-67 был скорее языком предметной области, DSL для имитационного моделирования.

Но тем не менее, Страуструп сначала познакомился с Simula-67, ему понравился подход на основе классов. Но не понравилась сборка мусора. Потом ему понравился C за эффективность. Ну и он решил скрестить два подхода. Так родился С++, на долгие годы мейнстрим в ООП, от которого позже отпочковались Java, C# и ряд других языков. А происхождение C++ лучше почитать в соответствующей книге Страуструпа («Дизайн и эволюция C++»), у меня она тоже в бумажном виде, ссылкой или вложением поделиться не смогу. Книга немного устарела, но обоснования и мотивации решений проектирования языка программирования почитать крайне полезно и интересно.

С уважением,
Александр Коновалов

 

From: Eisymont Leonid [mailto:verger...@yandex.ru]
Sent: Friday, February 23, 2018 9:48 PM
To: refal@botik.ru
Subject: Re: Не понял про ограниченный РЕФАЛ

 

А что за книга про Симулу-67, кто написал?

По модели машин под функциональный язык была знаменитая Тьюринговская лекция Бэкуса - Может ли быть программирование избавлено от фортрановского стиля. Кстати, Бэкус и есть автор Фортрана. В лекции он, можно сказать, слегка извиняется за Фортран и описывает функциональный язык программирования, под который и надо делать компьютеры. После этого был ряд статей про эти компьютеры.

За ссылки на работы отдельное большое спасибо.

Еще, насколько помню, когда появился Симула-67объектно-ориентированных языков еще не было. Все с него началось.

Л.Эйсымонт

 

23.02.2018, 21:18, "Александр Коновалов" <a.v.konovalo...@mail.ru>:

Спасибо за ответ, Леонид!

(Начал писать ответ на предыдущее незаконченное письмо.)

«Александр, мы с Сергеем Бычковым учились в одной группе в МИФИ и в 1973 году его заканчивали в совместной разработке компилятора языка Симула-1 в язык АЛМО на БЭСМ-6, это было реализовано на Рефале. У меня в этой разработке была большая часть…»

В книжке про Симулу-67 не упомянули Сергея Бычкова, видимо, там идёт речь о другой реализации или о другой версии Симулы. Но Задыхайло всё-таки упоминается, как научный руководитель одного из соавторов книги. Возможно, некоторые фамилии из благодарностей авторов книги будут знакомы и другим подписчикам.

«Но меня тогда захватила идея разработки аппаратной реализации Рефала, особенно его параллельной реализации.»

Когда у Вас будет время, рекомендую почитать в диссертации Дибвига пятую главу (ту её часть, где описывается семантика FFP-машин), я уверен, что Вас это заинтересует. Потому что для тех гипотетических параллельных машин так и просится Рефал в качестве нативного языка. По моему дилетантскому мнению, FFT-машины очень близки к одномерным клеточным автоматам Фон-Неймана, может быть, являются разновидностью последних. В общем, наследие Gyula A. Mago в этом смысле полезно изучить. Или хотя бы познакомиться с ним.

Но вообще, эту диссертацию интересно и любопытно почитать всем тем, кому интересна компиляция функциональных языков программирования. Мне, например, понравилось её читать. Идея реализации замыканий, к которой Дибвиг подходит окольными путями в четвёртой главе, мне казалась самоочевидной с самого начала.

«Это был своеобразный "эксперимент на людях", мы в рамках работ по символьеому процессору этим доказали, что это средство разработки настолько сильно, что можно очень ограниченным коллективом и за короткий срок разаботать такое сложное ПО. Убедили, это также в мою диссертацию вошло.»

И это доказывает преимущество функционального программирования для задач символьных вычислений. :-)

«Однако здесь есть коварный подводный камень - побочные эффекты выполнения функций из-за введенных статических и динамических ящиков. Даже если с ними работа не так интенсивна, они резко затрудняют динамическое распараллеливание программ на уровне функций. С этим я экспериментировал на живом компиляторе. В итоге удалось такую проблему обойти за счет введения специальных средств работы с ящиками типа мониторов. Не так уж это и обременительно было, ведь работа с ящиками не является основным стилем, легко локализуется и налаживается для параллельной программы.»

У Скоробогатова в неопубликованной рукописи этот вопрос рассматривается. У него недетерминированные функции и функции с побочным эффектом помечаются специальным ключевым словом, и при распараллеливании они учитываются особым образом. Т.е. если в правой части есть несколько вызовов функций, то зависимость между чистыми функциями выстраивается только по данным (результаты одних → аргументы других), для нечистых учитывается ещё и порядок справа-налево.

«Сразу скажу, ящики выбрасывать не стоит из-за проблем работы с ними.»

Когда я реализовывал свой компилятор Простого Рефала, статических ящиков и копилки не было в синтаксисе в принципе. И ничего, написал самоприменимый компилятор. И сейчас ни копилкой, ни статическими ящиками не пользуюсь. Предпочитаю религиозно чистый функциональный подход, из идейных соображений.

«В общем, первая статья по глубокому распараллеливанию рефал-программ была в 1977 году в киевском журнале "Управляющие системы и машины"»

Видел ссылку на неё в презентации. «Эйсымонт Л.К. О возможности параллельных схем реализации одного языка для описания задач переработки текстовой информации. — Управляющие Системы и  Машины, Киев, 1977, с.56-64». На сколько мне известно, в то время Турчин был выехавшим в США диссидентом, и поэтому фамилия Турчина и слово Рефал были запрещены по политическим соображениям. Поэтому статья была про «один язык».

«Была оценка, что на сорок лет.»

Пришло время, надо продолжать работать. Надо и мне привлекать студентов к этой тематике.

«Сейчас параллелить рефал можно на существующих микропроцессорах, в том числе и графических, но лучше на специализированных типа мультитредовых с глобально адресуемой памятью.»

Чтобы этим заниматься, мне надо самому научиться как минимум программировать графические процессоры. А то я в этом малость не компетентен.

«Такими процессорами я занимался - в интернете есть много ссылок на эти работы - суперкомпьютер стратегического назначения, СКСН, "Ангара".»

Почитаю, когда поднадоедят метавычисления и развитие компилятора Рефала-5λ.

«В общем, восстанавливаем то, как работа по новой технике была построена в старые добрые времена в СССР, инициатива снизу.»

Замечательно, дай бог, чтобы не заглохло.

«Посылаю статью своего сына c его товарищами по микропроцессору NM6408, я им немного помогал в написании.»

Статью изучу позже и отпишусь.

 

Хочу написать немножко офтопика. Тем, кому этот офтопик не понравится, пишите мне напрямую или в рассылку — и я больше не буду.

Вообще, про Симулу-67 интересно почитать. В языках программирования есть две ветки ООП — ветвь Smalltalk (динамическая типизация) и ветвь Simula-67 (статическая типизация). Я говорю только о мейнстриме, про параметрический полиморфизм (Haskell, Rust, в некотором смысле и CLOS) я не пишу.

Про ветвь Smalltalk я рассказывать не буду, хотя это тоже интересная вещь. Скажу лишь, что наследниками этой идеологии являются в разной степени Ruby, Python, _javascript_, Lua и т.д.

Расскажу о своих впечатлениях от знакомства с Симулой-67. Симула-67 является объектно-ориентированным расширением Алгола-60 (не 68!). Поскольку она действительно является расширением Алгола-60, и новые концепции, внедрённые в неё, являются по современным понятиям объектно-ориентированными (не знаю точно, знали ли о ООП авторы Симулы). Потомками Симулы можно назвать прежде всего C++, потом уже Java, C#, Kotlin, Ceylon и много чего ещё.

Для себя я вывел такую довольно точную формулу:

C++ = C (Simula-67 \ Algol-60).

Речь идёт о раннем C++, вернее даже, о C with Classes. (Был такой препроцессор для Си Бьерна Страуструпа, непосредственный предшественник Си++.) Потому что действительно, когда читаешь описание Симулы (в книжке из предыдущего письма), возникает впечатление, что авторы Симулы внесли объектно-ориентированные концепции в Алгол, а Страуструп внёс эти же концепции в Си, причём в духе языка Си (очистив их от Алгола). Что в общем-то так и есть, он об этом сам пишет в книге «Дизайн и эволюция C++». Но когда знаком с синтаксисом и семантикой Алгола-60, знаешь Си и Си++, чтение описания Симулы даёт просто стереоскопическое ощущение. Тот же оператор new, наследование, производные классы…

Да, на самом деле более точная формула такая:

C++ = C (Simula-67 \ Algol-60) subset(Algol-68)

Потому что Страуструп знал Алгол-68 (о чём он пишет в упомянутой книжке) и притащил в Си++ некоторые концепции оттуда. Например if (Widget *w = getWidged()) …. На самом деле и в самом Си есть идеи из Алгола-68, те же x += a;.

Но вообще, забавно изучать историю языков программирования. Многие современные языки пытаются объединить понятия «выражения» и «оператора» (к примеру, Kotlin, Rust, расширения GCC в Си). Идея объединения операторов и выражений для «классических» императивных языков впервые предложена в Алголе-68 — посередь выражения можно было вставить и if, и while.

Вернусь к Симуле-67. ООП Симулы воплощён в Си++ Страуструпа. Концепции Си++ воплощены в Java и C#. Идеи двух последних воплощены, к примеру, в Ceylon, Kotlin и много где ещё. Когда-то давно смотрел презентацию по языку Ceylon, в которой преподносилось как новшество то, что определение класса можно рассматривать как определение функции. И конструктор как особый метод не нужен: можно написать что-то вроде class Widget(int x, string y), где параметры в скобках — параметры неявного конструктора. В Kotlin точно такой же синтаксис. Блин! Это же то, что Страуструп не перенёс в Си++ из Симулы-67. Там определение класса было разновидностью процедуры Алгола-60! С точно такой же семантикой.

В общем, мораль. Изучать историю любопытно, потому что история склонна к повторению. Американцы придумали AMBIT, французы из INRIA придумали Tom, оба языка с рефальским отождествлением.

А вообще, можно ещё привести примеры, как концепции некоторых старых, основополагающих языков программирования (Algol-60, Algol-68, Smalltalk, наверное, какие-то диалекты Фортрана (не знаком с ними)) заново повторно и иногда независимо воплощаются в современных языках программирования.

Progress, far from consisting in change, depends on retentiveness. When change is absolute there remains no being to improve and no direction is set for possible improvement: and when experience is not retained, as among savages, infancy is perpetual. Those who cannot remember the past are condemned to repeat it. (George Santayana)

С уважением,
Александр Коновалов

 

 

From: Eisymont Leonid [mailto:verger-lk@yandex.ru]
Sent: Friday, February 23, 2018 8:00 PM
To: refal@botik.ru
Subject:
Re: Не понял про ограниченный РЕФАЛ

 

Ошибочно переслал письмо, немного допишу.

 

23.02.2018, 19:02, "Eisymont Leonid" <verger...@yandex.ru>:

Александр, мы с Сергеем Бычковым, он был моим близким другом, учились в одной группе в МИФИ и в 1973 году его заканчивали в совместной разработке компилятора языка Симула-1 в язык АЛМО на БЭСМ-6, это было реализовано на Рефале. Мы даже еще рефал-интерпретатор Олюнина-Флоренцева еще использовали, который мне пришлось по двоичным кодам по ходу дела изучать и немного править ошибки. Симула-1 в этой разработке был реализован в СССР впервые, люди брались за него, но сделать не смогли. У нас был научный руководитель, Слава Фисун, который с нами возился как дядька-воспитатель, т.е. не только по технике, направлял и по жизни. Да и вообще, коллектив отдела, тогда это был отдел 9 Михаила Романовича Шура-Бура, к нам по отечески отнесся, очень нас это поддержало.

 

У меня в этой разработке была большая часть, поскольку к этому времени я уже успел сделать компилятор языка Фортран-ЦЕРН, его с Сашей Красовским делали. Потом мы взялись вместе за компилятор языка Симула-67. Но меня тогда захватила идея разработки аппаратной реализации Рефала, да и вообще специализированных компьютеров, особенно параллельные реализации. Я оставил эту разработку компилятора Симула-67 Сергею, она была в самом начале, на него лег огромный груз. Он с этим блестяще справился, сумел организовать рабочий коллектив из сотрудников сектора 7 отдела 12, зав. сектором был Игорь Борисович Задыкайло. Сергей так и остался работать в МИФИ, а я к тому времени перешел в ИПМ и стал непосредственно с Задыхайло работать по теме разработки символьного процессора. Защищался также по этой теме, по входному языку символьного процессора, который был расширением Рефала-2. До 1983 года, в русле работ по символьному процессору я с сотрудниками ИПМ сделал полный аналог компилятора Фортран 4 (G) фирмы IBM, но на языке Рефал-2. Это был своеобразный "эксперимент на людях", мы в рамках работ по символьеому процессору этим доказали, что это средство разработки настолько сильно, что можно очень ограниченным коллективом и за короткий срок разаботать такое сложное ПО. Убедили, это также в мою диссертацию вошло. Ну а после 1983 года уже начался Буран и другие работы стратегического характера с использованием Рефала. Об этом я рассказывал.


Сергей Бычков блестяще защитился на компиляторе Симула-67 в МИФИ. Это ПО было, например, применено в процессе проектирования специального суперкомпьютера Булат, за этот суперкомпьютер его разработчики получили потом Ленинскую премию. Сергей, к сожалению, очень рано ушел, умер во время операции. У него остался сын Константин, который работает в области микроэлектроники в МЦСТ, очень способный специалист, а также дочь.

 

Что касается параллельных реализаций Рефала, то то, о чем Вы упоминаете, на совсем крошечных микропроцессорах, это также хороший вариант. Та логика, которая была для одномерных клеточных автоматов, годится и в этом случае.

Распараллеливание на уровне выполнения функций - первое, что бросается в глаза. Однако здесь есть коварный подводный камень - побочные эффекты выполнения функций из-за введенных статических и динамических ящиков. Даже если с ними работа не так интенсивна, они резко затрудняют динамическое распараллеливание программ на уровне функций. С этим я экспериментировал на живом компиляторе. В итоге удалось такую проблему обойти за счет введения специальных средств работы с ящиками типа мониторов. Не так уж это и обременительно было, ведь работа с ящиками не является основным стилем, легко локализуется и налаживается для параллельной программы. Сразу скажу, ящики выбрасывать не стоит из-за проблем работы с ними.

Вобщем, первая статья по глубокому распараллеливанию рефал-программ была в 1977 году в киевском журнале "Управляющие системы и машины", ее автором был я, у меня есть ее скан. Если честно, то тогда параллелить было рановато, не было соответствующих аппаратных возможностей. Мы явно поторопились. Была оценка, что на сорок лет. Забавно, но потом с экспертами, кто давал эту оценку мне пришлось работать по другим темам. Я их поздравил с тем, насколько они были точны. Правда они про эти свои оценки уже и забыли.

Сейчас параллелить рефал можно на существующих микропроцессорах, в том числе и графических, но лучше на специализированных типа мультитредовых с глобально адресуемой памятью. Такими процессорами я занимался - в интернете есть много ссылок на эти работы - суперкомпьютер стратегического назначения, СКСН, "Ангара". Очень надеюсь работы этого типа продолжить, хотя сейчас основные заботы немного о другом. Сам не успею доделать - доделают другие, я сейчас их готовлю. Если есть желание - подключайтесь. У нас не только по Рефалу темы. Посылаю статью своего сына c его товарищами по микропроцессору NM6408, я им немного помогал в написании.

Пока у нас складывается сотрудничество: ЗАО"НТЦ"Модуль" - ФГУП"НИИ"Квант" - МФТИ. Надеемся соединить усилия и с ИСП им.В.П.Иванниикова РАН, ну и конечно сотрудничаем с ИПМ им.М.В.Келдыша РАН. Вобщем, восстанавливаем то, как работа по новой технике была построена в старые добрые времена в СССР, инициатива снизу.

Л.Эйсымонт

 

23.02.2018, 15:45, "Александр Коновалов" <a.v.konovalo...@mail.ru>:

Добрый день, Леонид!

Собрался с мыслями, чтобы ответить на это письмо.

О параллельной реализации Рефала и других архитектурах

Посмотрел приложенные презентацию и статью. Крупнозернистое распараллеливание (параллельное вычисление нескольких функций) — вещь довольно очевидная вообще для функциональных языков. И внедрить такой параллелизм для Рефала сравнительно несложно для распространённых многоядерных PC. В 2008 году Сергей Скоробогатов [неопубликовано] предлагал распараллеливаемое представление и язык сборки для своего компилятора Рефала-7. У меня есть его довольно интересная рукопись, но без его разрешения я её переслать не могу (кстати там он ссылается на публикацию А.С. Фролова и Л.К. Эйсымонта в журнале «Информационные технологии»). Не помню на счёт реализации — была ли она или были только прототипы — надо у него спросить.

Мелкозернистое распараллеливание на PC реализовывать бессмысленно, даже, наверное, на видеокартах бессмысленно (хотя я на них не программировал). Тут уже нужны совсем другие компьютерные архитектуры. Один из вариантов предлагаете Вы — одномерные клеточные автоматы Фон-Неймана. Я о них прочитал (в статье и презентации), но мало что понял, поскольку не умею мыслить в терминах этих автоматов.

Другой интересный вариант, на котором хорошо пошёл бы Рефал — это FFP-машины, предложенные Gyula A. Mago (я затрудняюсь траслитировать это имя). Это машины редукции строк, построенные на большом количестве маленьких процессоров, объединённых в древовидную структуру. Я затрудняюсь кратко и понятно описать их в письме, поэтому отсылаю к диссертации Р. Кента Дибвига (1987 год), где они подробно и ясно описаны в пятой главе:

https://mazdaywik.github.io/direct-link/dybvig-disser.pdf

Диссертация вообще посвящена тремя моделям компиляции Scheme: с использованием промежуточного представления на односвязных списках, с использованием системного стека в виде массива и компиляцию Scheme для вот этих вот гипотетических машин. Когда я читал вот эту последнюю главу, только и думал о том, что для программирования этих машин куда лучше подошёл бы Рефал, нежели Scheme. Для Лиспа эти гипотетические машины — прокрустово ложе, а Рефал ложится красиво. Будет время — почитайте.

О реализациях компиляторов на Рефале в советские годы

У меня есть книжка Андрианов А. Н., Бычков С. П., Хорошилов А. И. Программирование на языке симула-67. — М.: Наука. Глав. ред. физ.-мат. лит., 1985. — 288 с. В ней описывается язык Симула-67 и две его реализации на советских машинах. И между делом упоминается, что обе реализации написаны на Рефале (кажется, я об этом писал в рассылку):

«При реализации компиляторов широко применялся язык рефал [5], ориентированный на программирование сложных символьных преобразований. Наличие на машинах БЭСМ-6 и ЕС ЭВМ реализаций рефала [5, 14], практически полностью совместимых по входному языку, позволило значительно сократить трудоемкость разработки симула-компиляторов, особенно компилятора для ЕС ЭВМ, основу которого составили программы ранее разработанного транслятора с языка симула-67 для БЭСМ-6.» (стр. 169)

«Авторы считают приятным долгом выразить благодарность своим научным руководителям доц. ИБЗадыхайло, проф. ЛТКузину, проф. А. Н. Мямлину за постоянное внимание и поддержку в работе по реализации языка симула-67. Искреннюю благодарность авторы выражают И. М. Седовой, Г. В. Попковой, А. Л. Пытелю, А. Е. Шестакову, участвовавшим в разработке трансляторов с языка симула-67, А. А. Веденову, С. А. Романенко, А. Е. Фирсову за помощь в использовании рефал-систем на БЭСМ-6 и ЕС ЭВМ, а также всем пользователям, чьи замечания способствовали совершенствованию трансляторов с языка симула-67 на ЕС ЭВМ и БЭСМ-6.» (стр. 8)

Выделение жирным моё. Других упоминаний Рефала в книжке я уже не помню. Такую длинную цитату благодарностей я написал на случай — может Вам знакомы перечисленные фамилии (мне известна только фамилия Романенко в списке).

С уважением,
Александр Коновалов

 

From: Eisymont Leonid [mailto:verger...@yandex.ru]
Sent: Monday, January 22, 2018 10:03 PM
To: refal@botik.ru
Subject: Re
: Не понял про ограниченный РЕФАЛ

 

Здравствуйте, Александр.

Я занимался более двадцати лет в ИПМ им.М.В.Келдыша АН СССР практическими приложениями Рефала. Это были разные компиляторы для изделий новой техники, среди них бортовой компьютер МТКК Буран и несколько в то время засекреченных суперкомпьютеров с нестандартной архитектурой.

Некоторым образом это описано в приложенных файлах, в 2012 году мы об этом рассказали.

Еще я занимался проблемой аппаратной реализации рефала, это все про рефал-2 я говорю.

Там были две линии. Одна - это микропрограммная реализация языка сборки Сергея Романенко. Вторая - параллельная версия, в которой распараллеливание происходит на нескольких уровнях. Идея эта была опубликована еще в конце семидесятых годов, у меня есть скан этой статьи в журнале Управляющие системы и машины. Перешлю потом. Эта тема также отображена в присоединенных файлах.

В начале восьмидесятых годов такую реализацию пришлось забросить, поскольку она сильно опережала время, а меня попросили заняться актуальной проблематикой МТКК Буран, связанной с баллистическими вычислениями, потом пошли другие темы, связанные с суперкомпьютерами, сейчас - со специализированными СБИС для суперкомпьютеров специального назначения. Это все есть в сети под моей фамилией, так что можно посмотреть. Параллельный рефал на уровне выполнения функций был реализован моим дипломником, Сашей Фроловым в МИФИ в начале двухтысячных годов, его диплом у меня есть. Есть и исходные тексты, но он сейчас на другую тематику переключился, хотя, если найдутся энтузиасты, то он, по-моему, мог бы помочь и тему передать.

Тема параллельного отождествления и замены на линейке клеточных автоматов так и зависла пока. Я порываюсь ею время от времени заняться, но другие дела оказываются важнее, отнимают все время.

Вот такая пока история. Я очень надеюсь, что язык типа рефала-два , есть еще близкий американский вариант, язык AMBIT, мог бы стать внутренним языком функционального суперкомпьютера не фон-Неймановского типа на пост-Муровской элементной базе. Но пока все не складывается этим заняться, да и более очевидные проекты типа мультитредовых микропроцессоров невозможно запустить.

Л.Эйсымонт

 

22.01.2018, 20:34, "Александр Коновалов" <a.v.konovalo...@mail.ru>:

Добрый вечер, Леонид!

«Заодно вопрос, какие очаги деятельности по Рефалу сейчас остались?»

За себя отвечу. Я преподаю в МГТУ имени Баумана и на кафедре ИУ9 «Теоретическая информатика и компьютерные технологии» по мере сил развиваю Рефал. Сам разрабатываю компилятор Рефала-5λ:

https://github.com/bmstu-iu9/simple-refal

Нормальная документация к нему сейчас пишется, основные отличия от классического Рефала-5 (все они являются расширениями) записаны в README.md (внизу страницы сразу после списка файлов).

И студентов привлекаю к реализации той или иной функциональности в этом компиляторе (курсовые, дипломы). Вот здесь можно найти устаревшую документацию и записки студентов:

https://github.com/bmstu-iu9/simple-refal/tree/master/doc

А другие очаги Рефала, если они есть в рассылке, пускай сами за себя отписываются.

«Что-то мне внутренний голос говорит, что он снова станет актуальным из-за работ по пост-кремниевым технологиям в этом десятилетии. Заманчиво воскресить работу по параллельному рефалу да еще на клеточных автоматах. Такие автоматы, например, в сверхпроводниковой электронике любят.»

Понятия не имею, о чём Вы говорите. Но курсовой по параллельному Рефалу могу, наверное, дать на следующий год.

Коллега с соседней кафедры (ИУ8) как-то говорил мне, что Рефал надо компилировать в прошивки для ПЛИС. Я немного знаком с программированием ПЛИСов, но представления не имею, как ПЛИСы скрестить с Рефалом.

С уважением,
Александр Коновалов

 

From: Eisymont Leonid [mailto:verger...@yandex.ru]
Sent: Monday, January 22, 2018 5:26 PM
To: refal@botik.ru
Subject: Re: Не понял про ограниченный РЕФАЛ

 

Ну, я рад за вас. Да еще любимую книгу из ЦНИПИАС-а процитировали. Заодно вопрос, какие очаги деятельности по Рефалу сейчас остались? Что-то мне внутренний голос говорит, что он снова станет актуальным из-за работ по пост-кремниевым технологиям в этом десятилетии. Заманчиво воскресить работу по параллельному рефалу да еще на клеточных автоматах. Такие автоматы, например, в сверхпроводниковой электронике любят.

Л.Эйсымонт

 

22.01.2018, 16:52, "Andrei Klimov" <kli...@keldysh.ru>:

2018-01-22 7:58 GMT+03:00 Eisymont Leonid <verger...@yandex.ru>:

Настоящие ученые, один в 4.16 вопрос задал, другой в 6.59 ответил.

 

Леонид, какой ты наблюдательный! 🤗

Да, засиделся: хотел уже ложиться спать, а тут редкий вопрос по Рефалу пришел...😳

 

Душа радуется, нас не победить.

 

Да, еще держимся! 🤓

 

Андрей Климов

Ответить