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