Язык программирования ГАРФ

Из случайно оборонённого комментария к одной из статей в интернете, узнал о существовавшем когда-то функциональном языке программирования ГАРФ (GARF — Generalized Arithmetic Recursive Functions), разрабатываемом в середине 1960-х Ильёй Шмаиным, советским специалистом в области математической логики и языков программирования.

Информации о языке очень мало, наиболее полное упоминание в рунете я нашёл в статье, которая так и называется  — «Илья Шмаин»:
Это больше, чем язык программирования, это некоторый способ, стиль программирования вместе с математической теорией этого стиля. Это программирование на основе рекурсивных функций, опирающееся на классические работы Клини и одно их обобщение, сделанное Есениным-Вольпиным.

ГАРФ — это язык функционального программирования. Но он намного более абстрактен и универсален, чем первые языки такого типа. На нем можно было определять произвольные типы объектов и произвольные (но вычислимые) функции и функционалы на этих объектах.

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

2. Упомянутые выше «индуктивно-определяемые области» содержали, в частности, идею того, что позже стало называться объектно-ориентированным програмированием (или абстрактными типами данных). Т.е. язык содержал средства для задания любых типов объектов с заданными на них функциями и отношениями, а потом уже на такого рода областях задавалась сама программа.

3. То, что в ГАРФе «и функции, и области понимаются в самом широком смысле», означало, что можно было задавать любые функционалы, причем их определение могло содержать параметры (тем самым тип функций и объектов не фиксировался жестко).
В общем, ничего конкретного в статье нет, а жаль — упомянутое интересно, любопытно было бы взглянуть!
11 июля 2014 13:59

https://twitter.com/dizzy57 (инкогнито)
11 июля 2014, 14:22

Ильём?

Евгений Степанищев (bolknote.ru)
11 июля 2014, 14:25, ответ предназначен https://twitter.com/dizzy57

Поправил, спасибо!

Алексей (инкогнито)
18 июля 2014, 09:45

Найти статью И.Х.Шмаина не сложно (http://gen.lib.rus.ec/book/index.php?md5=2524E8BC0FC11FC3EC26453EAC790B34). Текст не простой и предполагает приличный уровень знакомства с мат.логикой. Больше ничего найти не удалось

Евгений Степанищев (bolknote.ru)
18 июля 2014, 12:01, ответ предназначен Алексею

Спасибо большое! Попробую хотя бы глянуть, приличного уровня матлогики у меня уже, скорее всего, не наблюдается — за 13 лет с окончания Университета некуда было эти знания приложить.

Евгений Степанищев (bolknote.ru)
18 июля 2014, 12:04, ответ предназначен Алексею

Посмотрел. На мой взгляд, это совсем не та статья, на которую ссылается автор процитированных мемуаров.

Алексей (инкогнито)
18 июля 2014, 13:08

Да, я тоже посмотрел. В общем-то статья не совсем о том. Но тема близкая - теория рекурсивных функций и теория логического вывода. Найти бы публикацию в ЦНИИ автоматизации, но как это сделать - ума не приложу.
Да, к слову, вдруг заинтересует: в те же годы В.Ф.Турчиным был разработан язык РЕФАЛ. Не скажу - похожи ли РЕФАЛ и ГАРФ, но язык интересный и до сих пор живой (информации по РЕФАЛ-у много, например, тут http://refal.botik.ru/)

Евгений Степанищев (bolknote.ru)
18 июля 2014, 13:10, ответ предназначен Алексею

http://bolknote.ru/99.html №40

Алексей (инкогнито)
18 июля 2014, 13:31

Точно :)

Георгий (инкогнито)
22 июля 2014, 09:21

Видели, я выложил?
http://ru-lambda.livejournal.com/148881.html

Евгений Степанищев (bolknote.ru)
22 июля 2014, 11:13, ответ предназначен Георгию

Видел, спасибо!

Георгий (инкогнито)
20 сентября 2014, 02:10

Евгений, а скажите, пожалуйста, можно ли сейчас зарабатывать программированием на функциональных языках? Есть места, где за это платят деньги?

Евгений Степанищев (bolknote.ru)
20 сентября 2014, 19:45, ответ предназначен Георгию

Конечно. Например, в Ульяновске есть такие конторы (на Хаскеле).

Георгий (инкогнито)
21 сентября 2014, 05:44

А как их искать в Москве?

Евгений Степанищев (bolknote.ru)
21 сентября 2014, 15:51, ответ предназначен Георгию

как обычно —
http://hh.ru
http://moikrug.ru

Ваше имя или адрес блога (можно OpenID):

Текст вашего комментария, не HTML:

Кому бы вы хотели ответить (или кликните на его аватару)