Оберон-клуб «ВЄДАsoft»

Твердыня модульных языков
Текущее время: 16 июн 2025, 07:44

Часовой пояс: UTC + 2 часа




Начать новую тему Ответить на тему  [ Сообщений: 33 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: Re: REPL
СообщениеДобавлено: 03 фев 2018, 17:21 
Не в сети

Сообщения: 146
budden писал(а):
> возможность работы с текстом-параметрами без выделения.
Я так понял, он читает с начала текста, если нет выделения. А в консоли надо читать с конца последней подсказки. Не совсем то. Как заготовка, может быть, и пойдёт.
Она читает от начала вызванной команды


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: REPL
СообщениеДобавлено: 03 фев 2018, 17:31 
Не в сети

Сообщения: 350
> По ссылке можно было сразу скачать архив миную bitbacket
Я в итоге это и сделал, но сначала потратил время на bitbucket, получив нечитаемые крокозяблы вместо файлов.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: REPL
СообщениеДобавлено: 03 фев 2018, 17:37 
Не в сети

Сообщения: 350
> Автодополнение, раскраска и проверка на лету, если иметь ввиду привычный уровень реализации.
Раскраска и проверка - это баловство, а без автодополнения жизни нет в наше время. Почему её нельзя сделать?

Я так понял, что метаинформация доступна, раз есть команда "Показать все модули" и "Показать интерфейс модуля". Единственное, она не будет так сразу работать для незагруженных в память модулей - но и это можно решить. Набили имя модуля, точка и Tab - значит, модуль нужно в этот момент подгрузить и извлечь его интерфейс.

Или проблема будет в управлении самим объектов Text? Я, кстати, попытался найти, как обрабатывать клавиатуру в Text и не нашёл.

> Если нужно вызвать команду повторно, просто клацаете мышкой по её командеру.
А если прошлая команда вывела 480 строк текста? Ещё предлагаете мышью их отмотать? Вообще нужна даже не возможность выбрать команду стрелками, а поиск по истории. У меня в Яре, есть, например, для этого команда .ист <фрагмент команды>, в bash можно сделать history | grep <искомый фрагмент> .


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: REPL
СообщениеДобавлено: 03 фев 2018, 18:03 
Не в сети

Сообщения: 146
budden писал(а):
> Автодополнение, раскраска и проверка на лету, если иметь ввиду привычный уровень реализации.
Раскраска и проверка - это баловство, а без автодополнения жизни нет в наше время. Почему её нельзя сделать?
Я писал, что нельзя сделать? Вроде бы нет. Как я уже писал, всё есть, но не в том виде и не том уровне, что ожидает большинство. Полноценное дополнение требует глубокого анализа и соответствующего подхода. Раскраска и проверка идут в одной связке с полноценным автодополнением. Эрзац-дополнение есть в i21SysEdit, которое сделано несколько для другого.

Цитата:
Я так понял, что метаинформация доступна, раз есть команда "Показать все модули" и "Показать интерфейс модуля". Единственное, она не будет так сразу работать для незагруженных в память модулей - но и это можно решить.
Загрузка модуля тут ни при чём, справка даётся по имени.

Цитата:
> Если нужно вызвать команду повторно, просто клацаете мышкой по её командеру.
А если прошлая команда вывела 480 строк текста? Ещё предлагаете мышью их отмотать? Вообще нужна даже не возможность выбрать команду стрелками, а поиск по истории. У меня в Яре, есть, например, для этого команда .ист <фрагмент команды>, в bash можно сделать history | grep <искомый фрагмент> .
Я ничего не предлагаю, я констатирую, что есть и оно не такое, как многие привыкли. Если не хотите, чтобы команда перекрывалась выведенным текстом, то просто не пишите команду в окне лога. На мой взгляд, это довольно странное желание - писать команды в одном окне с выводом. Я, конечно, тоже так делаю, поскольку в GNU/Linux всё заточено под это, но не восторгаюсь этим. Для поиска же команды, можно воспользоваться обычным поиском по тексту.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: REPL
СообщениеДобавлено: 03 фев 2018, 18:19 
Не в сети

Сообщения: 350
> Я писал, что нельзя сделать? Вроде бы нет.
Вы писали дословно так:
Цитата:
не может быть в полной мере быстро воплощено

Вот я и пытаюсь понять.
Цитата:
На мой взгляд, это довольно странное желание - писать команды в одном окне с выводом.

А на мой взгляд, довольно естественно. Например:
Цитата:
Лиза>
Вы баловник, к лицу ль вам эти лица!
Фамусов>
Скромна, а ничего кроме
Проказ и ветру на уме.
Лиза>
Пустите, ветренники сами,
Опомнитесь, вы старики...
Фамусов>
Почти.

Диалог естественен, вообще-то.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: REPL
СообщениеДобавлено: 03 фев 2018, 18:30 
Не в сети

Сообщения: 146
budden писал(а):
> Я писал, что нельзя сделать? Вроде бы нет.
Вы писали дословно так:
Цитата:
не может быть в полной мере быстро воплощено
То есть, разница между этими утверждениями очевидна?


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: REPL
СообщениеДобавлено: 03 фев 2018, 18:37 
Не в сети

Сообщения: 146
budden писал(а):
А на мой взгляд, довольно естественно.
...
Диалог естественен, вообще-то.
1. Вызов программ - это не диалог. 2. Как из этого следует, что писать команды нужно том же окне для вывода? В окне вывода может присутствовать как вызванная команда, так и её вывод через добавление в вывод текста команды. Так, к примеру, сделано в демонстрационном сервере проекта Восток https://zx.oberon.org/forum/viewtopic.php?f=117&t=297#p2110.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: REPL
СообщениеДобавлено: 03 фев 2018, 18:49 
Не в сети

Сообщения: 350
> Вызов программ - это не диалог
Я вижу, вы любите спорить, но я здесь не для этого. Вам не нужен REPL - пожалуйста. Мне нужен. Но, допустим, я попробую обойтись командерами (просто не знал об этой их особенности, спасибо за ликбез). Наверное, я делаю какую-то глупость, но какую - пока понять не могу. См. картинку. Когда делаю Out.Ln - работает. Out.Int(5) - не работает. Что это?
> Полноценное дополнение требует глубокого анализа и соответствующего подхода
Допустим, я начну этим лично заниматься. С какими конкретно трудностями я столкнусь?


Вложения:
Картинка.png
Картинка.png [ 46.08 КБ | Просмотров: 12568 ]
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: REPL
СообщениеДобавлено: 03 фев 2018, 18:56 
Не в сети

Сообщения: 350
> 2. Как из этого следует, что писать команды нужно том же окне для вывода?
Но всё же отвечу на всякий случай. Именно тот вид, который присутствует в bash и других REPL-ах, во-первых, выглядит как пьеса: Я: покажи директорию
Компьютер: /bin /home ...

Во-вторых, при чтении позволяет понять, как развивались события. Это простой и наиболее естественный способ записи событий, когда они происходят в один поток, как в пьесе. В компьютере события более сложным образом происходят, но нам желательно по-максимуму использовать именно эту простую модель пьесы, над которой нам легко сохранить контроль. На самом-то деле модель пьесы была даже для меня новой (в пьесе более 2 участников, но они хотя бы защищены мьютексами, а в компьютере это не обязательно так - тут скорее похоже на чат). Но давайте не будем об этом. Как бы ни была устроена организация, мышекликальство для меня абсолютно неприемлемо. Если есть горячая клавиша "найти ближайший слева командер и выполнить его" - то это приемлемый минимум. Далее, заменять поиск по истории на поиск по всему тексту - тоже неприемлемо.

Если хотите знать, для чего мне REPL, я так скажу: я не ищу идеального способа взаимодействия с компьютером. REPL является приемлемым вариантом. Также приемлемо меню с горячими клавишами (если не учитывать кириллицу). Но ничто меньшее меня не устроит и я просто не готов связываться с технологией, которая не предоставляет хотя бы такой минимальный уровень комфорта, как REPL. Если это можно исправить - нужно сначала это исправить, а уже потом начинать работать. То же касается текстового представления модулей. Технология, которая этого не предоставляет, просто непригодна к использованию.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: REPL
СообщениеДобавлено: 03 фев 2018, 19:20 
Не в сети

Сообщения: 146
Цитата:
Я вижу, вы любите спорить, но я здесь не для этого. Вам не нужен REPL - пожалуйста. Мне нужен.
Повторюсь, что всего лишь констатирую, а не говорю, что кому нужно или не нужно. Что некоторые желания являются странными, пишу, но запрещать это кому-либо не вижу смысла.
Цитата:
Наверное, я делаю какую-то глупость, но какую - пока понять не могу. См. картинку. Когда делаю Out.Ln - работает. Out.Int(5) - не работает. Что это?
Это не глупость, это те самые необычность и не тот уровень.
Стандартный интерпретатор Blackbox может запускать экспортированные процедуры с ограниченным типом заголовков. Со строкой и целым числом он ещё принимает, но более сложные - нет. Более точно - в документации. Для того, чтобы вызвать процедуру с параметром, нужно взять команду в двойные кавычки, а строку - в одинарные.
Код: "OBERON"
  1. ^Q "Out.String('Hello')"

Евгений Темиргалеев делал более мощный интерпретатор https://www.youtube.com/watch?v=FePpMie31fc

Цитата:
Допустим, я начну этим лично заниматься. С какими конкретно трудностями я столкнусь?
Нужно будет реализовать parser языка. Насколько он будет полноценным и стоит ли писать свой или переделать стандартный, это уже технические детали.


Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 33 ]  На страницу Пред.  1, 2, 3, 4  След.

Часовой пояс: UTC + 2 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
© VEDAsoft Oberon Club