Re: Case-sensitive Refal+


Andrei Klimov (klimov@keldysh.ru)
Fri, 3 Dec 1999 16:55:10 +0300


> From: Andrey Slepuhin <pooh@msu.ru>

> > Арк.: А что, разве в существующей б-ке для существующего runtim'а надо
> > много менять?
>
> Ее надо просто переписывать с нуля - менять многие интерфейсы, вводить новые
> возможности, которые необходимы в современной жизни. Естественно, старая
> библиотека останется, чтобы не переделывать уже существующие программы.
> Я готов проработать подробный проект библиотеки, но сначала хочу закончить
> текущие преобразования в компиляторе.
>
> Андрей.

Извините за занудство (;-) и повтор, но я по-прежнему придерживаюсь мнения,
что никаких чисто рефальских библиотек (кроме уж совсем "ядреных", имеющих
дело с понятиями самого Рефала, вроде арифметики) разрабатывать не следует,
а нужно (просто-таки необходимо, чтобы Рефал не умер, а пошел в жизнь)
пристыковать его в существующим распространенным библиотекам:
Tcl/Tk (Tcl -- это название языка, Tk -- "toolkit" -- это название библиотеки)
и другим.

А это не зависит от вопроса, менять runtime или нет. Подключение чужих библиотек
можно (и дОлжно) сделать для любого run-timе-а -- кроме тех, для которых это
невозможно вообще. А а такие run-time-ы надо выкинуть и с ними больше не связываться.
(Если нынешней реализации Рефала Плюс уже поставлен такой диагноз, то...;-).

Что нужно продумать -- это общий механизм вызова таких библиотек из Рефала.
Сочинить такие вещи теоретически практически невозможно, поэтому надо взять
несколько живых библиотек и с ними поработать. Я бы начал c Tcl/Tk, поскольку
основной тип данных в Tcl -- это строка, аргументы функций -- списки строк.
Поэтому создается впечатление, что форматы вызова функций Tk из Рефала
будет естественным отображением вызовов из Tcl, и можно будет даже
даже не переписывать документацию по Tk.

Дальше нужно разбираться, как связываться в объектно-ориентированными
мирами: CORBA, DCOM, Visual Basic, Java RMI -- причем, мне кажется,
надо брать за основу не IDL (interface definition language) как средство
основанное на компиляции, а динамические механизмы вызова:
т.н. "автоматизация" в DCOM, Java reflection и т.п.

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

Андрей (К).



This archive was generated by hypermail 2.0b3 on Fri Dec 03 1999 - 17:20:54 MSK