Hopeless - функциональное программирование на языке HOPE
Moderator: Shaos
-
- Admin
- Posts: 24080
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Hopeless - функциональное программирование на языке HOPE
Репозиторий с исходниками смотреть тут 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
-
- Admin
- Posts: 24080
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
-
- Admin
- Posts: 24080
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Ну и за одно сделать версию интерпретатора Hope для Windows и DOS (уже собрал его в Linux-x86, Linux-PPC и MacOSX-PPC), причём сделать подсветку синтаксиса, интерактивную помощь, интерфейс к сишным функциям/либам, возможность создавать окошки и т.д...Shaos wrote:Вот думаю не поюзать ли сей язык в каком-нибудь своём домашнем программном проекте из тех что заброшены по причине того что C/C++ (да собственно уже и Java) давно осточертели...
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- God
- Posts: 1078
- Joined: 03 Feb 2003 13:53
Может тогда уж компилятор под МК:)Shaos wrote:Ну и за одно сделать версию интерпретатора Hope для Windows и DOS (уже собрал его в Linux-x86, Linux-PPC и MacOSX-PPC), причём сделать подсветку синтаксиса, интерактивную помощь, интерфейс к сишным функциям/либам, возможность создавать окошки и т.д...Shaos wrote:Вот думаю не поюзать ли сей язык в каком-нибудь своём домашнем программном проекте из тех что заброшены по причине того что C/C++ (да собственно уже и Java) давно осточертели...

Формат конференции позволяет сказать то что я действительно думаю о проблемах...
(с) Путин
-
- Admin
- Posts: 24080
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Ну в перспективе было бы прикольно иметь карманный самодельный компьютер с бортовым языком Hope, но это так - мечты...cr0acker wrote:Может тогда уж компилятор под МК:)Shaos wrote:Ну и за одно сделать версию интерпретатора Hope для Windows и DOS (уже собрал его в Linux-x86, Linux-PPC и MacOSX-PPC), причём сделать подсветку синтаксиса, интерактивную помощь, интерфейс к сишным функциям/либам, возможность создавать окошки и т.д...Shaos wrote:Вот думаю не поюзать ли сей язык в каком-нибудь своём домашнем программном проекте из тех что заброшены по причине того что C/C++ (да собственно уже и Java) давно осточертели...
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- God
- Posts: 1078
- Joined: 03 Feb 2003 13:53
Я не много не про это. Сколь есть поддерживаемых ЯВУ для SX? 0! А тут может появится:) Хотя по мне луше взять понравишееся идеи их хопа и импламентировать в рв1п2, при это создав прозрачный механиз добавления новых платформ.Shaos wrote:Ну в перспективе было бы прикольно иметь карманный самодельный компьютер с бортовым языком Hope, но это так - мечты...cr0acker wrote:Может тогда уж компилятор под МК:)Shaos wrote:Ну и за одно сделать версию интерпретатора Hope для Windows и DOS (уже собрал его в Linux-x86, Linux-PPC и MacOSX-PPC), причём сделать подсветку синтаксиса, интерактивную помощь, интерфейс к сишным функциям/либам, возможность создавать окошки и т.д...Shaos wrote:Вот думаю не поюзать ли сей язык в каком-нибудь своём домашнем программном проекте из тех что заброшены по причине того что C/C++ (да собственно уже и Java) давно осточертели...

Формат конференции позволяет сказать то что я действительно думаю о проблемах...
(с) Путин
-
- Retired
- Posts: 1474
- Joined: 03 Aug 2003 22:37
- Location: Moscow
Вообще я категорически поддерживаю любые портативные, и в особенности - карманные, самодельные устройства. А уж КСК с функциональным языком программирования внутри тем болееShaos wrote:Ну в перспективе было бы прикольно иметь карманный самодельный компьютер с бортовым языком Hope, но это так - мечты...

