LINUX.ORG.RU

Метапрог-прототип 13 + LOR Browser

 , ,


0

4

Поздравляю всех присутствующих с годовщиной первой темы про Метапрог!

LOR Browser, версия 35

В честь праздника представляю почтенной публике проект LOR Browser - просмотрщик ЛОР-тем с зумовым интерфейсом. Это то, что можно сделать на прототипе Метапрога спустя год активнейших обсуждений на ЛОРе.

Почему сразу 35? Потому что таков номер последней версии проекта LOR Browser в Метапрог онлайн.

В Метапрог онлайн можно скачать исходные диаграммы LOR Browser (старое название - Лоральмолог).

Сишную трансляцию и скомпилированный бинарный исполняемый файл можно скачать здесь:

https://www51.zippyshare.com/v/UTqVmrY8/file.html

Как пользоваться

1. Скачать ЛОР-тему в HTML, лучше всего - длинную страницу, которая открывается по кнопке «Показать удаленные комментарии» внизу страницы с ЛОР-темой.

2. Указать на htm-файл скачанной страницы.

3. Масштабировать и перемещаться с помощью колеса мыши. Перемещение зависит от положения курсора относительно центра окна (нулевое перемещение в центре и максимальное у краев).

Планы

Перемещения по зажиманию кнопки мыши пока нет, но можно добавить. Также планируется сделать древовидное отображение веток с комментариями (сейчас линейное, так как не хватило времени до годовщины). Скорее всего, будут еще и линии и подсветка веток («источников» вплоть до главного поста и производных веток, разными цветами) при наведении/клике на блоке поста. Возможно, проект эволюционирует в полноценный клиент для ЛОРа.

LOR Browser - не только хороший способ продемонстрировать возможности последней версии прототипа Метапрога, но еще и способ вплотную подобраться к сборке диаграммера - основного компонента будущего Метапрога «на самом себе».

Дополнительно

В разработке LOR Browser активнейше участвовал stasolog, он же Котечка, что и является причиной активного обмена пакетами через Метапрог онлайн, приведшего к появлению аж 35 версии LOR Browser. Кстати, подобным образом нумеруются версии игры Oxygen Not Included, последняя версия которой аж 399948. И игроки, и разрабочики прекрасно ориентируются в этих цифрах, при этом не заморачиваясь со сложной нумерацией версий.

В архиве прилагается видео, которое показывает как по длинному-длинному имени переменной можно найти место на диаграмме, на котором она объявляется. Это - хороший ответ на вопрос зачем транслятор дает переменным такие длинные и непонятные на первый взгляд имена. Функцию поиска места на диаграмме по имени переменной я добавил где-то в 11-12 версии, но забыл упомянуть ее тогда.

Здесь же приложен файл шрифта, необходимый для работы (обязательно должен лежать в папке с программой).

Также приложены сишные инклюды, необходимые для компиляции сишной трансляции, не считая тех, которые можно установить через пакетные менеджеры популярных дистрибутивов.

Метапрог-прототип, версия 13

Скачать:

https://www95.zippyshare.com/v/HKdrYe8e/file.html

В 13 версии исправлен импорт сишных инклюдов, исправлен баг трансляции и внедрена еще одна оптимизация в транслятор. В остальном она не отличается от 12, даже LOR Browser 35 в 12 версии прототипа может оттранслироваться корректно (если пользоваться скомпилированными ехе, где нет остановок транслятора на брейкпоинтах, которые были в 12 версии).

В 12 версии прототипа оптимизирован (ускорен) транслятор Метапрог-схем в Си и исправлено несколько багов. Среди них - баг, создававший некорректные трансляции структур, содержащих структуры с сишными именами. Теперь ничто не должно помешать сделать на завтра (годовщина первой Метапрог-темы) сюрприз для почтенной публики (сюрпризом был LOR Browser).

Предыдущая версия:

Метапрог-прототип, версия 11 + бенчмарк

Первая тема про Метапрог, с чего все начиналось:

Metaprog: универсальная графическая среда программирования [в разработке]

Для праздничных подарков:

Bitcoin:1AYoK2TScSpD5bhf67mv9AxHDJ2RidRvjD



Последнее исправление: metaprog (всего исправлений: 8)

Ответ на: комментарий от mertvoprog

Не-а, модно-молодёжно — это Meson/Ninja

https://cmake.org/cmake/help/latest/generator/Ninja.html

Так FFI на что?

Делать мне что ли нечего? Макросы тоже переписывать? А с шаблонами что делать?

А что нужно?

Что бы дополняло в CSS, JS классы из HTML допустим.

stasolog
()
Ответ на: комментарий от mertvoprog

