Re: Case-sensitive Refal+; NetProlog


Subject: Re: Case-sensitive Refal+; NetProlog
From: Leonid F. Belous (belous@ilt.kharkov.ua)
Date: Tue Dec 14 1999 - 23:01:20 MSK


Привет Всем!
Примите поздравления с уже совсем близким Новым Годом и Тысячелетием!

Андрей, который (К) :), я хочу ответить не только на это твое письмо,
которое, как я понимаю, сподвигнуло Алика на эксперимент, результаты
которого вызвали живую волну интереса к интеграции Рефала с Java.

Если помнишь, почти точно ровно год назад, в телеконференции refal-plus
ты задавал вопрос, а каким бы мы хотели видеть Рефал в контексте
современных веяний (Это письмо приведено в конце, чтобы его не разыскивать).

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

> Еще один пример того, что делают на других языках высокого уровня и
> надо уметь делать и на Рефале, чтобы Рефал мог выжить, -- это писать апплетки.
> Один способ достичь этого -- компилировать Рефал в Явовский байт-код
> (или интерпретировать Рефал на Яве, а потом суперкомпилировать).
> Другой способ -- оформить run-time Рефала как plug-in, чтобы он мог загружаться в браузер.
>
> В любом варианте встает вопрос о наборе функций для работы со средой в браузере.
> При этом важно не разрабатывать библиотеку с нуля, а воспользоваться готовыми наработками --
> желательно самыми распространенными, наиболее общими и хорошо отработанными библиотеками.
>
> В качестве образца (как для подражания, так и для критики, но в любом случае -- для размышлений)
> стоит посмотреть NetProlog, который компилируется в явовский байт-код:
> http://netprolog.pdc.dk/
>
> На этой странице приведен текст на НетПрологе двух апплеток, работа которых тут же продемонстрирована.

Я был на этом сайте, посмотрел, и пошел несколько дальше. Меня заинтересовало,
а как выглядит сегодня, вообщем-то родственная по духу, СИСТЕМА на базе языка
Пролог (http://www.pdc.dk/vip/pdcindex.htm).
А выглядит на сегодня Пролог, как можно увидеть на этом сайте, как

        Visual Prolog - The Number One Programming Language for AI

Следует заметить, что этот путь (до Visual Prolog) они прошли, если я правильно
понял их хронологию в разделе What's New, за довольно короткий срок,
начиная с версии Visual Prolog 5.0 (Dec 1997).
В разделе applications этого сайта отмечены в качестве самых новых вещей
две:

1. Точно, то, что ты описываешь в своем письме - система Netprolog,
   поддерживающая Java апплеты,

2. SSProlog - Server Side Prolog. Execute serverside Prolog Code
   in your HTML Pages <http://www.jpmorrow.com/cgi-bin/foo1?call=foo1.html>

Это второе, как оказалось, есть не что иное, как ответ на PHP scripting
language. Приводится конкретный пример и сравнительные результаты тестирования
с последней версией PHP-4, недвусмысленно показывающими преимущество Пролога
над PHP, и заодно над микросовтовскими ASP (Active Server Pages).
<http://www.zend.com/benchmarks-asp.php> PHP 4.0 pre-alpha vs.

Речь идет о возможности вставлять текст встраимого языка (Server Side Include)
в HTML страницы. Основная цель - создание динамических страниц. PHP
наиболее известен как интерфейс со всевозможными СУБД при поддержке WEB
на серверах apache <http://www.php.net> .

 Краткая характеристика с home page PHP:

What is PHP?
PHP is a server-side, cross-platform, HTML embedded scripting
language. If you are completely new to PHP and want to get some idea of how it
works, have a look at the Introductory Tutorial.<http://www.php.net/tut.php3>

Это ровно то, над чем работают (как я надеюсь) Сергей Битюков и Андрей Слепухин
в отношении refal-plus. Возможно даже они и решили эту задачу, но
все хранят в глубокой тайне :). Хотелось бы услышать каково действительное
состояние дел с этой задачей. Я считаю, что все следует сделать точно также,
как у прологовцев, только вместо Пролога - Рефал.

Пролог ринулся в эту нишу, понимая, что круг пользователей,
которым предоставляется сервис серверов apache необычайно широк. И я думаю,
что мы не должны упускать этого шанса и для внедрения Рефала.
И мне кажется, что это вовсе не должно быть прерогативой только Рефала-плюс.

