Re: SciTE as graphic user interface for Refal


Subject: Re: SciTE as graphic user interface for Refal
From: Leonid Belous (belous@ilt.kharkov.ua)
Date: Thu Jun 12 2003 - 21:11:07 MSD


Добрый вечер, всем!

> Леонид (и все),
>
> Как мне кажется, никаких отдельных продуктов типа IDE для рефала в 21-м
> веке уже не нужно. И данное предложение как бы даже это подтверждает:
всякий
> достаточно развитый редактор позволяет в себя интегрировать любой
> компилятор, лишь бы у того был достаточно разумный интерфейс командной
> строки. Причем конкретная интеграция, к сожалению, будет интересна только
> тем, кто уже используется данный редактор, или еще не сделал своего
выбора.
> Поэтому своя фиксированная оболочка для такого "нового" языка, как Рефал,
> вряд ли будет способствовать его распространению, а может даже и наоборот
> (ведь сменить привычный редактор - это почти как переехать в новую
квартиру).
Вот чего не ожидал, так это вреда распространению Рефалу-5 :-).
Я, кстати, пока только показываю эту самую новую "квартиру" и не заставляю
туда насильно никого переезжать.

>
> С другой стороны, все нормальные редакторы развиваются независимо, и
поэтому
> поставлять рефал в привязке к конкретной версии - тоже не лучшее решение.
Здесь есть свои плюсы и минусы.
Существенное упрощение процедуры установки - далеко не второстепенный
вопрос.

>
> У себя я тоже сделал аналогогичную интеграцию (рефала-6)
> с редактором TextPad, к которому привык. Он правда не является свободным,
> и поэтому я не могу предложить замкнутую совместную инсталляцию,
> но могу только предложить настроечные файлы, на которые когда-то затратил
> некоторое время.
>
> Конечно, разные редакторы допускают разную степень адаптации. В частности,
> TextPad допускает лишь очень ограниченную настройку в части понимании
синтаксиса,
> но зато все сводится к написанию некоего несложного параметрического файла
> (и ничего не надо писать на C++, как для SciTE).
Идеология SciTE тоже такова, что ничего на C++ писать не требуется.
Но Рефал уж очень не похож на обычные языки и поэтому пришлось кое-что
написать и на их языке разработки (С++), правда не с нуля, а следуя
документированной технологии.

> Было бы интересно обменяться мнениями о том, какие средства от IDE
действительно
> нужны, и какие нужды, где и как удается удовлетворить. В частности, пока
вроде нет
> нормального решения в части диалоговой отладки (может где есть?).
> Правда, еще вопрос, насколько это действительно нужно, а не просто дань
моде.
> Впрочем, наверно есть люди, которые никогда не возьмут язык, для которого
нет
> интерактивного отладчика, равно как есть и другие, которым такой отладчик
и
> даром не нужен (я отношу себя к последним: отладку в диалоге, с
отслеживанием
> состояний переменных и ползанием по выполняющейся программе, считаю
> непроизводительной тратой времени. Но: вмешаться в циклящуюся программу
> и выяснить, что сейчас происходит, уметь надо).
Алик, я ведь только закончил эту работу и коротко описал как ее стартовать,
а необходимую пользовательскую документацию планируется написать.

Я отношусь к категории, которая без диалогового отладчика чувствует себя
дискомфортно :-).
В Рефал-5 есть трассировщик, который прекрасно работает с SciTE в диалоге.
(Меню "Сервис -> Reftr (Ctrl+3) ), только после этой команды нужно перейти
курсором в правое окно и нажать "enter" - появиться подсказка TRACE> и далее
воспринимаются приказы трассировщика.

>
> Среди базовых потребностей, которые вроде можно и не обсуждать, я бы
назвал такие:
>
> 1.Подсветка лексических конструкций,
> 2.Навигация по скобкам,
> 3.Автоиндентация,
> 4.Вызов компилятора, выполнение по кнопке,
> 5.Позиционирование по ошибке при компиляции (файл-строка-позиция)
> 6.Авто-Make
> 7.Быстрый поиск определения/использования функции
> 8.Контекстный help (по функциям, ключевым словам, конструкциям языка)
> 9.Авто-продолжение для вызовов библиотечных (и не только) функций (в
редакторе)
> 10. Консоль ввода-вывода для выполнения.
>
> Что еще забыл?
> У меня в TexPad обеспечены только первые 5, с другими либо еще надо
потрудиться,
> либо вообще ничего не сделаешь. П.7, например, обеспечивается просто
общими
> средствами поиска.
> Что из этого есть/нет в SciTE?
Да все это там есть, но и не только это.
Более того, кроме самого Scite есть разработка типа IDE с его
использованием под названием FILEREX (http://llt.chez.tiscali.fr/)
Рекомендую посмотреть сначала более внимательно
http://www.scintilla.org/SciTEDoc.html

>
> Кстати о п.10. Это просто должно поддерживаться средой. Но почему-то ни
TextPad,
> ни SciTE это должным образом не обеспечивают (может не считают нужным?):
> в SCiTE программа выполняется и даже ввод с "консоли" (через функцию Card)
> проходит в программу, но весь вывод (Print) где-то буферизуется и
появляется только по
> завершении работы. Наверно, где-то не хватает оператора Flush (а может это
каким-то
> параметром управляется? Конечно, еще не очень ясно, что *должно* быть:
flush после
> каждого символа или только после перевода строки.)
Это все управляется конфигурационными (properties) файлами.
Например, вместо проблем (flush после символа или перевода строки) можно
вывод направлять в отдельное окно. Я еще не пришел к окончательному выбору,
что здесь должно быть лучше по умолчанию. В SciTE очень богатый язык
универсальных настроек, который я научился применять еще далеко не
полностью.

Одна из причин по которой я выбрал этот редактор - кроссплатформенность.
За исключением одной детали реализации для платформ Windows и UNIX -
одинаковы.
Компактность и эффективность реализации для меня тоже не второстепенные
причины.

Хочется надеться что моя деятельность все-таки не насет вреда
распространению Рефала-5 :-). Во всяком случае у себя в институте у меня
появились благодаря Refal-SciTE новые, скажем "заинтересовавшиеся"
пользователи.

>
> Аркадий
С уважением,
--Леонид

[...]
> ----- Исходное сообщение -----
От: "Arkady Klimov" <arklimov@keldysh.ru>
Кому: <refal@botik.ru>
Отправлено: 12 июня 2003 г. 19:59
Тема: Re: SciTE as graphic user interface for Refal



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