Hopeless - функциональное программирование на языке HOPE

Использование и разработка софта (преимущественно на ПЦ)

Moderator: Shaos

User avatar
Shaos
Admin
Posts: 24080
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Hopeless - функциональное программирование на языке HOPE

Post by Shaos »


Репозиторий с исходниками смотреть тут https://gitlab.com/shaos/hopeless


Несколько дней штудирую Филда* в оригинале (с русским переводом знаком с 1994 года) и сижу в интерпретаторе HOPE, на который я случайно наткнулся пару лет назад:

http://www.soi.city.ac.uk/~ross/Hope/
https://web.archive.org/web/20051216124 ... ross/Hope/

Читать:

http://en.wikipedia.org/wiki/Hope_programming_language
http://www.soi.city.ac.uk/~ross/Hope/ho ... e_tut.html
https://web.archive.org/web/20051218003 ... e_tut.html

* Antony J. Field, Peter G. Harrison, Functional Programming, 1988, 620 pages.
Русский перевод - А.Филд, П.Харрисон, Функциональное программирование, 1993, 640 стр. (есть в инете)

P.S. Сайт оригинального автора программы недоступен с 2014 года - поставил выше линки на архивную версию...
Last edited by Shaos on 28 Nov 2014 12:09, edited 11 times in total.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24080
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Вот думаю не поюзать ли сей язык в каком-нибудь своём домашнем программном проекте из тех что заброшены по причине того что C/C++ (да собственно уже и Java) давно осточертели...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24080
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Shaos wrote:Вот думаю не поюзать ли сей язык в каком-нибудь своём домашнем программном проекте из тех что заброшены по причине того что C/C++ (да собственно уже и Java) давно осточертели...
Ну и за одно сделать версию интерпретатора Hope для Windows и DOS (уже собрал его в Linux-x86, Linux-PPC и MacOSX-PPC), причём сделать подсветку синтаксиса, интерактивную помощь, интерфейс к сишным функциям/либам, возможность создавать окошки и т.д...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
cr0acker
God
Posts: 1078
Joined: 03 Feb 2003 13:53

Post by cr0acker »

Shaos wrote:
Shaos wrote:Вот думаю не поюзать ли сей язык в каком-нибудь своём домашнем программном проекте из тех что заброшены по причине того что C/C++ (да собственно уже и Java) давно осточертели...
Ну и за одно сделать версию интерпретатора Hope для Windows и DOS (уже собрал его в Linux-x86, Linux-PPC и MacOSX-PPC), причём сделать подсветку синтаксиса, интерактивную помощь, интерфейс к сишным функциям/либам, возможность создавать окошки и т.д...
Может тогда уж компилятор под МК:)
Image
Формат конференции позволяет сказать то что я действительно думаю о проблемах...
(с) Путин
User avatar
Shaos
Admin
Posts: 24080
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

cr0acker wrote:
Shaos wrote:
Shaos wrote:Вот думаю не поюзать ли сей язык в каком-нибудь своём домашнем программном проекте из тех что заброшены по причине того что C/C++ (да собственно уже и Java) давно осточертели...
Ну и за одно сделать версию интерпретатора Hope для Windows и DOS (уже собрал его в Linux-x86, Linux-PPC и MacOSX-PPC), причём сделать подсветку синтаксиса, интерактивную помощь, интерфейс к сишным функциям/либам, возможность создавать окошки и т.д...
Может тогда уж компилятор под МК:)
Ну в перспективе было бы прикольно иметь карманный самодельный компьютер с бортовым языком Hope, но это так - мечты...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
cr0acker
God
Posts: 1078
Joined: 03 Feb 2003 13:53

Post by cr0acker »

Shaos wrote:
cr0acker wrote:
Shaos wrote:
Shaos wrote:Вот думаю не поюзать ли сей язык в каком-нибудь своём домашнем программном проекте из тех что заброшены по причине того что C/C++ (да собственно уже и Java) давно осточертели...
Ну и за одно сделать версию интерпретатора Hope для Windows и DOS (уже собрал его в Linux-x86, Linux-PPC и MacOSX-PPC), причём сделать подсветку синтаксиса, интерактивную помощь, интерфейс к сишным функциям/либам, возможность создавать окошки и т.д...
Может тогда уж компилятор под МК:)
Ну в перспективе было бы прикольно иметь карманный самодельный компьютер с бортовым языком Hope, но это так - мечты...
Я не много не про это. Сколь есть поддерживаемых ЯВУ для SX? 0! А тут может появится:) Хотя по мне луше взять понравишееся идеи их хопа и импламентировать в рв1п2, при это создав прозрачный механиз добавления новых платформ.
Image
Формат конференции позволяет сказать то что я действительно думаю о проблемах...
(с) Путин
Mac Buster
Retired
Posts: 1474
Joined: 03 Aug 2003 22:37
Location: Moscow

Post by Mac Buster »

Shaos wrote:Ну в перспективе было бы прикольно иметь карманный самодельный компьютер с бортовым языком Hope, но это так - мечты...
Вообще я категорически поддерживаю любые портативные, и в особенности - карманные, самодельные устройства. А уж КСК с функциональным языком программирования внутри тем более :)
Extreme Entertainment
User avatar
Shaos
Admin
Posts: 24080
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

cr0acker wrote: Я не много не про это. Сколь есть поддерживаемых ЯВУ для SX? 0! А тут может появится:) Хотя по мне луше взять понравишееся идеи их хопа и импламентировать в рв1п2, при это создав прозрачный механиз добавления новых платформ.
Ну поддерживаемых снаружи языков ровно столько сколько и для пиков, а вот поддерживаемых внутри - пока немного...