Extreme Entertainment
-
- Admin
- Posts: 24080
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Ну поддерживаемых снаружи языков ровно столько сколько и для пиков, а вот поддерживаемых внутри - пока немного...cr0acker wrote: Я не много не про это. Сколь есть поддерживаемых ЯВУ для SX? 0! А тут может появится:) Хотя по мне луше взять понравишееся идеи их хопа и импламентировать в рв1п2, при это создав прозрачный механиз добавления новых платформ.
Кстати для Hope маловато будет 8-битки - надо замахиваться на m68k или arm. К примеру размер екзешника интерпретатора Hope для PC - 260K, а для мака-PPC и того больше - за 300K, собственно отсюда и плясать...
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 24080
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Сегодня сделал форк интерпретатора Hope под названием Hopeless 
т.к. сырцы под GPL, то готов поделиться со всеми желающими - но собирается оно только в юниксах (пока)

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
Last edited by Shaos on 27 Jun 2007 19:58, edited 1 time in total.
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- God
- Posts: 1078
- Joined: 03 Feb 2003 13:53
Дык я и грю сделать компилятор ладно поглядим на хопе:)Shaos wrote:Ну поддерживаемых снаружи языков ровно столько сколько и для пиков, а вот поддерживаемых внутри - пока немного...cr0acker wrote: Я не много не про это. Сколь есть поддерживаемых ЯВУ для SX? 0! А тут может появится:) Хотя по мне луше взять понравишееся идеи их хопа и импламентировать в рв1п2, при это создав прозрачный механиз добавления новых платформ.
Кстати для Hope маловато будет 8-битки - надо замахиваться на m68k или arm. К примеру размер екзешника интерпретатора Hope для PC - 260K, а для мака-PPC и того больше - за 300K, собственно отсюда и плясать...

Формат конференции позволяет сказать то что я действительно думаю о проблемах...
(с) Путин
-
- Admin
- Posts: 24080
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Разве что компилятор в байткод...cr0acker wrote:Дык я и грю сделать компилятор ладно поглядим на хопе:)Shaos wrote:Ну поддерживаемых снаружи языков ровно столько сколько и для пиков, а вот поддерживаемых внутри - пока немного...cr0acker wrote: Я не много не про это. Сколь есть поддерживаемых ЯВУ для SX? 0! А тут может появится:) Хотя по мне луше взять понравишееся идеи их хопа и импламентировать в рв1п2, при это создав прозрачный механиз добавления новых платформ.
Кстати для Hope маловато будет 8-битки - надо замахиваться на m68k или arm. К примеру размер екзешника интерпретатора Hope для PC - 260K, а для мака-PPC и того больше - за 300K, собственно отсюда и плясать...
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 24080
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Версию 0.1 качать тут: http://shabarshin.com/funny/Shaos wrote:Сегодня сделал форк интерпретатора Hope под названием Hopeless
т.к. сырцы под GPL, то готов поделиться со всеми желающими - но собирается оно только в юниксах (пока)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
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- God
- Posts: 1078
- Joined: 03 Feb 2003 13:53
Байт код в виде пкода как рв1п2?Shaos wrote:Разве что компилятор в байткод...cr0acker wrote:Дык я и грю сделать компилятор ладно поглядим на хопе:)Shaos wrote:Ну поддерживаемых снаружи языков ровно столько сколько и для пиков, а вот поддерживаемых внутри - пока немного...cr0acker wrote: Я не много не про это. Сколь есть поддерживаемых ЯВУ для SX? 0! А тут может появится:) Хотя по мне луше взять понравишееся идеи их хопа и импламентировать в рв1п2, при это создав прозрачный механиз добавления новых платформ.
Кстати для Hope маловато будет 8-битки - надо замахиваться на m68k или arm. К примеру размер екзешника интерпретатора Hope для PC - 260K, а для мака-PPC и того больше - за 300K, собственно отсюда и плясать...

Формат конференции позволяет сказать то что я действительно думаю о проблемах...
(с) Путин
-
- Admin
- Posts: 24080
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Не совсем - байт-код для представления структур данных и правил преобразования этих данных, но об этом в соседнем топике про язык Funny.cr0acker wrote:Байт код в виде пкода как рв1п2?
Возвращаясь к теме этого топика, сообщаю, что сегодня я собрал 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
-
- Admin
- Posts: 24080
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
По поводу дальнейших улучшений Hopeless:
1) история ввода - сейчас оно ничего не помнит и к примеру в случае ошибочного ввода надо заново всю строку перенабирать;
2) подсветка синтаксиса - можно сделать на подобие подсветки Haskell в Kate;
3) возможность вывода через команду display не только всего подряд, а также лишь описания отдельных функций с указанием имени;
4) интеллектуальное добавление образцов - если таковой уже имеется, то заменить старое описание новым;
5) возможно разрешить редактирование (или хотя бы удаление) уже введённых записей.
1) история ввода - сейчас оно ничего не помнит и к примеру в случае ошибочного ввода надо заново всю строку перенабирать;
2) подсветка синтаксиса - можно сделать на подобие подсветки Haskell в Kate;
3) возможность вывода через команду display не только всего подряд, а также лишь описания отдельных функций с указанием имени;
4) интеллектуальное добавление образцов - если таковой уже имеется, то заменить старое описание новым;
5) возможно разрешить редактирование (или хотя бы удаление) уже введённых записей.
Я тут за главного - если что шлите мыло на me собака shaos точка net