А заключение мое относительно того, каким бы я хотел видеть Рефал, базируется
на увиденном Прологе. Я скачал 20 мбт (самоубийца !) чтобы посмотреть все-таки
что же есть Visual Prolog. Саморазворачивающийся файл при установке запросил
210 mbt (что меня сначала отпугнуло), но заняла система только 68 mbt.

Короче, здесь и изобретать нечего, хочу такое-же, но Visual Refal !
Если перфразировать слова из песни В.Высоцкого
" ..Лучше гор могут быть только горы ..", то, имея ввиду под горами - списки,
можно, наверняка, сказать:

        "Лучше Пролога может быть только Рефал !"

Прошу прощения за возможный офтопик.

>
> Андрей (К).
>
Леонид Белоус
>
--------------------------------------------------------------------------------
Andrei Klimov (klimov@spp.keldysh.ru)
Sat, 19 Dec 1998 23:12:54 +0300
  
Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Next message: Klimov, Arkady: "RE: about books"
Previous message: Sergei M. Abramov: "Re: testing refal-plus@botik.ru, please
ignore"
--------------------------------------------------------------------------------

Леня, добрый день!
  
>Андрей, если помнишь, моя голубая мечта состояла в том, чтобы Рефал
>был доведен до того уровня удобства, как в свое время был REXX под
VM/SP.
  
Очень хорошо помню! Сам о том мечтал!
  
Хорошую тему ты поднял. Столь важную, что это письмо стоило сразу в
mailling list направить. Чтобы привлечь к ней внимание остального
сообщества и спровоцировать обсуждение, отвечаю через refal-лист.
  
>Хотя REXX и сейчас под ОS/2 не в загоне, но моя неприязнь к этой
>системе тебе тоже известна.
>Но REXX это не то, также как и Perl. Вполне солидарен с точкой зрения
>Дмитрия на Perl.
  
Тогда возникает такой вопрос:
  
А какие нужны средства в Рефале и в Рефал-системе, чтобы его
использование в качестве scripting language -- как в классическом
стиле, продемонстрированном REXX-ом, так и в современном стиле в духе
Visual Basic-а и JavaScript-а -- было реальным и удобным?
  
Ведь перекрыть удобство REXX-а не так просто! А может вообще для
данной роли лучше подходят императивные языки (REXX, Perl, Visual
Basic, Java...) и функциональный язык Рефал мало подходит?
  
Для затравки обсуждения вот мой список требований и вопросов по
отношению к Рефалу как scripting language:
  
1) нужен внятный и хорошо документированный интерфейс в
широко-распространенным языком, по-видимому, в первую очередь с С, а
потом, может и с Java;
  
2) более того, наверное, нужен не просто кабы какой интерфейс с С, но
возможность определять подсистему, запрограммированную на Рефале, как
CORBA-объект и/или DCOM-объект, чтобы к ней можно было обращаться как
локально, так и удаленно, по единообразным правилам;
  
3) при этом, и из Рефал-программы надо вызывать CORBA- и DCOM-объекты,
созданные на других языках;
  
4) нужны ли и какие средства автоматической перекодировки данных?
язык описания интерфейса рефал-объектов с CORBA-объектами, Рефал-IDL?
  
5) будет ли этого достаточно, чтобы управлять системными объектами так
же легко как и из REXX-а? (вспомним, что управляемые из REXX-а
подсистемы имели специально отработанный интерфейс с REXX-ом в
терминах строчный команд, которые мог посылать как user с терминала,
так и REXX-программа)
  
6) насколько важна динамическая компиляция и загрузка программ для
роли scripting language?
  
И как сделать все это красиво, удобно, с достаточной полнотой.
  
Какие еще требования к Рефал-системе надо предъявить, какие вопросы
решить, чтобы Рефал мог конкурировать с REXX-ом, Perl-ом, и т.д.?
  
Андрей.
  
--------------------------------------------------------------------------------
Next message: Klimov, Arkady: "RE: about books"
Previous message: Sergei M. Abramov: "Re: testing refal-plus@botik.ru, please
ignore"
--------------------------------------------------------------------------------
This archive was generated by hypermail 2.0b3 on Tue Dec 29 1998 - 23:09:20 MSK
--------------------------------------------------------------------------------



This archive was generated by hypermail 2b25 : Mon Oct 25 2004 - 21:24:58 MSD