Re: SciTE as graphic user interface for Refal


Subject: Re: SciTE as graphic user interface for Refal
From: Arkady Klimov (arklimov@keldysh.ru)
Date: Fri Jun 13 2003 - 00:53:24 MSD


----- Original Message -----
From: "Leonid Belous" <belous@ilt.kharkov.ua>
To: <refal@botik.ru>
Sent: Thursday, June 12, 2003 20:11
Subject: Re: SciTE as graphic user interface for Refal

| Добрый вечер, всем!
|
|
| > Леонид (и все),
| >
| > Как мне кажется, никаких отдельных продуктов типа 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