Я как то отключил клавиатуру, пока отключал что то другое. Потом зашел в метапрог, и начал что то набрасывать, и когда стал сохранять диаграмму у меня почему то не набирался текст! Я думал проблемы с виртуалкой, потом оказалось что в винде тоже текст не набирается, только потом я вспомнил что просто отключил клавиатуру. Вот она сила визуал программинга!

stasolog
()
Ответ на: комментарий от stasolog

Предлагаю следующий демо-проект после лоральмолога 35 - метавиртуальная клавиатура, и встроить в метапрог нативно ее вызов, распространять с метапрогом. Только концепцию надо придумать не как обычная qwerty, а что-то, что будет для удобно ввода жестами и тапами(кликами).

abcq ★★
()
Последнее исправление: abcq (всего исправлений: 1)
Ответ на: комментарий от stasolog

Лоральмолог 35 это уже нарицательное, потому что именно так проект был представлен общественности, и я кстати был крайне удивлен в «ребрендинг» в безликий «лор бровзер» уж как-то совсем обыденно…

abcq ★★
()
Ответ на: комментарий от abcq

Просто cluge показалось что это какое то дурацкое название, хотя по моему офтальмолог + лор это информативно, связанно, и запоминается!

stasolog
()
Ответ на: комментарий от stasolog

https://cmake.org/cmake/help/latest/generator/Ninja.html

Смотрите-ка, дед даже мемы знает!

Макросы тоже переписывать?

А они нужны?

А с шаблонами что делать?

А это уже проблемы полутора прибитых к плюсам (и поэтому непереносимых) библиотек. Хотя PySide вон как-то фурычит же.

Что бы дополняло в CSS, JS классы из HTML допустим.

Этого мало. В вебе сейчас такой бардак из растущих, как грибы после дождя, васянских плагинов к бабелю, что там язык в разных проектах не похож друг на друга, а сделать для всего этого корректное дополнение хрен кто успеет.

mertvoprog
()
Ответ на: комментарий от stasolog

Сила в том, что инвалиды без клавиатуры могут погроммировать? Перемога! вот только где революция, они ж и так давно погроммируют.

mertvoprog
()
Ответ на: комментарий от cluge

Я был против публикации. Но минусов я не вижу, времени просто не было. А ведь с нуля была написан парсер тредов, а не только визуальная часть.

stasolog
()
Ответ на: комментарий от mertvoprog

Смотрите-ка, дед даже мемы знает!

Он их знал до появления meson.

А они нужны?

Может и функции не нужны?

А это уже проблемы полутора прибитых к плюсам (и поэтому непереносимых) библиотек. Хотя PySide вон как-то фурычит же.

И тут провал!

Этого мало. В вебе сейчас такой бардак из растущих, как грибы после дождя, васянских плагинов к бабелю, что там язык в разных проектах не похож друг на друга, а сделать для всего этого корректное дополнение хрен кто успеет.

PhpStorm неплох.

stasolog
()
Ответ на: комментарий от stasolog

Вроде не был он многозадачным из коробки, обычный клон DOS.

cluge
()
Ответ на: комментарий от stasolog

Может и функции не нужны?

Функции-то не костыль. Да и не особо макросы нужны при наличии inline-функций и указателей на указатели.

PhpStorm неплох.

Да не, он умышленно отстаёт от WebStorm. И даже WebStorm не может за всем этим угнаться.

mertvoprog
()
Ответ на: комментарий от mertvoprog

Функции-то не костыль. Да и не особо макросы нужны при наличии inline-функций и указателей на указатели.

Макросы для другого.

Да не, он умышленно отстаёт от WebStorm. И даже WebStorm не может за всем этим угнаться.

Но делает это лучше любого плагина под вим. Или сборки плагинов zverjavascriptedition.

stasolog
()
Ответ на: комментарий от mertvoprog

Ну вот что-то подобное, но на метапроге и возможно немного в другом ключе, мне это виделось в некотором круговом исполнении, тут же судя по ролику взяли за основу кнопочную клавиатуру и часть букв повешали на свайпы. Вы сами пользовались этим, насколько удобно, как часто при небрежных жестах вы получаете не то что хотели, как данное ПО ведет себя на маленьких и недорогих экранах с поддержкой жестов, как в этой штуки с автодополнением, насколько оно обучающееся и интеллектуально в отличии от того что есть на современных мобильных устройствах? Как в сравнении с кнопочной реализацией по скорости ввода?

abcq ★★
()
Ответ на: комментарий от stasolog

Макросы для другого

Для чего? Они решают проблемы либо меньшей производительности аналогичных функций, либо проблемы с прокидыванием скоупа.

Но делает это лучше любого плагина под вим

А виноваты кто? Злобные проприетарщики, конечно!

mertvoprog
()
Ответ на: комментарий от mertvoprog

Для чего?

Для расширения языка (например в gnu11 можно через них сделать лямбду) или настройки библиотеки через -D.

А виноваты кто?