Кстати для Hope маловато будет 8-битки - надо замахиваться на m68k или arm. К примеру размер екзешника интерпретатора Hope для PC - 260K, а для мака-PPC и того больше - за 300K, собственно отсюда и плясать...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24080
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Сегодня сделал форк интерпретатора Hope под названием Hopeless ;)

Code: Select all

HISTORY OF HOPELESS

26 Jun 2007	fork -> Hopeless v0.1
		option -v prints new name and version
		interactive command "write" does not print quotatons now
		new interactive command "help" prints list of interactive commands
т.к. сырцы под GPL, то готов поделиться со всеми желающими - но собирается оно только в юниксах (пока)
Last edited by Shaos on 27 Jun 2007 19:58, edited 1 time in total.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
cr0acker
God
Posts: 1078
Joined: 03 Feb 2003 13:53

Post by cr0acker »

Shaos wrote:
cr0acker wrote: Я не много не про это. Сколь есть поддерживаемых ЯВУ для SX? 0! А тут может появится:) Хотя по мне луше взять понравишееся идеи их хопа и импламентировать в рв1п2, при это создав прозрачный механиз добавления новых платформ.
Ну поддерживаемых снаружи языков ровно столько сколько и для пиков, а вот поддерживаемых внутри - пока немного...

Кстати для Hope маловато будет 8-битки - надо замахиваться на m68k или arm. К примеру размер екзешника интерпретатора Hope для PC - 260K, а для мака-PPC и того больше - за 300K, собственно отсюда и плясать...
Дык я и грю сделать компилятор ладно поглядим на хопе:)
Image
Формат конференции позволяет сказать то что я действительно думаю о проблемах...
(с) Путин
User avatar
Shaos
Admin
Posts: 24080
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

cr0acker wrote:
Shaos wrote:
cr0acker wrote: Я не много не про это. Сколь есть поддерживаемых ЯВУ для SX? 0! А тут может появится:) Хотя по мне луше взять понравишееся идеи их хопа и импламентировать в рв1п2, при это создав прозрачный механиз добавления новых платформ.
Ну поддерживаемых снаружи языков ровно столько сколько и для пиков, а вот поддерживаемых внутри - пока немного...

Кстати для Hope маловато будет 8-битки - надо замахиваться на m68k или arm. К примеру размер екзешника интерпретатора Hope для PC - 260K, а для мака-PPC и того больше - за 300K, собственно отсюда и плясать...
Дык я и грю сделать компилятор ладно поглядим на хопе:)
Разве что компилятор в байткод...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24080
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Shaos wrote:Сегодня сделал форк интерпретатора Hope под названием Hopeless ;)

Code: Select all

HISTORY OF HOPELESS

26 Jun 2007	fork -> Hopeless v0.1
		option -v prints new name and version
		interactive command "write" does not print quotatons now
		new interactive command "help" prints list of interactive commands
т.к. сырцы под GPL, то готов поделиться со всеми желающими - но собирается оно только в юниксах (пока)
Версию 0.1 качать тут: http://shabarshin.com/funny/
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
cr0acker
God
Posts: 1078
Joined: 03 Feb 2003 13:53

Post by cr0acker »

Shaos wrote:
cr0acker wrote:
Shaos wrote:
cr0acker wrote: Я не много не про это. Сколь есть поддерживаемых ЯВУ для SX? 0! А тут может появится:) Хотя по мне луше взять понравишееся идеи их хопа и импламентировать в рв1п2, при это создав прозрачный механиз добавления новых платформ.
Ну поддерживаемых снаружи языков ровно столько сколько и для пиков, а вот поддерживаемых внутри - пока немного...

Кстати для Hope маловато будет 8-битки - надо замахиваться на m68k или arm. К примеру размер екзешника интерпретатора Hope для PC - 260K, а для мака-PPC и того больше - за 300K, собственно отсюда и плясать...
Дык я и грю сделать компилятор ладно поглядим на хопе:)
Разве что компилятор в байткод...
Байт код в виде пкода как рв1п2?
Image
Формат конференции позволяет сказать то что я действительно думаю о проблемах...
(с) Путин
User avatar
Shaos
Admin
Posts: 24080
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

cr0acker wrote:Байт код в виде пкода как рв1п2?
Не совсем - байт-код для представления структур данных и правил преобразования этих данных, но об этом в соседнем топике про язык Funny.

Возвращаясь к теме этого топика, сообщаю, что сегодня я собрал Hopeless v0.1 в Cygwin (для запуска под виндой) и выложил на своём сайте (вместе с cygwin1.dll). Прямой линк:

http://shabarshin.com/funny/hopeless_cygwin.zip (836K)
Last edited by Shaos on 24 Apr 2010 19:52, edited 1 time in total.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24080
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

По поводу дальнейших улучшений Hopeless:
1) история ввода - сейчас оно ничего не помнит и к примеру в случае ошибочного ввода надо заново всю строку перенабирать;
2) подсветка синтаксиса - можно сделать на подобие подсветки Haskell в Kate;
3) возможность вывода через команду display не только всего подряд, а также лишь описания отдельных функций с указанием имени;
4) интеллектуальное добавление образцов - если таковой уже имеется, то заменить старое описание новым;
5) возможно разрешить редактирование (или хотя бы удаление) уже введённых записей.
Я тут за главного - если что шлите мыло на me собака shaos точка net