Да никто наверное, пользователей вимов то устраивает.

stasolog
()
Ответ на: комментарий от abcq

тут же судя по ролику взяли за основу кнопочную клавиатуру

Отдалённо.

Вы сами пользовались этим

Да.

насколько удобно

Всяко лучше, чем попытки впихнуть спроектированную для слепой десятипальцевой печати QWERTY на карманные устройства.

как часто при небрежных жестах вы получаете не то что хотели

На верхнем краю иногда бывает. Но это, возможно, потому, что часть жеста вне клавиатуры ей не передаётся. Теперь понятно, зачем над некоторыми QWERTY-клавиатурами полоска автодополнения именно сверху!

как данное ПО ведет себя на маленьких и недорогих экранах

Для них и предназначено же в первую очередь.

насколько оно обучающееся

Никак, у неё вся суть в стабильном и чётком вводе, а не каких-то угадываниях и додумываниях.

Как в сравнении с кнопочной реализацией по скорости ввода?

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

mertvoprog
()
Последнее исправление: mertvoprog (всего исправлений: 1)
Ответ на: комментарий от stasolog

Для расширения языка

Чтобы получить очередной YoptaScript? Диалекты вредят общепонимаемости кода. А для DSL есть инструменты получше.

пользователей вимов то устраивает

Только пользователи вима не всегда манагеров устраивают, ага.

mertvoprog
()
Ответ на: комментарий от mertvoprog

Проще уж пару макросов руками набрать, если вообще надо будет, чем весь остальной код.

stasolog
()
Ответ на: комментарий от stasolog

На имаксе по-разному, у меня на примитивнейшем конфиге с гейзером и паредитом оно само завелось. В spacemacs, думаю, как-то более всё однообразно.

Princesska ★★★★
()
Ответ на: комментарий от stasolog

На PureScript ещё заводилось после установки ровно одного пакета (собсна, с поддержкой языка) ещё, вот, да. С окамлом, вроде, похожая история. Но с JS жопа, да, хотя тот же LSP под TypeScript, внезапно, не только заводится, но и работает.

Princesska ★★★★
()

metaprog, читал свежую статью: «Анализ состояния рынка ценных бумаг с использованием визуального языка программирования „metaprog“?

deadplace
()
Ответ на: комментарий от hobbit

Рассматривали, GerdaOS выглядит вкусно, но перспективы у неё туманные и браузерного софта маловато, так что смысла менять шило на мыло нету, пока шило работает. У кнопочников на Android/KaiOS даже с банальной камерой поголовно всё печально.

mertvoprog
()
Ответ на: комментарий от stasolog

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

Кто на ком стоит?

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

и из какой репы

Из дефолтной. Wine с офф.сайта требует поставить libfaudio0 которого нету в репозиториях, поэтому нужно с какого то сайта качать .deb, жесть какая то.

stasolog
()
Ответ на: комментарий от stasolog

Вут?

root@localhost:~# cat /etc/apt/sources.list|grep wine
deb https://dl.winehq.org/wine-builds/debian/ bullseye main
root@localhost:~# apt policy libfaudio0
libfaudio0:
  Установлен: 19.12-1
  Кандидат:   19.12-1
  Таблица версий:
 *** 19.12-1 500
        500 http://http.debian.net/debian bullseye/main amd64 Packages
        100 /var/lib/dpkg/status

Вынимайте руки из задницы.

mertvoprog
()
Ответ на: комментарий от stasolog

А что мешает установить пакет из bullseye? Мы нередко с официального сайта качаем пакеты то для sid, то для buster. Надо бы, кстати, автоматизировать это дело наконец, ну или осилить пины. Хотя пины вроде всё равно не страхуют от косяков авторезолвера, когда в одной версии пакет есть, а в другой нет, так что уж лучше руками :D

mertvoprog
()
Ответ на: комментарий от mertvoprog

А что мешает установить пакет из bullseye?

Тоже что и мешает установить libfaudio0 с предлагаемого на форуме wine сайта. Лень, и страх перед будущим. Так что пожалуй лучше на стабильном вайне посижу.

stasolog
()
Ответ на: комментарий от stasolog

Вот, по капле приходится выдавливать инфу… При том, что мы вообще-то на сайте про линукс, а сабж без вайна под линуксом не работает…

Ну ладно, пройдя второй раз по ссылке (первый раз, кстати, сайт не открылся), увидел, что там фигурирует wine 4.0.

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

Ну ладно, пройдя второй раз по ссылке (первый раз, кстати, сайт не открылся)

Вроде бы у них простенький сайт, быстро открывается, информация на виду, даже не думал что могут быть какие то проблемы. Да и у тебя же Debian, apt show wine все дела. Но метапрог идет на любом вайне, хоть на самом новом, хоть на том что в jessie.

stasolog
()
Последнее исправление: stasolog (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.