17 May 2019
Ярослав converted a basic group to this supergroup «A2 Operating System»
W
09:42
Wlad
Думается, ОЧЕНЬ стОит. Лично я - этой темой заинтереслван с прицелом на биглбоны распберри и тп.
09:43
Это - на счет linuxA2
AM
09:47
Alexey Morozov
In reply to this message
в принципе А2 на RPI в native должна работать - без линукса
W
09:50
Wlad
Ещё одна вещь: давайте на оберонкоре где-то в разделе по а2 сделаем закреплённую темку с описанием тематик работ и интересов в а2 по участникам. Что бы можно было сразу посмотреть, к кому по каким вопросам лучше обращаться.
09:51
Или у Ярослава на сайте.
09:53
In reply to this message
Первая малинка не очень подходит... на третью народ больше смотрит...
09:54
Еще. У меня есть биглбон в индастриал исполнении. Кто-то малинки такие же встречал?
Я
10:03
Ярослав
Вот, на гитлабе можно так список задач поддерживать
https://gitlab.com/YarRom/a2os/issues/1
Oleg N. Cher joined group by link from Ярослав
SD
14:20
Sergej Durmanov
Алексей, пробовал скомпилировать а2 с заинлайнеными процедурами в WMRectangles?
AM
14:28
Alexey Morozov
In reply to this message
Да, Сергей. Явно баг в компиляторе
14:29
Я подготовлю для Феликса test-case и вышлю ему
SD
14:33
Sergej Durmanov
Не хватает функционала в модулях Math* - тангенс, арккосинус, арксинус.... , в модулях Reals* - разных округлений. Можно, конечно это все считать самому, но это яаювно не айс
W
14:35
Wlad
Сегодня к вечеру, по свободе от капельниц и уколов, :) напишу в разделе об А2, на Оберонкоре, то, что на мой личный взгляд и мнение, желательно сделать "возле" Активного Оберона и А2. Не именно в компиляторе или языке, а - "обвеска".
14:37
Футычорт! Столько ошибок! Крыша какая-то неустойчивая.
Б
14:38
Борис
In reply to this message
Можно темой на форуме, можно нормальную страницу на сайте оформить. Я про OberonCore, соответственно, но не навязываюсь. Возможности есть.
14:38
In reply to this message
Владимир, кажется, больше не про список задач, а вообще по направлениям — кто куда плывёт.
SD
14:38
Sergej Durmanov
Да, лучше бы не разбегаться по углам
W
14:39
Wlad
In reply to this message
Да, лучше иметь "центральный комитет" 😊
14:40
А - в нём уже "секционность" вводить.
Я
14:49
Ярослав
In reply to this message
Так с направлениями как-раз определиться бы 😊
W
14:49
Wlad
In reply to this message
Вот там и поговорим на месте.
Есть пара соображений.
SD
14:50
Sergej Durmanov
In reply to this message
Где «там»? опять куда-то идти и регистрироваться?
W
14:51
Wlad
На Оберонкоре.
Я
14:52
Ярослав
Патрик Хунзикер предлагал одно из направлений - сделать офисный пакет на базе A2. Конвертер в ODT для текста уже в альфа версии есть
W
14:54
Wlad
Этот "пакет" - вещь сама по себе? С затачиванием под мультиплатформенность - в смысле на ЛЮБОМ варианте А2 запускаться и работать должна будет? Является ли она "отчуждаемо2" "нативной" частью (набором компонентов) А2?
OC
14:54
Oleg N. Cher
Всем привет и удачи) Полюбопытствовать зашёл. Вас тут больше, чем я думал)
Oleg N. Cher removed Oleg N. Cher
Я
14:55
Ярослав
А зачем отчуждать? Демонстрировать все преимущества динамической модульности 😊
14:56
А если надо отчуждать, то список зависимостей легко строится
Я
16:24
Ярослав
In reply to this message
А тут не тот формат? 😁
W
16:25
Wlad
Текста многовато может получиться. с пунктами и перечислениями. Форматировать получится?
Я
16:28
Ярослав
In reply to this message
Так может хотя-бы вики? На форуме оберонкоре ни стартовый пост закрепить нет возможности ни потом возвращаться к нему и редактировать. Опять "дурная" лента потока сознания получится, но никак не документ
Б
16:29
Борис
Закрепить можно, если надо.
W
16:29
Wlad
Ладно, давайте здесь отпишусь, а там решим, что делать дальше.
Б
16:29
Борис
Ветку всю, правда, а не отдельный пост.
Я
16:34
Ярослав
На 4pda прикольно сделано
16:35
Другой движ, правда
SD
18:44
Sergej Durmanov
In reply to this message
Нереально
Я
19:55
Ярослав
In reply to this message
DTP приложение видели? 😉
18 May 2019
W
02:52
Wlad
Пока не удаётся. Обкололи дурью против боли - проспал всё это время. 😊
02:55
В последнее время вызываю rand от 1 до 53 - получаю число, которое является номером серии в моей коллекции "Пуаро Агаты Кристи" и смотрю, отвлекаясь от всяких скверных мыслей.
SD
05:23
Sergej Durmanov
In reply to this message
Так как моя родственница занимается издательским бизнесом, то я достаточно хорошо представляю, что требуется от издательской системы. DTP это просто игрушка, даже не концепт
Я
08:09
Ярослав
In reply to this message
По-тому, что это скорее на ПаверПойнт чем-то отдалённо похоже
Я
08:46
Ярослав
Может стоит Jaos оживить и добавить Android Classpath как тут сделали https://m.habr.com/ru/post/225187/
08:54
Но это имеет смысл, если позволит запускать какие-то интересные приложения
SD
09:04
Sergej Durmanov
Чтобы прыгать выше головы нужно разбежаться, а для этого сначала нужно дорожку для разгона расчистить, а то даже прогулочным шагом не пройти - на каждом шагу спотыкач
09:05
Поэтому, прежде, чем замахиваться на Вильяма, нашего, Шекспира, придется заняться черной неблагодарной работой. А желающих нет
09:09
А чтобы запилить офисный пакет, или хотя-бы текстовый процессор уровня Writer из OpenOffice, нужно кучу сопутствующих технологий реализовать
Я
09:16
Ярослав
Ну, да. Даже что-бы элементарный бечмарк написать уже парсер JSON нужен, да map. Но Алексей сказал, что Феликс уже над дженериками работает
SD
09:22
Sergej Durmanov
Сначала бы инлайн допилить, дженерики вторичны
Я
09:23
Ярослав
In reply to this message
Но очень могут ускорить разработку, если делать что-то серьёзное
SD
09:24
Sergej Durmanov
И обхектную модель причесать, то Феликс сделал Абстрактные записи, но до конца это не доделано. К тому же, раз есть абстрактные, должны быть и финальные типы, должны быть лимитед типы
Я
09:24
Ярослав
Инлайн же это уже оптимизация
SD
09:25
Sergej Durmanov
Ну вот это важнее дженериков
09:28
Ну вот у Зорина есть параметризованные модули, это модули-дженерики как в Модуле-3. Вроде удобно и молодежно, но они сами же он них и отказались, ибо куча пробдем нарисовалась
Я
09:28
Ярослав
In reply to this message
Вот Delphi как-то без финальных и лимитед обходится... И даже записи не расширяемы. И большие проекты на этом делаются...
09:28
Но инлайн, конечно есть
09:28
И дженерики
SD
09:29
Sergej Durmanov
Ну как это, все там есть, только иначе названо, даже strict секции сделайлали
09:30
В Делфи как минимум есть модификатор override
Я
09:33
Ярослав
Так метод оверрайдится и без модификатора и можно метод предка при желании вызвать
09:38
Только набор параметров при этом должен совпадать
SD
09:41
Sergej Durmanov
Это в ао и это плохо. В кп хотя бы новые методы модификатором new помечаются. Это лучше чем в ао. Но лучше всего, помечать точку изменения, то есть писать override при переопределении метода.
Я
09:42
Ярослав
Да, плохо...
SD
09:43
Sergej Durmanov
Я для себ.я это все делал, там всего то строчек 30 кода в компиляторе
Я
09:43
Ярослав
Но плохо и то, что КП больше уводит в сторону ООП, декларируя компонентность 😁
SD
09:43
Sergej Durmanov
А в результате надежность кода возрастае
Я
09:44
Ярослав
При компонентном подходе все эти заморочки с переопределениями не так важны
SD
09:45
Sergej Durmanov
Да нет в кп ничего от компонентов, это рекламный слоган, не более
Я
09:45
Ярослав
😂
09:46
А в A2 компонентность даже заметна 😊
09:47
И шина сообщений, про которую Ермаков любил упоминать тоже есть. Через сообщения расширять в A2 вполне реально
SD
09:48
Sergej Durmanov
В кп лишь щачатки компонентного подхода, в ао этого еще меньше
09:48
Это просто ооп
Я
09:49
Ярослав
Но в классических ооп типа Delphi этого и близко нет
SD
09:49
Sergej Durmanov
Есть
Я
09:50
Ярослав
Шо, шина сообщений? Нету!
SD
09:50
Sergej Durmanov
Там естьпакеты, там есть зависимости, которые разруливаются
09:50
Шина это вообще сбоку для компонентного подхода
Я
09:51
Ярослав
Там даже порядок подключения модулей может всё поломать 😂
SD
09:51
Sergej Durmanov
Это совсем другое же
09:52
Проблема может появится, если не квалифицировать модули, и в них есть сущности с од наковыми именвми
Я
09:53
Ярослав
Есть у AO сильные стороны и их надо использовать по максимуму
09:53
In reply to this message
И об это частенько спотыкаешься
SD
09:54
Sergej Durmanov
Ни разу не сталкивался, честно говоря
Я
09:56
Ярослав
Короче, если мыслить традичионным ООП, то да, многого нет. Если компонентно, то всё как-бы есть
SD
09:58
Sergej Durmanov
А ч о там ко понентного есть в АО? Нет ничего
Я
09:59
Ярослав
На реализацию TextView достаточно взглянуть
SD
10:01
Sergej Durmanov
И что? Я туда периодически смотрю, ибо есть желание избавиться от всего этого
Я
10:02
Ярослав
Тю. А что там не устраивает?
10:04
Надо тупой блокнот реализовать вместо этого? Там по сути реализованы составные документы, можно включать в текст объекты. Только оно, когда было реализованно по диссеру Фрея было более живое, потом со временем что-то сломали
10:05
И коммандеры можно было включать как в КП
10:06
По-сути уже практически готовый редактор как в OpenOffice
10:07
Или аналог richedit, если хотите
10:09
In reply to this message
У меня тоже сначала возникало такое желание. Однако, может просто надо научиться это готовить 😂
10:18
Или вы реализуете richedit с нуля???
BT
10:21
Bohdan Troschinsky
Привет всем, мне идея с офисным пакетам очень нравится, TextView очень мощный компонент, если кто хочет загляните внутрь :)
Я
10:22
Ярослав
In reply to this message
Вот!
10:24
Когда нормально открывался формат BBT вообще круть была! Надо это всё вернуть!
BT
10:24
Bohdan Troschinsky
Там гораздо больше чем в RichEdit
Я
10:31
Ярослав
А в DTP приложении использовать TextView и уже почти приложение для презентаций будет
10:33
Не везде объектная модель правильно выписана, но это как-раз надо и исправить
BT
10:34
Bohdan Troschinsky
Bare metal office круто :')
Я
10:34
Ярослав
Угу 😊
Б
10:38
Борис
Если вы сделаете полноценный браузер класса Firefox, то это будет круче офисного пакета. Неговоря уже о том, что какой-нибудь OnlyOffice можно будет прямо там запустить.
BT
10:40
Bohdan Troschinsky
Ну Опера не смогла удержать свой движок, есть видео на ютубе где их представитель на пальах обьясняет почему
Б
10:40
Борис
При чём тут опера, когда речь про А2?
W
10:41
Wlad
In reply to this message
Двумя руками - ЗА! Это - очень полезная и нужная фича, как в CP! Там это - очень сильно способствует на проектировании систем
Б
10:41
Борис
In reply to this message
Вот да. А ещё сообщение о языке новое написать наконец)
BT
10:42
Bohdan Troschinsky
In reply to this message
Я о том почему не стоит делать браузер
Б
10:42
Борис
Офис не стоит делать по той же причине в таком случае.
Я
10:42
Ярослав
In reply to this message
А как же компонентный подход? 😊
10:43
In reply to this message
Офисы клоны OpenOffice вполне себе живут
W
10:44
Wlad
In reply to this message
Но их НУЖНО ФИКСИРОВАТЬ В исходниках/коде, как формализованном носителе и описателе идей и решений проекта!
10:45
In reply to this message
Да, шина - лишь вариант постпроения общения.
10:48
In reply to this message
Компонентность там - на КАКОМ уроане представления системы?
Я сегодня постараюсь это показать
И - всетаки на оберонкоре.
Если опять меня не придётся обкалывать... :)
Б
10:49
Борис
In reply to this message
Эти все офисные и прочие разработки-фантазии имеют смысл только в том случае, если они будут исполняться непосредственно в А2, то есть, если делать полноценную рабочую станцию на базе А2. Если вы хотите продукт на базе А2 для использования в винде, то в этом никакого смысла нет.
Я
10:54
Ярослав
In reply to this message
Ну, да. Всё в A2 и на компонентах A2
10:56
In reply to this message
В этом случае всё будет кроссплатформенно
Б
11:05
Борис
Дело не в этом, а в постановке задачи. Понятно, что всё будет работать и на других хост системах. Но разработка браузера и офисного пакета имеет смысл только если вы работаете непосредственно на А2, как на основной системе. Какая-нибудь компактная офисная рабочая станция.
AM
11:41
Alexey Morozov
У А2 немалый потенциал в плане использования во встроенных системах. Я не уверен, что присутствие формального офисного пакета сделает ее привлекательнее. Но тем не менее, наличие средств для работы с документами важно, к примеру для автоматизированной генерации документов, которые могут открываться на других платформах с более продвинутыми офисными пакетами
Я
11:44
Ярослав
In reply to this message
Генерация документов это попроще конечно же. Для начала вернуть поддержку формата BBT. А генераторы на базе XML можно делать
11:46
Можно даже что-то типа Smarty, Mustache шаблонов сделать, в комбинации с JSON будет мощная штука
11:51
Mustache вообще простой как табурет
12:01
Кстати, генераторы отчётов нужны практически для всех бизнес приложений. Сделать мощный генератор отчётов может быть одной из хороших задач
12:03
Генератор + вьювер. Чем не применение
BT
12:06
Bohdan Troschinsky
In reply to this message
Имеется в виду популяризація А2, плюс реализация офисного пакета поможет реализовать те компоненты, что нужны и в других приложениях
12:07
Когда на А2 писал приложение, столкнулся с отсутствием много...
12:10
В моем приложение реализовал запросто отчеты в эксел, а вот некоторые другие штуки вызвали большие затруднения
AM
12:10
Alexey Morozov
In reply to this message
Угу
Я
12:10
Ярослав
Создать полноценный набор компонетов важно
BT
12:10
Bohdan Troschinsky
In reply to this message
100 500 %
12:12
In reply to this message
В этом и смысл, плюс это как демо возможностей
SD
13:34
Sergej Durmanov
In reply to this message
Я как раз занимаюсь генератором тоИ.о.pdf & rtf документов. Прос о билдер
19 May 2019
Ilya Ermakov joined group by link from Ярослав
IE
12:20
Ilya Ermakov
Всем привет!
W
12:21
Wlad
Добрый день. 😊
Я
12:29
Ярослав
Привет!
W
12:30
Wlad
Что есть АО (как добавления-расширения) по отношению к О-07/v5 (или что там есть последним стандартом О от Вирта)?
Б
12:32
Борис
Ну он всё равно 07, хотя ревизия 13/16 уже.
https://inf.ethz.ch/personal/wirth/Oberon/Oberon07.Report.pdf
W
12:33
Wlad
Не-не-не. Меня именно это - не интересует. Мне интересна "дельта" изменений в О07, после которой он становится АО. Есть уже такая статя-"сведение"?
Б
12:34
Борис
Так АО наследует исходный Оберон 90-го.
W
12:34
Wlad
Я знаю
Б
12:35
Борис
In reply to this message
Из всего тут перечисленного нужно, мне кажется, важно первым сделать сообщение о языке. Потому что текущее состояние просто нигде однозначно не зафиксировано.
12:35
In reply to this message
Ну так вот нет такого.
W
12:36
Wlad
In reply to this message
Да. Причём, надо поспрашать всех владельце всех АО-репозиториев, какие планы и в какую сторону по "трансформации" языка они имеют.
12:36
Ну и - в нашем сообществе планы и вИдения на такие изменения собрать.
12:39
"Обобществить" и слелать описание "дельты" от стандарта Вирта.
Нужна строгаz приемственность по идеологии.
Плюс - ОБЯЗАТЕЛЬНО - обсудить внесение некоторых, зарекомендовавших себя свойств из КП.
Религиозные войны - отсекать и прескать НА КОРНЮ.
Надо заиметь людей с сильной матподготовкой в области формальных систем. Что бы через "матзакорючки" описывать и обосновывать-проверять вводимые фичи в язык.
12:48
Кстати, то же самое ОЧЕНЬ полезным будет сделать и для КП.
SD
14:21
Sergej Durmanov
Причем здесь О7 я совершенно не понимаю
Я
14:24
Ярослав
In reply to this message
Точно. Никакого
14:24
отношения
W
14:49
Wlad
In reply to this message
это - в ответ на какое сообщение?
14:50
и - о чём непонимание?
SD
14:51
Sergej Durmanov
Зачем какие то диффы, для чего этим заниматься
14:52
А так есть проект, на базе текушего прожект оберон, где расширили о7, добавив в него связанные с типом процедуры
Я
14:53
Ярослав
И он не имеет никакого отношения к A2
Б
14:53
Борис
In reply to this message
Ссылку для полноты картины можно?
SD
14:53
Sergej Durmanov
Поищу
Я
14:55
Ярослав
Зачем здесь эта ссылка? Уже перемыт давно этот проект и обсужден. Зачем тут ссылки на оффтопики?
W
14:56
Wlad
Я, например, СОВЕРШЕННО не знаком и с проектом и - с описанием последней версии от Вирта.
Мне интересно, куда мысль мэтра в последнее время движется.
14:56
Есть на русском переведённое описание?
SD
14:56
Sergej Durmanov
Есть еще работа Игоря Шагаева, связанная, вроде, с авионикой, там тоже расширяли О7, но взяв за основу Активный Оберон.
W
14:57
Wlad
In reply to this message
То есть О7 двигали в сторону АО добавлением чего-то из АО?
SD
14:57
Sergej Durmanov
Да, на оберонкоре есть ссылки
BT
14:58
Bohdan Troschinsky
In reply to this message
Это не кошерно :)
W
14:58
Wlad
Ну... это ж их ещё искать надо.... 😊
14:58
В чём некошерность?
BT
14:59
Bohdan Troschinsky
О7 изменить что-то из АО и продолжать называть О7
W
14:59
Wlad
И это мы ещё Зоннон не трогали, с его "расширением" оберона... 😊
BT
15:00
Bohdan Troschinsky
Зоннон упокоился, на сколько я понимаю
SD
15:00
Sergej Durmanov
О7 в больших проектах использовать невозможно, на нем только хелловорды писать ))) поэтому, когда дело доходит до реалий, берут иснструмент поадекватней
W
15:00
Wlad
In reply to this message
Да - всё равно, по большому счёту. Всё равно обероном остаётся. И именно для выявления "степени (не)кошерности", я и хотел "сводные" диффы получить!
Б
15:00
Борис
In reply to this message
У Александра Ширяеева на нём летают безпилотники. Это большой проект?
SD
15:00
Sergej Durmanov
У Шагаева там не называется О7
BT
15:01
Bohdan Troschinsky
In reply to this message
О7 для МК создавался исключительно
15:01
In reply to this message
Тогда извините меня
W
15:02
Wlad
Это Си - без внешней обвески НЕВОЗМОЖНО для больших проектов использовать! А в оберонах уже формализованы понятия и подходы модульности. Там может "внутреннее наполнение беднее", но, как раз для БОЛЬШИХ проектов он лучше подходит. Причём - ЛЮБОЙ оберон.
Б
15:03
Борис
In reply to this message
И это подтвержено практикой.
W
15:04
Wlad
In reply to this message
Могу сказать, что бортовое ПО, очень часто бывает ОЧЕНЬ большим и ЧРЕЗВЫЧАЙНО сложным проектом. Сужу по авиации, космосу и метрошным системам.
15:07
И я просто был бы на вершине счастья, если бы за мою практику, на моём профессиональном пути таки нашёлся хоть один хороший менеджер или главный конструктор, который закупил бы тот же астроб для какого-либо из проектов...
Если я отличные результаты на Си получал, внедряя туда "обероновские подходы и решения", то я даже не представляю, что бы могло получаться, если бы оберон туда попал.
BT
15:10
Bohdan Troschinsky
Мне вот показалась что есть аналогия: в истории был период дикого капитализма, а в прг. был период дикого синтаксического сахара 😂
W
15:15
Wlad
так он и не заканчивался
BT
15:15
Bohdan Troschinsky
In reply to this message
Но уменьшился
W
15:16
Wlad
Да - нет, ресурсы ещё не поджимают. 😊
Денис Будяк joined group by link from Ярослав
BT
15:17
Bohdan Troschinsky
In reply to this message
Это как инфляция
W
15:17
Wlad
Здравствуйте, Денис.
Вы - кто? 😊
ДБ
15:18
Денис Будяк
Здравствуйте. Я - budden с oberoncore
15:18
Присоединился с целью наблюдения за проектом, если не возражаете, хотя есть и один вопрос: будет ли опубликован отладчик?
W
15:18
Wlad
In reply to this message
СИнтаксический сахар обычно начинает расцветать там, где трудно понимается сама сущность программирования и суть проектируемой системы.
15:19
In reply to this message
Ага. 😊
15:19
In reply to this message
Это , скорее всего, - к Ярославу, Алексею или Богдану. Они - более осведомлены.
BT
15:19
Bohdan Troschinsky
In reply to this message
Я вообще о развитии информатики
W
15:20
Wlad
In reply to this message
Дык, там - те же причины.
BT
15:22
Bohdan Troschinsky
In reply to this message
Ага, что к развитию программирования приемлимы те же законы, и можно спрогнозировать, что будет через лет...
W
15:25
Wlad
In reply to this message
Ну, даже Билл Гейтс два раза по-крупному ошибся( про 640 кб, которых хватит на всё и - про интернет и браузеры), а чо уж мне, с моим хиленьким интеллехтом куда-то в прогнозы соваться? Я, вон, и на Кроролевстве Дельфи в прогнозах про архитектуры процов даже ошибся с сроками внедрения.
AM
15:25
Alexey Morozov
In reply to this message
Это к Богдану вопрос :)
BT
15:27
Bohdan Troschinsky
In reply to this message
Верну в работоспособность и опубликую
15:29
In reply to this message
Алексей у тебя помоему практически последняя версия есть она работает со старыми обжектными файлами
ДБ
15:48
Денис Будяк
In reply to this message
Отлично!
SD
16:31
Sergej Durmanov
Борис, в общем я не помню, это или oberon.wikidot.com или github.com/andreaspirklbauer
Б
17:02
Борис
Спасибо, посмотрю.
20 May 2019
Сергей Зорин joined group by link from Ярослав
Я
09:56
Ярослав
Добро пожаловать, Сергей! 😉
СЗ
10:55
Сергей Зорин
Привет
SD
16:04
Sergej Durmanov
Я смутно так припоминаю, что в комментах к коммитам читал, что в ввражениях можно помечать идентификаторы, не то апострофом, не то еще чем, но не помню точно что и зачем. Кто-то знает об этом?
W
16:05
Wlad
Для чего это вводилось?
SD
16:05
Sergej Durmanov
Не помню)))
16:06
Вроде как просто дополнительный разрешенный символ в конце идентификаторах, чтобы группировать
16:07
Типа b, b",b""
W
16:08
Wlad
Лучше бы для числовых литераллов ввели подчёркивание для разделения разрядов и обобщённое описание числа с обозначением любого основания.
SD
16:09
Sergej Durmanov
Блин, чтото телеграмм заменят вводимое)
16:10
Разрядность разделяется
16:11
100123
16:11
Блин
16:11
Апострофом
W
16:12
Wlad
Я что-то забыл или пропустил?
BT
16:12
Bohdan Troschinsky
FoxScaner можно глянуть
W
16:12
Wlad
то есть, я могу написать 100'000'000 ?
SD
16:13
Sergej Durmanov
Да
BT
16:13
Bohdan Troschinsky
Там это обязательно будет при разборе числа
ДБ
16:13
Денис Будяк
Нужно окружить код тремя апострофами слева и тремя справа, тогда не должно заменяться 😊
16:13
 :)
W
16:15
Wlad
Про обобщённое представление числа - нет планов?
типа: 16r0F_Ab2B или 16#0F_Ab2B# ,
бывает ОЧЕНЬ полезным и удобным
SD
16:15
Sergej Durmanov
Одинарная кавычка
W
16:16
Wlad
Одинарная кавычка - удобней, чем подчёркивание?
100'000'000 и 100_000_000
SD
16:17
Sergej Durmanov
Кавычка на калькуляторах)) нет разрыва шаблона)
16:17
Но да, мне удобнее
16:18
In reply to this message
Зачем это?
СЗ
16:28
Сергей Зорин
А что общественность думает о том, чтобы у перечисления можно было указывать в качестве базового не только другое перечисление, но и базовый числовой тип, определяющий размер и диапазон. Ну то есть TYPE E = ENUM( LONGINT ) One = 1 END; E2 = ENUM( E ) Two = 2 END;
SD
16:46
Sergej Durmanov
Тогда и SET по такому принципу s = SET( LONGINT ); s2 = SET( enum )
СЗ
16:50
Сергей Зорин
ну логично
ДБ
16:53
Денис Будяк
Если LONGINT - 32 разрядный, то битовая маска для представления множества longint-ов занимает 2^32 бит = 2^24 байт, а 1кб - это 1000 байт ~= 2^10 байт. Итого 2^24 байт / 2^10 байт/кбайт = 2^14 кбайт = 2^4 мбайт = 16 мбайт. Т.е. экземпляр SET(LONGINT) будет занимать 16 мбайт. МОжет быть, это и ничего, я просто обсчитался в первом расчёте.
СЗ
17:05
Сергей Зорин
так это ж и определяет размер в битах - LONGINT - 32 бита
ДБ
17:10
Денис Будяк
Хотя даже в этом случае может иметь смысл представить такое множество как-то по-другому, хеш таблицей или б-деревом, к примеру.
Я
17:15
Ярослав
In reply to this message
SET в данном случае занимает всего 32 бита, это упрощённо говоря, просто удобный способ доступа к битам
СЗ
17:15
Сергей Зорин
нет, это обычное множество с точки зрения АО, только типизированное
ДБ
17:15
Денис Будяк
А, т.е. это не то, что в Паскале?
СЗ
17:15
Сергей Зорин
это я Денису
17:15
нет
ДБ
17:16
Денис Будяк
Извините :)
СЗ
17:16
Сергей Зорин
то есть оно почти так же, если диапазон влезает в машинное слово
Я
17:16
Ярослав
In reply to this message
Тю, как же нет, практически то же. Только в паскале set занимает 256 бит
СЗ
17:17
Сергей Зорин
нет, если оно вмещается в машинные типы, то столько и занимает
ДБ
17:17
Денис Будяк
Ну я и говорю, что оно занимает столько бит, сколько чисел в диапазоне. Сооттветственно, я думал, что SET(LONGINT) должно содержать 2^64 бит, а оказалось, всего 32.
СЗ
17:18
Сергей Зорин
ну да, семиантика не как в паскале
Я
17:18
Ярослав
Причём компилятор в паскале его ещё и оптимизирует, в какой элементарный тип лучше вмещается. Может занимать переменное число байт в памяти
17:19
In reply to this message
Все те же операции есть как и в Обероне
СЗ
17:20
Сергей Зорин
сейчас в АО есть SET8, SET16, SET32, SET64, SET. Но да, правильней было бы так, как предложил коллега, особенно, если в качестве базового типа выступает множествно. Это всё повышает управляетмочть, контролируетмочть и надежность
17:21
In reply to this message
я про вариант SET(LONGINT)
17:22
это не паскалевский SET OF T
SD
17:23
Sergej Durmanov
Да, именно так
ДБ
17:23
Денис Будяк
Ну, я тут сторонний наблюдатель, но если бы я был директором, я бы запретил менять язык. Кому надо - пусть делает свой фронтенд или транспилятор. Оба варианта хорошо в индустрии изучены и освоены. А системный язык должен быть консервативным.
17:23
Хорош он или плох, но система уже написана на нём.
17:24
Любое изменение потребует пересмотра 40 мб исходных текстов.
СЗ
17:24
Сергей Зорин
ytn
17:24
нет
17:24
ничего там не потребуется
17:25
хочешь базовый сет используй просто SET, хочешь типизированный, используй SET( LONGINT )
ДБ
17:26
Денис Будяк
Ну например наличие SET в двух видах - в скобках и без скобок - это уже может вызвать проблемы в грамматике.
СЗ
17:26
Сергей Зорин
ну это как с записями. Наличие возможности иметь базовый тип не отменяет возможность использования записей без базового типа
ДБ
17:26
Денис Будяк
И тут дело в принципе. Если начать менять язык, то потом будет сложно остановиться.
17:26
Дальше возникнут разногласия, народ начнёт отваливаться. Не говоря уже о том, что для работы над спецификацией языка нужно знать, что уже есть, а этой информации нет.
17:27
Например, кто знает о том, что можно написать module с маленькой буквы и тогда A2 переходит в режим lowercase идентификаторов?
СЗ
17:27
Сергей Зорин
так все знают
ДБ
17:27
Денис Будяк
Это где-то написано?
СЗ
17:27
Сергей Зорин
этому уже сто лет в обед
Я
17:28
Ярослав
In reply to this message
Мне лично Томас Фрей сообщал 😁
ДБ
17:28
Денис Будяк
А пример про апостроф - тоже все знают?
Я
17:28
Ярослав
In reply to this message
Про это не знал
ДБ
17:28
Денис Будяк
Вот. Что и требовалось доказать.
Я
17:29
Ярослав
И про SET( LONGINT ) не знал
СЗ
17:29
Сергей Зорин
разделение числа? ну старожилы знают)
ДБ
17:29
Денис Будяк
Нет, не разделение числа, а в конце идентификатора для группировки.
СЗ
17:29
Сергей Зорин
In reply to this message
этого нет, это коллега предлагает
ДБ
17:29
Денис Будяк
То, что обсуждалось сегодня.
17:29
Ну вот видите, вы ещё не начали, а уже путаница.
Я
17:29
Ярослав
In reply to this message
Но если будет описание, будет легче
СЗ
17:31
Сергей Зорин
In reply to this message
по моему это только в выражениях можно было использовать, сейчас не помню, да может и потёрли уже
Я
17:31
Ярослав
В коде ещё и IGNORE func() разглядел )
СЗ
17:31
Сергей Зорин
Да, это Флориан добавил
ДБ
17:32
Денис Будяк
Ну т.е. вы обсуждаете изменения объекта, о котором ни у кого нет исчерпывающей информации, равно как и нет описания в виде документа. При том, особо ни у кого нет ресурсов этим заниматься. Если закрыть вопрос языка, то, может быть, что-нибудь останется на остальное.
17:33
Я имею в виду ресурсы.
СЗ
17:33
Сергей Зорин
потому что там был микс из хостовых и а2шных кодов ответов, где-то создавали временную переменную, гдето переиспользовали другую. а когда для типа результата стали использовать тип WORD и я весь код там перетряхал на эту тему, возникло много проблем, вот Флориан и сделал
Я
17:35
Ярослав
Ну, полезно. Не опция компилятора как в паскале, а явно
СЗ
17:35
Сергей Зорин
Язык не зафиксирован потому что он еще не завершен)) перманентная революция)
Я
17:36
Ярослав
Хотя ближе по дух было бы может как в go _ :=
СЗ
17:37
Сергей Зорин
жуть какая
ДБ
17:37
Денис Будяк
Ага, пока речь идёт только о расширениях, то это ок, не считая того, что нельзя вносить расширения, не зная, что уже есть (возможен конфликт, в т.ч. молчаливое изменение семантики кода из-за расширения, которое перешибает что-то уже существующее в компиляторе). А когда речь пойдёт о breaking changes, то без аналога https://blog.golang.org/introducing-gofix всё сразу зайдёт в тупик.
Я
17:37
Ярослав
😁
ДБ
17:37
Денис Будяк
В общем перманентная революция - это совершенно не смешно и несерьёзно
Я
17:38
Ярослав
In reply to this message
Я про жуть
СЗ
17:38
Сергей Зорин
а нет ресурсов чтобы одномоментно щасте во всем мире
Я
17:38
Ярослав
In reply to this message
Но тем не менее в языке ещё и дженерики ожидаются
SD
17:42
Sergej Durmanov
In reply to this message
Алексей Морозов про USB интересовался, решали что-то в этом плане?
СЗ
17:43
Сергей Зорин
нет, я "на чемоданах сижу", завтра в Китай
ДБ
17:43
Денис Будяк
щастье сделать нельзя, а вот нещастье - запросто
Я
17:46
Ярослав
In reply to this message
Никто не мешает писать в оригинальном стиле, изложенном в первоначальном сообщении о языке. Должно компилироваться
СЗ
17:46
Сергей Зорин
ну кроме интерфейсов
17:46
но они и так почти не работали
17:47
WITH ещё изменили
17:53
Allowed for marking of temporary arguments, used for example in expressions like
A := B` * C
A := ALIAS OF B^
A := ALIAS OF RESHAPE(B,[6])
A := RESHAPE(B,[6]) * RESHAPE(C,[6]);
17:54
для матрасширения только, как я понимаю
ДБ
17:54
Денис Будяк
Заключать код в три апострофа с каждой стороны
17:54
При вставке в телеграм
17:55
 \`\`\` Пример кода \`\`\`
SD
18:28
Sergej Durmanov
In reply to this message
Во, я помню, что видел что-то
21 May 2019
BT
17:48
Bohdan Troschinsky
Привет всем, а ни кто не знает появилась ли поддержка двух экранов?
ДБ
18:00
Денис Будяк
Где-то я видел слова про это, но где - уже не вспомню.
18:00
Что появилась
BT
18:01
Bohdan Troschinsky
Неа, просто иногда хочется...
18:02
Наконец обновился с репозитория, пробую, что из старого софта запускается
18:02
WMHexEditor запустился и работает
ДБ
18:03
Денис Будяк
Multi-monitor is supported on most Intel(R) 82865G graphics controller-based systems
18:03
Setup.Text
22 May 2019
Федор Красильников joined group by link from Ярослав
SD
09:48
Sergej Durmanov
Алексей, проблема с инлайном процедуры в которой есть LSH. С ASH нормально
СЗ
11:52
Сергей Зорин
Во, тест от Илова )) https://forum.oberoncore.ru/viewtopic.php?f=29&t=6400
11:56
если заменить INTEGER -> LONGINT, REAL -> LONGREAL, то в итоге трап на строке |Add: reg[b2].SetReal(reg[b3].Num() + reg[b4].Num()); Если заменить POINTER TO RECORD на OBJECT, вроде работает, но жутко медленно. Если заменить CASE на IF ELSIF, то работает быстрее, но не так что-бы сильно. В общем проблемы с методами у записей, проблемы с CASE...
11:59
и да, в Win32 работает быстрее, чем в Win64
Я
13:19
Ярослав
Добрый день! Я тут утилитку одну сделал. На что её натравим? 😁 https://forum.oberoncore.ru/viewtopic.php?p=108051#p108051
ДБ
17:15
Денис Будяк
Добрый! Желательно был бы для этого отдельную тему, а не писать в уже существующую. А как насчёт стандартной библиотеки Дельфи? Она реализована?
Я
19:34
Ярослав
In reply to this message
А что из стандартной библиотеки Delphi надо? Другая ведь идеология. По-другому надо работать с файлами, строками...
19:36
И чем не годится тема? Все в ключе нововведений для A2. А именно, портирование приложений с Delphi
ДБ
19:38
Денис Будяк
Ну если речь идёт о портировании, то значит нужно хотя бы возможность отфильтровать код, который обращается к этой библиотеке (найти все обращения). Каждое обращение к ней придётся обработать (переписать). Или же можно её эмулировать модулем A2, тогда не нужно будет обращения переписывать.
19:39
Тема не годится по той причине, что та тема посвящена спискам хотелок. А портирование с дельфи - это конкретная хотелка.
19:39
Получается, что форум превращается в чаТ, а ведь форум на то и структурирован, чтобы разные вещи были в разных местах.
Я
19:51
Ярослав
In reply to this message
Хороший подход. Можно попробовать так и делать. Или сделать один модуль, отвечающий за эмуляцию библиотеки Delphi чтобы не плодить лишние модули. Там у Delphi DOOM зависимость от 6 стандартных модулей Delphi и от стороннего модуля DirectX... Только для создания холста для рисования
23 May 2019
SD
09:03
Sergej Durmanov
Такой код компилируется : MODULE M; VAR a: ARRAY [ * ]; END M.
09:05
Алексей, а тебе графики где нужно будет рисовать, на WMGraphics.Canvas или на Raster.Image?
AM
09:06
Alexey Morozov
In reply to this message
Это фактически дескриптор одномерного массива, для любого базового типа
SD
09:07
Sergej Durmanov
Ну я понимаю, когда оно в параметрах и можно передать массив такой размерности, но с разным типом эле ентов, а что можно сделать с такой переменной?
AM
09:08
Alexey Morozov
Это для доступа к массиву на низком уровне
BT
09:09
Bohdan Troschinsky
Ну можно ещё много странных вещей сделать, которые компилируются, но смысла не имеют 😊
AM
09:09
Alexey Morozov
Если ты посмотришь в FoxArrayBase.Mod то увидишь что некоторые операторы имеют такой интерфейс
SD
09:10
Sergej Durmanov
Нк так это формальные параметры, с этим нет вопросов, но вот что делать с переменной? Я не могу ей присвоить реальный массив
AM
09:11
Alexey Morozov
In reply to this message
Да, согласен, что это пропуск...
SD
09:15
Sergej Durmanov
А улучшенны массивы всегда в куче? Или при определении матмассива с явно указанной размерностью он будет на стэке?
AM
09:16
Alexey Morozov
In reply to this message
В А2 есть Test suite для тестирования компилятора и исполняемого кода, можно добавить туда такие случаи где код не должен компилироваться и указать на это Феликсу
09:18
In reply to this message
Насколько я помню с фиксированным размером будет в стэке - можно проверить используя ADDRESSOF(x[0])
09:24
In reply to this message
Для меня растер имеет больший приоритет, так как на нём «сидит» все остальное включая канвас
SD
09:33
Sergej Durmanov
Ты используешь стандартные виджеты? Или они тебе не шибко нужны? Ну то есть можно сделать новый независимый канвас, связанный только с растром, а можно работать через стандартный канвас, или дернуть
09:33
Из него растр
AM
09:39
Alexey Morozov
In reply to this message
Посмотри в WMGraphicsSmooth.Mod - так я делаю на данный момент; внутри работаю с растром
BT
09:47
Bohdan Troschinsky
Кстати PrinterCanvas я выкладывал?
AM
09:49
Alexey Morozov
In reply to this message
не помню
Я
09:56
Ярослав
In reply to this message
Лежит в OCP репозитории. WMPrinter
09:57
Надо бы префикс Windows. добавить )
AM
10:08
Alexey Morozov
In reply to this message
Сергей, дай пример, пожалуйста
SD
10:45
Sergej Durmanov
In reply to this message
Алексей, это всё тот же самый тест от ilovb, ссылку на который Сергей Зорин выше приводил. Если его алаптировать для АО - заменить записи на объекты, integer на longint, а real на longreal, то оно компил руется и работает, но если в процедурах emit.. заменить ash на lsh, и убрать временные переменные, то есть сразу возвращать результат выражения, то код работает неверно. Ну там можно локализовать, оставив только emit.. и присваивания, думаю осткльное можно выкинуть так как несущественно
10:45
Попробую вырезать
10:46
Просто тогда непонятно, что код не работает
AM
10:52
Alexey Morozov
In reply to this message
В этом-то и сложность - чтобы наиболее эффективно и быстро исправить проблему нужен минимальный но в то же время макимально репрезентативный пример
10:56
c инлайном сейчас серьёзные проблемы, базовые вещи не работают; к примеру

MODULE TestInline;

TYPE
Rec* = RECORD
x-: LONGINT;
END;

OPERATOR -"+"*(CONST x, y: Rec): Rec;
BEGIN
RESULT.x := x.x + y.x;
RETURN RESULT;
END "+" ;

PROCEDURE -Proc*(CONST x: Rec): Rec;
BEGIN
RESULT.x := ASH(x.x,2);
RETURN RESULT;
END Proc;

PROCEDURE Test*;
VAR
x, y, z: Rec;
BEGIN
z := x + y; (* compiles *)
z := x + y + z; (*! does not compile *)
y := Proc(x); (* compiles *)
y := Proc(Proc(x)); (*! does not compile *)
z := Proc(x) + y; (*! does not compile *)
y := Proc(x) + Proc(y); (*! does not compile *)
END Test;

END TestInline.
SD
10:58
Sergej Durmanov
Совсем минимально не получилось
10:58
Потому что оно зависит
10:58
Если инлайнить процедуры по отдельности то норм
10:58
А вместе какие то накладки
10:58
Куда запостить
11:06
Вобщем получилось минимальный тест сделать
11:06
Оу, ты уже сделал похоже
11:20
В том коде, что я выслал можно еще упростить, выкинув массивы и использовать переменные, тогда видно значения, которые отличаются
AM
11:24
Alexey Morozov
Спасибо, Сергей
11:29
Для доступа к А2 репозиторию:

URL: https://svn-dept.inf.ethz.ch/svn/lecturers/a2/trunk/
USERNAME: infsvn.anonymous
PASSWORD: anonymous
AM
11:29
Alexey Morozov
W
Wlad 16.05.2019 22:21:55
Не пускает чего-то...
SD
11:31
Sergej Durmanov
Оу, Алексей, если в высланном мною примере константу Get заменить на переменную, то инлайн работает правильно
AM
11:32
Alexey Morozov
In reply to this message
Ок, понял
SD
12:03
Sergej Durmanov
MAX( SIZE) возвращает неверное значение, потому что в семантикчекер тип считается знаковым. Это снова фича для совместимости с легаси кодом или таки баг?
Wlad pinned this message
BT
14:38
Bohdan Troschinsky
14:39
Студенти проводят лабу по сопромату на программе на А2
Я
14:41
Ярослав
In reply to this message
Микро A2 😁
AM
14:41
Alexey Morozov
Я
14:42
Ярослав
Вот, надо везде проникать с A2
BT
14:42
Bohdan Troschinsky
Ну да, выглядит как обычное виндовое приложение ☺️
W
14:42
Wlad
👍👍👍👍👍
BT
14:42
Bohdan Troschinsky
Они не знают, что к святому прикосаются 😂
Я
14:43
Ярослав
😂
W
14:45
Wlad
Да - при чём тут святость? Просто отрадно, что люди общаются с ПРАВИЛЬНЫМИ вещами. Замечательно!
Я
14:45
Ярослав
Надо что-бы секретная комбинация запускала тетрис 😁
14:47
Это, так, шутка. Побольше приложений хороших и разных!
5 June 2019
SD
05:17
Sergej Durmanov
А нафига Феликс визиторы из компилятора удаляет?
Я
07:13
Ярослав
Привет. Где удаляет?
SD
07:14
Sergej Durmanov
В компиляторе избавляеттся от шаблона посетитель
6 June 2019
W
13:04
Wlad
СЗ
17:40
Сергей Зорин
@wladlos это достаточно сложно прикрутить к freepascal compiler какой-нибудь оберон-2, потому что одним фронтендом не обойтись, да и нет там возможности исппользовать сменные фронтенды. ну то есть вкорячить фронтенд оберона во фронтенд паскаля можно, в конце-концов, вкоряцили же они яву, но, как говорится, водка, борщ и селёдка хороши сами по себе , но если смешать, помои получатся. так и там. Но в принципе можно. Но параллельно синтаксическое дерево править нужно, и бакенд разумеется, и про семантику не забыть, и про бакэнд, ибо там внутреннее устройство разное. в общем оаботы много, и нужно постоянно синхронизировать. я потому и забросил порт фрипаскаля на активный оберон. В общем не просто это всё
BT
17:42
Bohdan Troschinsky
порт фрипаскаля на активный оберон
это, что бы можно было на фрипасе под обероны писать или я не правильно понял?
17:43
я лично подлумывал, что неплохо б было сделать Си под оберонами, что бы низкоуровневые вставочки не на асме, а на Си писать
СЗ
17:55
Сергей Зорин
Bohdan просто порт 1:1, но да, была мысль сделать полную поддержку а2 и портировать лазарус ))), пока же оно генерировало бинаргики до вин 32 - дальше дело не пошло, ибо была осознана бессмысленность затеи.
17:59
я также пытался сделать фронтэнд голанг, но споткнулся на поддержке модели памяти и интеграции
W
18:00
Wlad
Модель памяти оставить пержней. Просто входной синтаксис поменять.
СЗ
18:00
Сергей Зорин
в этом нет смысла
18:01
нужно чтобы инфраструктуру голанга в а2 перетянуть
W
18:01
Wlad
Ой, погодите, я чаты перепутал! :)
18:01
В другом месте я тоже такой же вопрос задал.
18:02
Совсем запутался! :)))))))
BT
18:02
Bohdan Troschinsky
😜
СЗ
18:02
Сергей Зорин
ну ты мне на оберонкоре писал
W
18:03
Wlad
В другом чате я спрашивал, занимался ли кто-то прикруткой фронт-енда к Фрипаскалю.
18:03
Да
18:04
А в чём проблемы были? При оставлении того же рантайма и модели памяти Меняем только способ записи объявлений и выражений входного языка. Семантика не меняется.
СЗ
18:05
Сергей Зорин
в го совсем другая модель памяти
W
18:05
Wlad
нет. Меня Го не интересует.
СЗ
18:06
Сергей Зорин
можно из процедуры вернуть указатель на локальную переменную))
W
18:06
Wlad
Ну - тут - понятно.
18:07
Но мне не нужна модель памяти и рантайм от Го-модели "мира". Пусть фри-паскалевская остаётся.
СЗ
18:08
Сергей Зорин
та не, я фронтэнд голанга для компилятора fox из а2 делал
W
18:08
Wlad
Так, я совсем запутался. :)
18:08
Всё. давайтк закруглять со мной эту тему. :)
Я
18:10
Ярослав
😂
7 June 2019
ДБ
11:36
Денис Будяк
Приветствую всех! Скромно поинтересуюсь состоянием дел с отладчиком и вообще, узнать, движется ли что-нибудь и куда-нибудь.
11:39
И вставлю свои две копейки про другие языки. Нет смысла делать фронтенд паскаля. Оберон - это более безопасный язык, чем Паскаль, не надо его портить. Недостающее от Паскаля - это работа с памятью и реальное время. В А2, как я понял, есть задачи реального времени - это оригинальный подход, который должен сработать.
11:39
Т.е. конечно это может быть нужно кому-то для конкретной задачи, но в целом и стратегически это плохая затея.
11:40
ПРо модель памяти голанга - имеется в виду вот это?
BT
11:40
Bohdan Troschinsky
Привет!
11:41
По тихоньку адаптирую и загружаю в ocpcomun
11:42
если кто то хочет помогать, то в принципе есть нерешенные задачи...
ДБ
11:43
Денис Будяк
Отлично! У меня свой проект висит, иногда выкраиваю для него время по дороге на работу... Но готов посмотреть на список задач хотя бы одним глазом
BT
11:43
Bohdan Troschinsky
К примеру я в свое время адаптировал WMTextView под установку и отображение точек останова и номеров строк, сейчас возможно что то изменилось и эта задача упростилась возможно
11:45
Шестнадцатиричный редактор загружен, но не завершен, его можно попробовать... (реализованы функции выделения текста и редактирования, честно говоря легче попробовать...) хотелось бы разширить его возможности, например отображать
ДБ
11:46
Денис Будяк
Эта адаптация в современной версии отсутствует?
BT
11:47
Bohdan Troschinsky
отображать не только в шестнадцатеричном виде, но и в виде WORD LONGINT и т.д.
11:47
адаптация чего?
ДБ
11:47
Денис Будяк
WMTextView
BT
11:48
Bohdan Troschinsky
а, я еще не смотрел, могу старую прислать
11:48
если есть желания посравнивать
11:50
Добавил в бакэнд компилятора генерацию lineinfo, это уже работает
8 June 2019
10 June 2019
SD
17:23
Sergej Durmanov
Кстати, а почему нет ссылки-приглашения? Вот смотрю я в параметры группы, а нету, это плохо
Я
17:26
Ярослав
Где нету?
SD
17:27
Sergej Durmanov
Вот в мобильном приложении я кликаю по заголовку, открывается параметры и там должна быть ссылка приглашение
17:31
Добавь в инфо
17:31
Посмотри как в OberonCore
Группа проекта https://oberoncore.ru/
(по всем вопросам тематики форума)

Канал: @oberoncore
Форум: https://forum.oberoncore.ru/
Администрация: oberoncore@yandex.ru
https://t.me/oberonf
17:31
Зайди туда и глянь, там хорошо сделано
17:36
Ярослав, так не пойдет, оно не копируется
17:36
Нужно как в оберонкоре
Б
22:18
Борис
Так как не все есть в группе и канале OberonCore, дублирую сюда:
Б
22:18
Борис
O
OberonCore 10.06.2019 22:06:42
Компания Excelsior (Новосибирск) опубликовала на GitHub исходники среды разработки и компилятора XDS Modula-2/Oberon-2.

https://github.com/excelsior-oss/xds
https://github.com/excelsior-oss/xds-ide

Ранее сообщалось, что разработка основного продукта — Excelsior JET прекращена. Причины и подробности данного решения не известны до сих пор.
W
22:34
Wlad
У сообщества - есть какие-то намётки и/или планы в эту сторону?
Б
22:36
Борис
Да мы узнали только час назад, какие уж тут планы)))
Я
22:36
Ярослав
In reply to this message
Надо же с этой мыслью переспать 😁
Б
22:37
Борис
Надо смотреть, какую пользу можно извлечь оттуда.
BT
22:37
Bohdan Troschinsky
Нужно все качнуть, на всякий случай, а то закроют
W
22:39
Wlad
Надо быстрее всё склонировать!
Ибо: "тиха украинская ночь... Но сало нужно перепрятать..."
Б
22:40
Борис
Вот да)))
W
22:40
Wlad
In reply to this message
Вот, что значит общая/близкая локация! :)))))
Б
22:40
Борис
😀
BT
22:41
Bohdan Troschinsky
Вот, пойду на ночь, наемся... ну зачем про сало напоминать 😂
W
22:41
Wlad
Бытие дефайнит сознание - аж тапки заворачиваются!!!
11 June 2019
BT
10:54
Bohdan Troschinsky
поглядел исходники, в основном все датируется 97—99 год, весьма печально
12 June 2019
ДБ
19:50
Денис Будяк
Всем доброго времени суток. А есть ли мотивирующее/продвигающее видео минут на 5-10, покзаывающее все прелести A2?
SD
19:53
Sergej Durmanov
У А2, как и у любой приличной девушки, все прелести внутри)))
ДБ
20:29
Денис Будяк
Ну я даже не знаю, вроде шутка, а не смешно.
20:30
Потому что это значит, что мне придётся это делать самому, а времени у меня очень мало.
20:30
Девушка, которая не показывает свои прелести хотя бы частично, останется старой девой.
SD
20:30
Sergej Durmanov
А это и не шутка, а фактология
ДБ
20:31
Денис Будяк
Нет такой фактологии, ну да ладно. Нет видео - это тоже результат, хотя бы не буду тратить время на его поиски. И на том спасибо.
SD
20:31
Sergej Durmanov
Что конкретно тебе нужно?
ДБ
20:32
Денис Будяк
Нужно видео на русском языке, которое в реалиях сегодняшнего дня позволит привлечь любого рода ресурсы к разработке A2 или производных от неё продуктов. В качестве ресурса - сочуствующий в данном случае, который считает, что с линуксом всё в порядке.
SD
20:33
Sergej Durmanov
Да сейчас особо нечего показыать на видео, лостаточно слайдов
ДБ
20:34
Денис Будяк
Слайды молчат
SD
20:34
Sergej Durmanov
Слайды в инете есть, хоть и на забугорном
ДБ
20:34
Денис Будяк
Можно ссылку?
W
20:34
Wlad
In reply to this message
Перед кем планируется кан-кан исполнять?
20:36
Кто это - я понятия не имею.
20:37
Думаю, что просто сочувствующий
W
20:37
Wlad
Поберегите бисер.
ДБ
20:37
Денис Будяк
Можно я сам это решу?
W
20:39
Wlad
Обычно стена - крепче головы.
SD
20:44
Sergej Durmanov
Может у Алексея есть что-то, у него же практическое применение. Это намного интересней пустых наполеоновских планов
S.Atan joined group by link from Ярослав
ДБ
20:48
Денис Будяк
Мне достаточно, чтобы было раскрыто следующее:
- легко портировать на новые процессоры
- может работать на железе, в вирт машине и как приложение
- при работе в режиме приложения легко доступна файловая система
- почти уникальные особенности языка для параллельности (задачи, прерывающие сборку мусора)
- написана на языке высокого уровня, а не на C/bash/m4/makefile
- язык изначально надёжнее Си (авт. упр. памятью, отсутствие юнионов, void * и проч)
- быстрая и компактная
- неплохой гуй
20:48
Тут не планы, а то, что уже реально видно
SD
20:49
Sergej Durmanov
Презенташки искать нужно, вроде я чтото скачивал
BT
20:49
Bohdan Troschinsky
Вообще-то инициатива наказуема 😉
W
20:49
Wlad
Зовите кого-то из старого состава аспирантов Вирта и Гуткнехта...
МОжет у них что-то осталось.
ДБ
20:50
Денис Будяк
Такое видео я могу сделать часа за два, но это моя норма времени на личные проекты на неделю - полторы. Но искать и спрашивать (особенно, учитывая, что я их не знаю) - это, скорее всего, дольше
BT
20:50
Bohdan Troschinsky
Были разные видео, но у всех своя напрвлинность
ДБ
20:50
Денис Будяк
Так что если у кого-то есть ссылки на видео, то прошу поделиться, если нет - ну ничего, сделаю сам и сам поделюсь
20:51
Засим моё время на данный чат тоже заканчивается на сегодня :)
BT
20:51
Bohdan Troschinsky
В ютубе поиск работает
AM
20:51
Alexey Morozov
У меня видео нет, есть презентации со спецификой моих приложений
ДБ
20:51
Денис Будяк
Презентация без слов обычно мало понятна
20:51
Ладно, я сделаю сам, в общем. Больше велосипедов разных, новых!
SD
20:52
Sergej Durmanov
In reply to this message
Вот смотри, ты собираешься популяризировать систему и язык, о которых имеешь весьма поверхностные знания. Боюсь, что получится, как с сергеем Губановым на рсдн
BT
20:52
Bohdan Troschinsky
Видео всегда можно удалить ☺️
ДБ
20:52
Денис Будяк
Ну можно найти меня и пристрелить, чтобы не испортил дело ;)
20:53
Или дать мне более хорошее видео, удовлетворяющее мои потребности, сделанное профессионалами.
20:53
Я пока ни одной ссылки в данном чате не увидел :) А ведь даже ссылка готовая потребует от меня выполнения работы по просмотру этой ссылки и сверки её с моими хотелками.
20:54
Всем хорошего вечера, я закрываю телеграм, мне ещё карниз вешать и пилить свою программку, а уже скоро ночь :)
SD
20:54
Sergej Durmanov
В общем тебе нужна инфа.
20:56
Портировать на новые процессоры ничуть не легче, потому что, сначала нужно написать бакэнд, а для этого изучить целевую архитектуру.
W
20:57
Wlad
Денис, вы идёте тем же путём, что и многие до вас...
Поверьте, "ПРОШЛОЕ яростно сопротивляется его изменению" (с)"11.22.63"
S
21:01
S.Atan
Всем дрям!
SD
21:03
Sergej Durmanov
Язык не стабилизирован, поэтому нет актуального репорта. Это плохо. Было бы здорово, если была бы вики и там, по мере изменения языка фиксировать текущее состояние.
W
21:03
Wlad
Подозрительный ник...
Потянуло потенциальным скандальчиком...
S
21:04
S.Atan
In reply to this message
К своим попал шоле? 😂😂😂
BT
21:06
Bohdan Troschinsky
Вики нужно кому то заниматься, лучше в новых исходиках использовать автодокументацию, тем более Алексей сделал поддержку
W
21:07
Wlad
Предлагаю регистрироваться здесь ТОЛЬКО под настоящими именами.
Что бы не было соблазнов всяких нехороших...
SD
21:07
Sergej Durmanov
Ав одокументация и репорт как бы ращные вещи
BT
21:07
Bohdan Troschinsky
In reply to this message
Всё нормально, это инициалы реальной фамилии 😊
S
21:08
S.Atan
In reply to this message
👍😊
SD
21:08
Sergej Durmanov
In reply to this message
И кровавую гэбню с автоматами
W
21:08
Wlad
In reply to this message
Кровавая гэбня уже есть.
21:09
Правда, не с автоматом, а - с совковой лопатой.
BT
21:09
Bohdan Troschinsky
Вместо аватарки разворот паспорта, и прописку обязательно 😂
SD
21:09
Sergej Durmanov
Т ена и фамилии не мешают нести пургу, так что нафикнафик
W
21:10
Wlad
Есть разница.
SD
21:10
Sergej Durmanov
Вообще, лучше было бы использовать the bug genie
BT
21:10
Bohdan Troschinsky
Bug tracking же есть, это имелось ввиду?
SD
21:11
Sergej Durmanov
Да, но то что есть это не совсем то, что нужно
BT
21:11
Bohdan Troschinsky
SD
21:12
Sergej Durmanov
Я знаю
BT
21:12
Bohdan Troschinsky
На всякий случай ссылку всем повторю
SD
21:12
Sergej Durmanov
Просто the bug genie практичней редмина
AM
21:12
Alexey Morozov
21:13
Предыдущий линк не работает
BT
21:13
Bohdan Troschinsky
Можно ссылку на статейку по bug genie, а то я с этим инструментом не знаком
SD
21:14
Sergej Durmanov
Вбей название в поисковик
21:14
Есть и в википедии
BT
21:14
Bohdan Troschinsky
Ок
Константин joined group by link from Ярослав
BT
21:22
Bohdan Troschinsky
Что-то почитал на вики про bug genie и не впечатлился, обычный багтрекер
SD
21:24
Sergej Durmanov
Ну так читая вику мало чем впечатлишься https://github.com/thebuggenie/thebuggenie
21:25
Нужно погонять
BT
21:25
Bohdan Troschinsky
In reply to this message
Кто мне посоветовал на вики смотреть?
SD
21:26
Sergej Durmanov
Не я, я лишь сказал ч о оно там есть)
21:39
Алексей, кто-нибудь работает над mips и/или risc-v бакэндом? И что с AArch64?
Alena Kotova joined group by link from Ярослав
Alena Kotova removed Alena Kotova
ДБ
22:30
Денис Будяк
Портировать на новые арх-ры явно легче, чем колибриОС :)
22:31
Про прошлое и сопротивление мы обсудим в другой раз. В принципе, похоже, что чел клюнул, видео не нужно.
22:32
В общем если есть линки с материалами для продвижения, прошу прищеплять к верху темы.
22:32
Или просто бросать сюда
Ника joined group by link from Ярослав
SD
23:03
Sergej Durmanov
Аленку кто-то напугал)
Б
23:04
Борис
Это вы где там ссылку разместили, что сюда народ повалил?
SD
23:05
Sergej Durmanov
Я тока в беседке
S
23:09
S.Atan
Девчата чот как на мёд...
SD
23:11
Sergej Durmanov
Кстати, а ты не хочешь заняться поддержкой opentype для а2? Оно конечно там есть, но... нужно более вменяемую реализацию
S
23:15
S.Atan
ну фик знает, щас со временем определюсь, можно будет попробывать.
SD
23:16
Sergej Durmanov
Хотя актуальней это перетряхнуть usb стэк
23:17
Более критично
Игн И joined group by link from Ярослав
13 June 2019
Я
00:33
Ярослав
In reply to this message
Доброго! Сорен Реннер как-то снимал много видео про А2 и свой трасировщик лучей 🙂
BT
00:42
Bohdan Troschinsky
In reply to this message
Но там весьма специфичные видео, которые не раскрывают суть А2
AM
01:22
Alexey Morozov
In reply to this message
Насколько я осведомлён над мипс и риск никто не работает. Над Arm64 вроде как тоже
Я
01:36
Ярослав
In reply to this message
Согласен )
01:39
In reply to this message
Шутка про прелести внутри, может)
W
02:18
Wlad
Так с какой стороны планируется А2 рекламировать?
Какая "целевая аудитория"?
Кто запланирован в "гребцы на галллллерах", кто в барабанщики, "задающие ритм" гребков, кто - в кнутоносцы?
Уже определен набор проектов, куда планируется поместить А2 для приведения мира в состояния "а.уя"?
ДБ
11:18
Денис Будяк
Добрый день! Уже вчера всё это обсуждали, я дал ссылку на целевую аудиторию из одного человека, и этот человек уже заинтересовался, вот, полюбуйтесь. http://вече.программирование-по-русски.рф/viewtopic.php?f=2&t=88&start=10#p756
Я
11:19
Ярослав
Так и консоль есть в А2
ДБ
11:19
Денис Будяк
Денег у меня нет, если что. Трачу 1000 рублей в месяц на рекламу своего сайта программирование-по-русски.рф, но Оберон-сооществу это не интересно. Максимум, меня обозвали Денисом Поповым и ещё как-то выразили сомнение в моей честности. Поэтому я не буду время уважаемого соощества на обсуждение своих планов и интересов. На сайте написано достаточно много, кому интересно - может ознакомиться.
11:20
Сейчас я работаю на работе и делаю хобби-проект в области русификации на голанге. Текущих планов что-либо делать с обероном у меня нет, просто тут к слову пришлось, вот и возник вопрос про рекламу А2.
Я
11:21
Ярослав
А Поповым почему, как первооткрыватель радио?)
ДБ
11:21
Денис Будяк
Рванулся было помочь Богдану с отладчиком, но быстро понял, что при текущих ресурсах по времени ничего реально сделать не смогу.
S
11:21
S.Atan
In reply to this message
Как писателю операционной системы с нескучными обоями :)
ДБ
11:22
Денис Будяк
Так что на данный момент вопрос по рекламе А2 неактуален.
Я
11:25
Ярослав
Можно подумать, клоны линукса как-то инным способом появляются... )
11:33
Пытался как-то оживить примерчики по Dynamic Oberon Pages. Там вроде и форум был на этом сделан. Что-то изменили в подсистеме XML и оно даже не компилируется. Если-бы хотя-бы сайт крутился на A2, как в былые времена... Конечно не с такой дизайнерской задумкой как тогда... )
Alexey Veselovsky joined group by link from Ярослав
14 June 2019
W
00:30
Wlad
In reply to this message
Добро пожаловать. :)
AV
00:30
Alexey Veselovsky
Yo! Я не уверен что я на долго, но какое-то время тут поприсутствую.
W
00:30
Wlad
До первого скандала? :)
00:31
Вы сейчас географически - где?
AV
00:32
Alexey Veselovsky
Москва
15 June 2019
W
12:25
Wlad
Lisp, Smalltalk, and the Power of Symmetry – Smalltalk Talk – Medium
https://medium.com/smalltalk-talk/lisp-smalltalk-and-the-power-of-symmetry-8bd96aaa0c0c
BT
12:29
Bohdan Troschinsky
А где глянуть на годный пример макросов из лиспа?
W
14:37
Wlad
К
Книги для программистов 27.02.2019 13:13:08
Практичный Common Lisp
W
14:40
Wlad
А я думал, что вопрос про Pharo будет... :)
17 June 2019
Qotrag joined group by link from Ярослав
18 June 2019
Я
11:18
Ярослав
Приветствуем, Qotrag!)
19 June 2019
SD
12:03
Sergej Durmanov
Алексей, раньше в АО у объектов могло было несколько инициализаторов, сейчас Феликс такую возможность удалил. Не знаешь, с чем это связано?
AM
12:05
Alexey Morozov
Привет, Сергей! Не знаю. Я честно говоря не помню, что такое вообще было :)
SD
12:06
Sergej Durmanov
Так и в репорте написано и paco так работате, да и фокс до какой-то ревизии тоже
W
12:07
Wlad
In reply to this message
Я - тоже не помню. В принципе, не понятно, зачем это нужно? Ведь набор полей, которые нужно проинициализировать у экземпляра , один и тот же.
AM
12:10
Alexey Morozov
В Active Oberon Language Report by Patrick Reali (2002), subsection “2.4 Initializers” написано: “An object type may have at most one initializer.”
SD
12:11
Sergej Durmanov
И да, я помню про agg, и по мере возможности работаю, просто там затык на каждшм шагу, изменения в компиляторе, например раньше методы моли быть абстрактными и финальными, я так и писал, сейчас Фелик, переделал, удалил финальные методы и приходилось все это менять, ну и тд. В общем оживление проекта заняло много времени, но сейчас я приступил к дальнейшему портированию
ДБ
12:11
Денис Будяк
А что такое agg?
SD
12:13
Sergej Durmanov
In reply to this message
2d графика с антиалиасингом
ДБ
12:14
Денис Будяк
Спасибо
AM
12:14
Alexey Morozov
In reply to this message
Спасибо :)
SD
12:14
Sergej Durmanov
In reply to this message
Ну может я у Мюллера читал или Квикстарт, но точно помню, что было гдето в доках от етхз
12:20
In reply to this message
Да не за что, только тебе потом самому придется реализовывать несколько функций для арма, типа тангенса, округлений и тд. Вообще в а2 не помешало бы расширить Math*, Reals
AM
12:22
Alexey Morozov
In reply to this message
Я того же мнения, что нужно расширить Math
SD
12:23
Sergej Durmanov
Ну и там не совсем Agg получится, ибо я потом думаю распараллелить рендер и добавить псевдо3d, но э о уже потом
ДБ
15:06
Денис Будяк
А чем вообще новая версия лучше старой? Вот, например, отладчик надо оживлять (и фактически его сейчас нет), agg нужно оживлять. Т.е. потери вполне осязаемы. А профит в чём?
15:07
Я лично видел только какое-то улучшение работы с окнами в приложении для Windows, хотя моё касательство к A2 было очень малым.
SD
15:19
Sergej Durmanov
Что ты имеешь в виду, говоря о старой и новой а2?
15:20
Там же нужно отделять изменения в а2, и изменения в языке и компиляторе
15:30
Прочитай, например https://www.research-collection.ethz.ch/handle/20.500.11850/154828
6.3 Generic Object Files
ДБ
15:36
Денис Будяк
Совместно работает то, что было выпущено одновременно, поэтому меня интересует комплекс. Касаемо компилятора Fox против старого компилятора - Fox гораздо лучше, в той мере, в которой я этот вопрос изучил. Хотя может быть, я не всё знаю :)
AM
15:38
Alexey Morozov
A2 - это и есть часть (Runtime) Оберон комплекса
15:39
Active Oberon = Language+Compiler+Runtime
ДБ
15:41
Денис Будяк
Не понял. В ОС А2 есть компилятор? Есть. Рантайм есть? Да. Почему я должен считать A2 частью какого-то бОльшего комплекса? Я что-то упустил?
AM
15:42
Alexey Morozov
A2 - это Runtime для языка Active Oberon
ДБ
15:42
Денис Будяк
Ну хорошо, язык и программа - это вещи из разных эээ пространств. Почему компилятор не является частью A2?
AM
15:43
Alexey Morozov
Fox - это компилятор, который работает в А2
15:43
все завязано в комплексе
ДБ
15:43
Денис Будяк
Вот меня это и интересует.
15:45
Чем комплекс стал лучше. Изменение формата объектных файлов - это изменение реализации. При этом функционал был потерян или были в том числе и улучшения?
15:45
Т.е. не так. Точно понятно, что часть функционала была потеряна. Были ли улучшения функционала?
AM
15:47
Alexey Morozov
Почитай "Combining Lock-Free Programming with Cooperative Multitasking for a Portable Multiprocessor Runtime System" (PhD dissertation of Florian Negele)
ДБ
15:47
Денис Будяк
Ок, начнём с пункта 6.3. Вот его конец: " As a result, the linker processes these sections as usual
generating a plain binary file as before and does therefore not have to know
anything about the actual object file format of the target platform."
15:48
Я бы понял, если бы было написано: в результате мы портировали A2 на эн новых платформ. Но речь идёт о внутреннем улучшении.
AM
15:50
Alexey Morozov
Извини, Денис, но что-то я тебя не понимаю
15:50
в чем твоя цель?
ДБ
15:51
Денис Будяк
Я пытаюсь понять ответ на очень простой вопрос: стало ли что-то лучше, чем было? Неужели нет более комфортабельного для меня ответа, чем "прочитай документ из 233 страниц?"
15:51
Ведь я, как и все участники чата, ограничен во времени.
15:51
Ответ "с какой целью интересуетесь" тоже не самый лучший.
15:52
Мне не важно, как оно устроено внутри на данный момент. Вопрос в том, что стало с функционалом системы.
AM
15:53
Alexey Morozov
относительно какого момента времени?
ДБ
15:54
Денис Будяк
Нда, вот этот вопрос действительно хороший и я на него ответить не могу. У меня чувство, что лучшие годы A2, когда реально много людей начали на ней что-то делать, далеко позади. С тех пор на ней проводились разные эксперименты и в итоге система во многом пришла в упадок.
15:54
Вот по сравнению с лучшими годами.
15:54
Я эти годы назвать не могу, у меня недостаточно знаний.
15:54
(я имею в виду назвать конкретную цифру года).
AM
15:55
Alexey Morozov
на А2 много людей и не работали
15:55
насчет упадка ты не прав
15:56
я А2 использую для встроенных систем и меня она в этом плане устраивает
ДБ
15:56
Денис Будяк
Я слышал, "то перестало работать, это сломалось". И я сейчас слышу "я вот это буду чинить, а я вот это буду чинить". А вот "впилили новую такую-то фичу и ещё такую-то" я пока не слышал.И всего лишь хочу заполнить свои пробелы, в надежде, что эти улучшения есть.
AM
15:57
Alexey Morozov
многое приходится делать самому - это правда
ДБ
15:57
Денис Будяк
Те, кто начал использовать A2 для бизнеса, видимо, начали делать это достаточно давно и они используют какую-то достаточно старую версию. ВО всяком случае так кажется извне.
15:57
Делать - это одно, а чинить наперегонки с upstream, которые всё ломают - это совсем другое.
AM
15:57
Alexey Morozov
нет - я использую последнюю версию
15:58
делаем и чиним в зависимости от приоритетов
СЗ
15:59
Сергей Зорин
Денис, есть экспериментальные вещи, которые меняются со времением, удаляются, заменяются на другие, их использование чревато. Если их кто-то использует, нужгно быть готовым к проблемам.
AM
16:01
Alexey Morozov
да, к примеру, у текущего релиза есть большая проблема со сборщиком мусора
ДБ
16:01
Денис Будяк
А есть ли какой-нибудь changelog и список того, какие вещи являются экспериментальными, а какие - нет?
AM
16:01
Alexey Morozov
после важных изменений в компиляторе
16:02
через несколько дней Феликс исправит проблемы и более того выложит реализацию concurrent garbage collector, который не будет блокировать всю систему во время сбора мусора
ДБ
16:03
Денис Будяк
Кстати, неблокирующие алгоритмы - это довольно стрёмная тема.
16:03
Если говорить вообще
16:03
Возможно, в данной работе описаны какие-то частные случаи, в которых всё ок.
AM
16:04
Alexey Morozov
в этой работе было разработано рабочее ядро
ДБ
16:04
Денис Будяк
Но у меня есть время только на прочтение реферата. Если внедрение неблокирующих алгоритмов - это и есть та инновация, ради которой было отломано много полезных функций, то я не уверен, что мне такое изменение интересно.
AM
16:04
Alexey Morozov
а вот навеска на ядро А2 - это стремная вещь оказалась
ДБ
16:04
Денис Будяк
Хотя это надо детально разбираться.
AM
16:05
Alexey Morozov
Функций особо никто не ломал
16:05
просто много вещей были доведены до уровня Proof Of Concept
16:06
они изначально криво работали
ДБ
16:06
Денис Будяк
Да, такое уже говорили, это печально
AM
16:06
Alexey Morozov
просто комплекс был создан в научной среде
ДБ
16:07
Денис Будяк
Насчёт concurrent garbage collector - есть какая-то статья или что-то, чтобы было понятно о чём идёт речь?
AM
16:07
Alexey Morozov
а там другие, научные, интересы
16:08
In reply to this message
это в какой-то мере внутреннее улучшение, которое имеет большое значение для эффективной работы всей системы
ДБ
16:08
Денис Будяк
Печально. Система, напичканная proof of concept-ами, может никогда не дорости до промышленного качества
16:09
Хотя для моих целей может и подойти
16:10
Ладно, к сожалению больше времени нет на сегодня. Если ткнёте носом в changelog, буду рад.
25 June 2019
Dmitry Eliseev joined group by link from Ярослав
DE
13:02
Dmitry Eliseev
Всем привет.
SD
13:03
Sergej Durmanov
Добрый день
27 June 2019
СЗ
17:44
Сергей Зорин
Нужна статья на Хабр, связанная с АО или А2. А то давно ничего не было
BT
17:47
Bohdan Troschinsky
Да и Хабр спортился...
СЗ
17:55
Сергей Зорин
он всегда таким был
BT
18:00
Bohdan Troschinsky
Как по мне, раньше было больше статей созидательных, особенно, когда был geektimes
SD
18:01
Sergej Durmanov
In reply to this message
Ну так напиши, ты же там уже публиковал
СЗ
18:10
Сергей Зорин
там достаточно примитивные статьи были) У меня с сочинительством со школы проблемы(((
BT
18:11
Bohdan Troschinsky
In reply to this message
Статьи были великолепные и веселые ;)
8 July 2019
BT
13:18
Bohdan Troschinsky
Dear A2 users

This email is to inform you that we are about to reintegrate a branch
that changes a lot of code to properly use the WORD, SIZE, ADDRESS and
other types instead of the ubiquitous LONGINT type*. This work touches
the signatures of about one third of all modules in the repository, so
it will probably affect your own programs as well, see below. In case
you have unsubmitted work on modules in the repository, we would
immediately suggest to commit them as soon as possible in order to
minimize the amount of conflicts that have to be resolved on your part.

A lof of modules including Strings, Files, Streams, and CryptoUtilities
now use SIZE wherever an index into an array or its length are expected
or returned. Continuing to use LONGINT to interface with these modules
in your work will probably cause the 64-bit compiler to fail. The WORD
type on the other hand replaces the int type in interfaces with C code
and is otherwise used when the actual size of the integral type is not
important for example when storing distinct constants like error codes.
We strongly advise to consistently use these platform-dependent types in
your own code wherever you have used LONGINT for the same purpose. In
addition, positions of streams and files have been widened to 64 bits in
order to support huge filesystems in the future. All duplicated 64-bit
versions of these modules have thus become obsolete and were
consequently removed. If any of these changes affect your code, please
use a proper type definition like Streams.Position wherever applicable
and try to compile it using the 64-bit compiler to make sure your
changes are compatible.

If you require any further information, feel free to contact me.
Thank you very much.

Kind regards
Florian

* The LONGINT type has effectively become a synonym for SIGNED32. It
should therefore only be used if you need a signed integral type of
exactly that size and even then only as part of a type definition
documenting its intent and measuring unit. In all other cases there are
better alternatives by now:

- Use ADDRESS to represent memory ranges.
- Use SIZE for indices and portable counting members of data structures.
- Use UNSIGNEDx or SETx for unsigned values or bit masks of size x.
- Use WORD or even better yet enumerations for storing distinct
constants values.

This eliminates the vast majority of all free-standing occurrences of
the LONGINT type and all of its fixed-sized variations. Mentioning such
a type without a type definition raises the same concerns as magic
numbers do without constants.
11 July 2019
SD
19:22
Sergej Durmanov
В общем, так как для шрифтов нужен рендеринг, то параллельно с портом agg я занимаюсь реализацией поддержки шрифтов otf, ttf, woff2
12 July 2019
Yehor Smoliakov joined group by link from Ярослав
SD
07:33
Sergej Durmanov
Похоже, что Феликс делает generic modules по образу модулы-3. (но полностью реализовал в компиляторе, в отличии от м3, где модули-дженерики прилеплены где-то сбоку, и через это проявляются некоторые проблемы, так как их нужно сначала сгенерировать в отдельные реальные модули, а это можно забыть сделать.
В общем должно получиться вполне таки юзабельно
17 July 2019
Eugene joined group by link from Ярослав
Я
10:51
Ярослав
Товарищи, нас уже 20! 👍
W
10:55
Wlad
Правдо, якась тыша встановылась.... Летнее? :)
BT
10:55
Bohdan Troschinsky
Ага
W
10:56
Wlad
Я вот - тоже - в какой-то полулени дни за днями провожу. Одна отрада - после операции, наконец, кучу наркоты отменили и процедуры сократили. :)))))))
BT
10:58
Bohdan Troschinsky
И то хорошо, здоровье это главное
W
10:58
Wlad
Ой, только сейчас заметил закреплённое сообщение с сылкой на А2 репу!
10:59
Точно - в полусне! :) Забылось...
11:00
Насколько радикально планируется АО+А2 поменять? Что там за планы у народа?
E
11:08
Eugene
In reply to this message
помнится, оберонщики как раз заявляли, что дженерики должны конвертироваться отдельной тулзой в обычные модули, а потом просто импортироваться и всё
SD
12:38
Sergej Durmanov
In reply to this message
Так уже делали для Активного Оберона и обнаружилось, что далеко не айс, когда оно из компилятора вынесено
W
14:31
Wlad
Если честно, до сих пор этой душевной боли не разумею...
E
15:03
Eugene
In reply to this message
боли из-за заката солнца вручную ввиду отсутствия автоматики в компиляторе?
W
15:06
Wlad
Автоматики ЧЕГО?
SD
15:27
Sergej Durmanov
Дженериков
W
15:35
Wlad
А - надо?
E
15:36
Eugene
In reply to this message
Всё, что можно автоматизировать, нужно автоматизировать...
Я
15:37
Ярослав
В больших проектах под каждый контейнер собственный класс описывать напрягает.
По-сути, это бесконечное дублирование одного и того же кода
SD
15:40
Sergej Durmanov
In reply to this message
Если у нас есть файл с шаблоном, и мы отдельной тулзой генерируем по этому шаблону модуль реал щации, который импортируется, то, так как у нас два инструмента - генератор модулей и компилятор, то нужно не забыть актуализировать сгенерированные модули, а, как показывает практика, это не всегда вовремя делают - человеческий фактор-с. Поэтому встроенные дженерики предпочтительней
15:41
В этом плане реализация в ао лучше чем в модуле3
E
15:54
Eugene
а чем реализация в АО отличается от реализации в Аде?
SD
15:55
Sergej Durmanov
Я не был в аде, не знаю)
E
15:55
Eugene
а где-нить можно прочесть описание дженериков в АО?
SD
15:56
Sergej Durmanov
Да ты фантазер)
15:57
Это параметризованный модуль, который при импорте специализируетсЯ
Я
15:57
Ярослав
Да, было бы неплохо прочесть)
SD
16:03
Sergej Durmanov
module M<x, y, z>;

type
T* = record
fX: x; fY: y;
procedure P*( var aZ: z ): z; end P;
end;
end M.
........
W
16:13
Wlad
Параметризируемые модули... Хм... надо обмыслить...
SD
16:14
Sergej Durmanov
Пока что спициализировать модно только типы и нельзя тип ставить в иде базового при расш рении типа, но думаю Феликс починит
16:14
Нет, не модули
W
16:14
Wlad
Параметры модуля - просто имена типов или. - с уточнениями и настройками?
SD
16:14
Sergej Durmanov
Ты же можешь в модуле типы описать
16:15
То есть реально такой модуль не сгенерируется
W
16:16
Wlad
Я думаю об этом теперь...
В принципе, если строго обероновской традиции минимализма и простоты следовать, то можно просто именами типов обойтись.
16:16
В параметрах " настраиваемого" модуля.
16:17
Там получится, что мы можем целое дерево по зависимостям-импорту настраивать.... Не?
16:18
При импорте можно параметры настройки указывать ?
16:18
Этим сразу инстанс модуля генерится?
16:19
Я - о планах. Никто ничего ещё не обсуждал с той стороны?
SD
16:21
Sergej Durmanov
In reply to this message
Так это уже работает
16:22
In reply to this message
У тебя странное воспричтие понятия «по оберонов,ки»)
W
16:22
Wlad
Так я не видел нигде док по инстанцированию запараметрезированных модулей.
16:24
Блин работает подстановка- исправление вводимого текста, а в настройках на ленове не видно, где это отключается.
SD
16:24
Sergej Durmanov
Специалиизруется при импорте import M<longint, real, complex>, M1 := M<size, address, word>
W
16:25
Wlad
Всё. Вопросы отпали.
16:26
Так. С м1 - понятно. А как к элементам м обращаться?
SD
16:28
Sergej Durmanov
M.T ))) как к сущностям обычного модуля
16:40
In reply to this message
А их нет, это экспериментальная реализация и будеит метяться в сторону расширения. Чтобы прлностью разобраться, можно почитать про модули дженерики в модуле3
18 July 2019
E
07:20
Eugene
In reply to this message
Какие ограничения на параметры модулей можно накладывать?
SD
07:22
Sergej Durmanov
Пока никаких — это начальная реализация
W
11:09
Wlad
П
Программирование {BookFlow} 18.07.2019 10:27:07
ДБ
11:24
Денис Будяк
Мало того, что лето, так ещё и полнолуние 17-го. У любого посетителя интернет-сборищ список полнолуний должен быть под рукой. Вот с другого форума ща принесу
Я
11:25
Ярослав
Ретроградный Меркурий... 😃
W
11:26
Wlad
Я из-за картинки больше запостил.
Самую суть отражает. :)
SD
11:26
Sergej Durmanov
In reply to this message
После правильного рефакторинга оного должна получиться елочка. Зеленая и с новогодними игрушками
ДБ
11:26
Денис Будяк
Я про комментарии, которые были чуть выше, про рост численности участников
11:27
Без подписи картинка не так хорошо понятна
W
11:27
Wlad
In reply to this message
Дык - на картинке же всё...
ДБ
11:28
Денис Будяк
Про ёлочку на картинке не нашёл. Или про ёлочку - это уже творческое развитие?
11:28
Но может быть, кто-нибудь подскажет, как запустить A2 на вирт. машине? Я вижу, что там есть vmx и vmdk, но vmx очень маленькие. Это прямо так и надо запускать?
SD
11:29
Sergej Durmanov
Я только старые iso запускал
ДБ
11:29
Денис Будяк
Или нужно ещё как-то поколдовать с GenerateVMImages.text?
W
11:30
Wlad
А я обычно инстолю в образ
ДБ
11:31
Денис Будяк
А где берут эти iso? Запускал ли кто-нибудь под VirtualBox?
Я
11:34
Ярослав
Я же на форуме писал. HDD образ вполне хорошо запускается. Возможно и под VirtualBox
ДБ
11:38
Денис Будяк
Нашёл большую инструкцию здесь, но у меня есть на это дело минут 20, не больше. Точно не успею. Сейчас скачаю один образ, попробую запустить на машине по умолчанию, а там - как пойдёт.
ДБ
12:01
Денис Будяк
Чудо! Оно запустилось.
12:01
Только почему-то довольно долго загружалось.
W
12:37
Wlad
В чём ?
ДБ
12:48
Денис Будяк
Windows 10, Oracle virtual box
12:48
никакого железа в вирт.машине не менял. Ноут ASUS Rog
ДБ
13:25
Денис Будяк
Ищем разработчиков для разработки статических анализаторов. На данный момент - в рамках инфраструктуры llvm, мечтаем перейти на ocaml
E
13:45
Eugene
In reply to this message
резонный вопрос -- почему не на хаскель?
13:46
и что значит -- мечтаем?
надо? взяли и перешли...
13:47
и вообще, это вопрос больше для компиляторной группы, странно, что ты, Денис, ещё не там: https://t.me/CompilerDev
ДБ
14:54
Денис Будяк
Не знаю, может быть, я непонятно выразился, но мы ищем людей на работу, в штат, за деньги. Кому интересно - шлите резюме. Обсуждать здесь детали не получится
SD
14:54
Sergej Durmanov
OCaml наше всё, а вот щачем хаскель я даже не знаю — это же сплошное извращение
E
15:03
Eugene
In reply to this message
окамль морально устарел после появления хаскеля, как-то так...
15:06
In reply to this message
"Мы" -- это кто, если не секрет? Местная группа "A2 Operating System" или какая-то компания? Насколько я помню, ты сам ещё недавно искал работу...
ДБ
15:31
Денис Будяк
НПО Эшелон
SD
15:37
Sergej Durmanov
In reply to this message
Да ты шутник))) но у Окамла таки есть потенциальная проблема— нужно по нить про скопы, когда и,пол.зуешь in
E
15:48
Eugene
не, ну так-то, конечно, уж лучше окамль, чем с++, но вообще спорный вопрос -- зачем нужен окамль, когда есть хаскель, раст, скала...
SD
15:49
Sergej Durmanov
Потомучто камло человечней)
E
15:50
Eugene
In reply to this message
странно, что у вас нет указанной тобою вакансии: https://npo-echelon.ru/about/vacancies/
15:52
In reply to this message
кстати, эксельсиоровцы свой JET последние годы пилили на скале, но они были привязаны к JVM, так что про них всё ясно...
15:59
кстати, если вакансия касается окамла, имеет смысл разместить её в чатах по окамлу:
https://t.me/ocaml_ru
https://t.me/reasonml_ru
ДБ
16:08
Денис Будяк
Я не могу всё это обсуждать, извините :)
19 July 2019
E
09:28
Eugene
In reply to this message
о! я нашёл вам кандидата!
https://twitter.com/broadway_lamb/status/1151907362506190852
ДБ
12:59
Денис Будяк
Спасибо, свяжемся с ним.
13:04
Вы его как нашли? Мы хотим сослаться на то, через что или через кого мы нашли его резюме.
E
13:12
Eugene
ссылку на его твит разместили в чате компиляторщиков https://t.me/CompilerDev
ДБ
13:13
Денис Будяк
Спасибо!
21 July 2019
W
13:15
Wlad
народ! посоветуйте наиболее (на вашу имху) адекватный irc клиент.
Я
13:24
Ярослав
Когда-то (лет 20 назад) сидел в mirc
SD
13:50
Sergej Durmanov
mirc
Victor Miasnikov joined group by link from Ярослав
E
17:49
Eugene
В оперетбыл норм ирк клиент
22 July 2019
SD
19:32
Sergej Durmanov
Ярослав, помнитс ты говорил, что в етхз должна выйти среда для разработки под андроид. Где-то ечть инфа об этом?
23 July 2019
СЗ
11:04
Сергей Зорин
In reply to this message
на обероне?
SD
11:06
Sergej Durmanov
In reply to this message
Без понятия
Я
11:35
Ярослав
Это я такое говорил? По-моему, Алексей Морозов что-то говорил
СЗ
11:51
Сергей Зорин
вроде ничего не гуглится
11:52
может это от Флориана, у него же тоже есть свой компилятор
24 July 2019
W
10:38
Wlad
Народ!
Смотрите, какая трабла: купил ноут. Без ОСи. Поставил сначала Windows. Экран на максимальной выставленной яркости был как фонарик (ну - прямо, как в голливудских филмах "про хакеров" - можно было вместо проектора на лицо избражение пускать). Поставил Ubuntu 18.04. На выставленном максимуме, по осчусчениям процентов 30 яркости выдаёт.
Куда надо полезть в настройках? (В настройкас БИОС смотрел - ничего относящегося к делу не увидел...)
BT
11:22
Bohdan Troschinsky
Дрова обновить
11:22
А кнопки регулировки оидельно есть?
SD
11:37
Sergej Durmanov
Ну гамму проверить
11:38
Да и вообще, ечли у тебя все было белое, а на другой оси цве овая схема более мягкая, то такие ощущения и будут
W
16:23
Wlad
In reply to this message
Дык в том-то и дело, что и там, итам - всё кастомное и одинаковое.
Кроме визуально воспринимаемой яркости.... :(
16:23
Я уже и проприетарные драйвера для Линуха поставил.....
СЗ
16:25
Сергей Зорин
а у винды цветовая схема какая?
W
16:26
Wlad
Та, что по умолчанию проставилась. Буквы не помню.
СЗ
16:26
Сергей Зорин
а винда какая
W
16:26
Wlad
ВИнда - 7
СЗ
16:26
Сергей Зорин
ну так в убунте темнее тема
W
16:27
Wlad
Да? То есть - по умолчанию? Хмыыыы....
VM
16:28
Victor Miasnikov
Есть Windows 10 1809 LTSC ,
правда без Edge ...
Я
16:29
Ярослав
А в настройках электропитания в винде экономичный режим если выбрать...
W
16:32
Wlad
ВИнда уже снесена.
VM
16:34
Victor Miasnikov
In reply to this message
Т.е. Windows 7 снесена. В Win 10 - есть шансы. Линукс - в VM ( Hyper-V )
W
16:35
Wlad
Хо! Оказывается не я один с таким горем! Кое-что нагуглил. Если бубен поможет - отпишусь здесь.
СЗ
16:35
Сергей Зорин
там еще есть цветовые профили, так что вполне вероятно что там гамма накручена
16:44
Не, ну в ноуте же есть возможность изменить яркость , в винде настройки точно сохраняются у меня было Fn+клавиши влево\вправо
Я
16:46
Ярослав
Ну, да в настройках электропитания ползунок
25 July 2019
W
19:29
Wlad
Давайте на общеархитектурные темы поговорим? Тянет - просто з нэлюдською сылою. Особливо - после двух прочитанных лекций в Харькове и Одессе по поводу активных объектов.
Натурально - зудит и не отпускает. :)
SD
19:30
Sergej Durmanov
Ну так ты говори, мы слушаем
Я
19:31
Ярослав
Уши навострили
W
19:34
Wlad
В процессе подготовки материалов докладов и - потом - во время ответа на вопросы (как всегда плавно перетикавших в дискуссии), наклюнулось понимание неких базовых принципов по построению систем, основанных на активных объектах.
причём, именно в том понятии, которое реализовано в Активном Обероне и Зонноне.
Сейчас я постараюсь сформулировать и озвучить эти принципы-мысли-намётки, а вы - поопонируйте и выскажете свои замечания или оппозитные точки зрения. Это точки зрения желательно, что бы были из вашего собственного опыта и его переосмысления.
19:36
————————————————————-
Может быть лучше некие статьи-затравки на Оберонкоре поместить?
SD
19:37
Sergej Durmanov
Я думал у тебя тезисы)
W
19:38
Wlad
Для озвучивания тезисов, придётся предварительно немного "сопли пожевать" на тему "откуда чего растёт и почему такое выросло".
19:38
Так, а сейчас я ужинать пойду..... :)
SD
19:39
Sergej Durmanov
Тогда я спать
19:39
У меня скоро полночь
DE
19:40
Dmitry Eliseev
Это как-то перекликается с теорией акторов?
26 July 2019
SD
09:40
Sergej Durmanov
Хде тезисы?
ДБ
15:14
Денис Будяк
Откуда выросло не знаю насколько важно. а мне, как дилетанту, интересно сопоставление активных объектов с аналогами. Потому что есть тенденция придумывать новые названия для уже известных вещей. Это обычно делается с маркентинговой целью. Нужно запутать потенциального клиента и выдать старое за новое. Вторая, не менее важная вещь - создать у клиента чувство, что он отстал (ведь он не понимает, что за термин мы ему предлагаем), и что надо заплатить нам совсем немного денег, чтобы мы взяли его за руку и подтянули в первые ряды идущих в ногу с прогрессом. Как правило. это легко раскрывается, но на это нужно потратить определённые усилия. Будет здорово, если удастся избавиться от этой процедуры и если будет сразу честно показана роль активных объектов среди других технологий.
E
15:48
Eugene
по идее, активные объекты -- это просто процессы с каким-то состоянием и интерфесом, в других языках их могут называть акторами, агентами, т.д.
SD
15:55
Sergej Durmanov
Это не процессы с состоянием, это объекты с активностью.
15:55
Вот активность это процессс с состоянием
ДБ
16:11
Денис Будяк
Отлично, дискуссия началась :)
16:12
Интересно было бы сопоставить, к примеру, с процессами юникса.
16:12
С тем уклоном, что давайте выкинем юникс и возьмём А2. Для этого надо показать преимущества.
SD
16:50
Sergej Durmanov
In reply to this message
Ну, сказать так можно, но это будет сотрясанием воздуха - нельзя прос о взять и заменить. Потому что затраты будут весьма немаленькие. С одним ядром далеко не уедешь
ДБ
16:54
Денис Будяк
Ну какое-то неконструктивное высказывание.
16:55
Понятно, что не просто взять и заменить.
16:55
Но в целом для любой ниши уже есть своя ОС. Если мы пытаемся внедрить A2, то кого-то придётся подвинуть
SD
16:56
Sergej Durmanov
Ну так двигать нужно готовым решением
ДБ
16:56
Денис Будяк
Если у нас сразу настрой из серии "ах, это так много работы, что лучше и не начинать", тогда давайте пойдём лучше пивасика выпьем или в футбок поиграем.
16:56
У кого оно есть?
16:56
У решения должен быть фундамент.
16:57
Я сейчас ставлю для себя задачу так - показать потенциальные преимущества и попытаться выбить ресурсы на разработку.
SD
16:57
Sergej Durmanov
Оно есть у Алексея Морозова и Сергея Зорина и еще в нескольких местах
16:57
Это узкоспециализированные решении
ДБ
16:58
Денис Будяк
Они чем-то лучше юникса, кроме того, что кто-то принял волевое решение взять A2?
16:58
Для своих ниш, я имею в виду?
17:01
В общем, Сергей, Вы как хотите, а я не вижу большого конструктива в вашем замечании. Меня продолжает интересовать, что такое активные объекты, и их сравнение с процессами юникс. Я не вижу причин, почему этот вопрос не имеет права быть поставлен, и на него получен ответ. Развитость, наличие готового решения - это всё не имеет отношения к сравнению самих концепций.
SD
17:01
Sergej Durmanov
Нужно рассматривать всю систему в целом , включая язык, конечко. Есть, так сказать, синергические преимущества
17:02
Что такое активные объекты и сравнение есть в папире от Мюллера
ДБ
17:03
Денис Будяк
Я не против рассматривать в целом, но и по частям тоже можно рассматривать. Процессы юникс выражают определённую абстракцию. В плане рассмотрения процесса и потоков stdin, stdout, stderr эта концепция довольно чёткая. Работа с файловой системой - уже менее чёткая, поскольку нет нормальных средств для защиты от конфликтов между процессами.
17:03
Далее в юникс есть определённые инструменты для мониторинга активности процессов, тот же strace. Они не идеальны!
DE
17:03
Dmitry Eliseev
Ну преимущества тут в том, что язык/среда следит за границами доступа
SD
17:04
Sergej Durmanov
In reply to this message
А я тебе конструктивно говорю - проникнуть в нишу можно только с конкретными решениями
ДБ
17:05
Денис Будяк
> Что такое активные объекты и сравнение есть в папире от Мюллера
17:05
Ну тут ведь кто-то хотел выступить? Бумаги можно и без телеграма почитать
17:06
> проникнуть в нишу можно только с конкретными решениями
SD
17:06
Sergej Durmanov
In reply to this message
Ну вот ушел завтракать)
ДБ
17:06
Денис Будяк
И что дальше? Теперь нельзя уже сравнить активные объекты с процессами юникса? Почему такая попытка перевода темы?
17:07
Ладно, ждём, пока желавший выступить не сможет больше сдерживать это желание и всё же выступит :)
SD
17:11
Sergej Durmanov
In reply to this message
На самом деле это не преимущества. Потому что первый залетевший дятел порушит всю систему. У систем с общей памятью есть, свои преимущества в виде отсутствия тормозной прослойки и упрощения взаимодействия, но, конечно, есть и недостатки. В связи с чем, это не может быть общим решением. Где-то оно хорошо, гдето не стоит и пробовать. Так же как и другие решения
DE
17:12
Dmitry Eliseev
Тут замкнутая система, откуда тут дятлы?
SD
17:12
Sergej Durmanov
Кто ее замкнул-то?
DE
17:14
Dmitry Eliseev
Авторы. Никто не может нормальными/стандартными средствами залезть в чужую память
SD
17:15
Sergej Durmanov
Вполне хорошим решением может быть какая-нибудь виртуализация, где есть много самостоятельных ядрышек внутри которых нет аппаратной защиты , но сами они изолированы друг от друга
17:18
Или даже пусть эти ядра работают отдельными процессами, которые тоже отделены аппаратной защитой
DE
17:19
Dmitry Eliseev
Как быть с процессорами без аппаратной защиты? Зачем это Оберону?
SD
17:20
Sergej Durmanov
In reply to this message
Ну вот у меня сервер, пользователи никак не изолированы друг от друга ? Делай что хошь, у тебя полный доступ в памяти в любой точке.
DE
17:21
Dmitry Eliseev
Не надо путать тёплое и мягкое
SD
17:21
Sergej Durmanov
In reply to this message
Такие процессоры используются в конктретных решениях. Мы же говорим об общем при енении в плане выбрасывания юник,В
DE
17:22
Dmitry Eliseev
Что есть пользователи?
Я
17:22
Ярослав
In reply to this message
Скорее, нити. Декларируется, что активные объекты дешёвые и их можно безболезненно создавать тысячами штук
SD
17:23
Sergej Durmanov
Ну в контексте описания тех процессов нет разницы. В реальном применении есть. Понятно, ч о а2 это система с одним процессом
DE
17:23
Dmitry Eliseev
Их можно создавать миллионами именно потому, что они не используют аппаратной защиты процесса, а все крутятся в одном процессе
SD
17:24
Sergej Durmanov
In reply to this message
Потому что а2 это система с одним процессом. И внутри процесса создаются нити, которые имеют полный доступ к памяти процесса. Так понятней проблема?
DE
17:25
Dmitry Eliseev
В а2 это не проблема.
SD
17:26
Sergej Durmanov
In reply to this message
Не важно. Любой удаленный и локалный пользователь. Логические, потому что а2 однопользовательская
Я
17:27
Ярослав
In reply to this message
Свой процесс запускается на каждом ядре процессора
SD
17:27
Sergej Durmanov
In reply to this message
Эта проблема есть во всех системах с общей памятью
17:28
In reply to this message
Эммм, где ты такое видишь?
Я
17:28
Ярослав
В диссере так было написано
SD
17:28
Sergej Durmanov
Нету такого
DE
17:29
Dmitry Eliseev
Да, во всех системах есть, а в а2 из проблемы сделали преимущество, потому что одна система - один язык - детекция нарушений во время компиляции
SD
17:30
Sergej Durmanov
In reply to this message
В диссере написано, что и модуль может иметь активность
DE
17:30
Dmitry Eliseev
Не вижу проблем с этим
Я
17:31
Ярослав
In reply to this message
По-тому, что тело модуля - процедура. Логично
SD
17:32
Sergej Durmanov
In reply to this message
Проблема при этом никуда не делась - я с помощью модуля SYSTEM или асма полжу всю систему
17:33
In reply to this message
Ну так логично, но в реализации этого нет
17:33
Кроме того не во всех процах есть разделение на процессы и нити
DE
17:34
Dmitry Eliseev
Хозяин - барин, если у программиста цель положить систему, то о чем разговор
17:34
Но асм для начала придётся написать
17:34
А модуль систем можно и запретить для активностей
Я
17:40
Ярослав
A2 наверное неплохо бы подошла для встраивания в контейнеры Docker / Kubernetes для обслуживания веб-сервисов
SD
17:40
Sergej Durmanov
In reply to this message
Если бы да кабы в носу росли грибы. Сейчас нет таких средств. Мы же говорим о реальности
Я
17:41
Ярослав
Малый размер был бы хорошим преимуществом
DE
17:41
Dmitry Eliseev
In reply to this message
Для начала нужно научить её быть веб сервисами
Я
17:44
Ярослав
In reply to this message
Ну, сервисы же можно на ней поднимать. Доводить до промышленного уровня конечно же это всё надо
DE
17:47
Dmitry Eliseev
In reply to this message
Теоретически - да. Практически это замкнутый круг. Сам по себе сервис никому не интересен. Он должен взаимодействовать с окружающим миром: db, ldap, mq,... Для этого нужно писать модули сопряжения...
17:48
Я пока вижу только одну нишу, куда можно попробовать вписаться достаточно безболезненно - умный дом
17:54
In reply to this message
Ассемблер под а2 реален? Можно ссылку на него?
ДБ
17:55
Денис Будяк
Ок, один вопрос на повестке дня у нас есть. А как насчёт концепции потоков stdin/stdout?
Я
17:56
Ярослав
In reply to this message
Реален. И условная компиляция появилась. Можно все ассемблер процедуры под разное железо в одном модуле держать
ДБ
17:56
Денис Будяк
Я целю в нишу,cвязанную с доверенностью. Отсутствие разграничения прав этому вроде противоречит, но действительно можно сделать много ядер, не видящих друг друга.
17:56
Много других плюсов налицо
17:57
Надёжный язык, простота системы - чем проще, тем надёжнее.
Я
17:57
Ярослав
In reply to this message
Есть же объект Контекст, в нём и in и out
DE
17:57
Dmitry Eliseev
In reply to this message
Теряется профит от пользования общей памятью
17:59
In reply to this message
В диссертации этого не было. Не знаю что ими двигало, когда ассемблер стал реален, но похоже они срубили сук на котором сидели
SD
18:02
Sergej Durmanov
In reply to this message
Посмотри на qubes
Я
18:05
Ярослав
In reply to this message
Да, неплохо бы запретить ассемблер если не импортируем SYSTEM
SD
18:06
Sergej Durmanov
In reply to this message
В том или ином виде оно там всегда присутствовало, ручками кодируй инструкции ( как у Вирта ) или настоящий асм. Это ничего не меняет
18:11
Когда а2 появилась, общая разделяемая память и модель с одним процессом давала преимущества - быстрое переключение контекста, быстрые системные вызовы. Но железо и софт совершенствовались и посмотри теперь на время перключения в линупсе и время вызова системных функций и сравни с а2. Табличка есть в работе Флориана.
18:12
Потому локфри версия в чем то лучше. Но я не вижу рабочей сборки
18:21
In reply to this message
Он никуда не теряется, потому что внутри каждого ядра полный доступ. На каждом ядре свои задачи, которые не гадят друг другу, так как изолированы. Хотя они по прежнему гадят внутри ядра. Но это хороший компромисс
18:22
Смотри qubes os
DE
18:32
Dmitry Eliseev
Однако есть тенденция к возвращению "процессов" без переключения контекста, например, корутины в Котлине и их ожидание в Джава и Скала
SD
18:54
Sergej Durmanov
In reply to this message
Я не знаю, о каких контекстах ты говоришь. Я же говорю об аппаратной поддержке процессов/нитей и колец защиты и там и там есть переключение контекста, хотя там разная семантика. Вот смотри, если у нас процессы, то, например, при переключении на другой процесс, нужно сохранить состояние текущего в специальной области , а у лругого восстановить. Это не только регистры общего назначения. нужно не забыть про сопроцессор, ммх и тд. Все это не бесплатно. Есть еще контекст при обращении к другому кольцу защиты. Я не понимаю о каких процессах, у которых не нужно сохранять и восстанавливать контекст ( то есть переключать контекст), ты говоришь
18:58
При использовании тредов все намного проще и быстрее, но и здесь ((по понятным причинам) от переключений не уйти
19:00
Можно уйти от аппаратных переклбчений с корутинами, но они про конкурентность а не многопоточность
DE
19:03
Dmitry Eliseev
In reply to this message
Их как раз позиционируют как легковесные треды
19:06
In reply to this message
Я знаю как это работает. Идея а2 о другом. О том, что если на этапе компиляции компилятор сможет отследить все проблемы с использованием общей памяти, то это дешевле чем использовать аппаратные средства.
19:07
Определённо, когда исходное условие не соблюдается бесполезно говорить о следствиях
SD
19:08
Sergej Durmanov
In reply to this message
В а2 как раз используются аппаратные средства ) даже виртуальная память. у тебя странное представление об а2
DE
19:09
Dmitry Eliseev
Какая виртуальная память на 8086?
SD
19:09
Sergej Durmanov
In reply to this message
Компилятор не отслеживает проблемы с общей памятью
19:10
In reply to this message
Где ты видишь а2 на 8086?
SD
19:37
Sergej Durmanov
In reply to this message
Что дальше-то было? А то я спать собираюсь
W
23:17
Wlad
Ребята, вы все - не о том.
Потерпите немного ещё.
Я
23:23
Ярослав
Так терпим же. Разминаемся пока)
W
23:30
Wlad
И это - хорошо. Я почитал - начал немного представлять, о чём писАть и как построить изложение.
23:31
Может таки начать на оберонкоре?
Я
23:36
Ярослав
Да, где угодно. Сюда бросить ссылку
27 July 2019
W
02:47
Wlad
Готов выслушивать замечания и соображения
https://forum.oberoncore.ru/viewtopic.php?f=86&t=6417
СЗ
11:15
Сергей Зорин
In reply to this message
это несопоставимые вещи. Как уже сказали, активный объект - это пассивный объект + активность. Когда у активного объекта активность завершится, он станет обычным пассивным объектом. Вот активность можно сопоставить с процессом. Активный Объект более высокоуровневая сущность. И они не бесплатны. Есть некоторый оверхед, и особенности, что не позволяет ао\а2 назвать серебрянной пулей( а я иногда вижу такие утверждения). Когда мы говорим об активных объектах, нельзя забывать о средствах синхронизации, которые достаточно прозрачно отображаются на язык. И наоборот, языковые средства так же прозрачно отображаются на реализацию примитивов. Это, конечно, несомненный плюс в карму. Нет разрывов. Активный объект также обеспечивает среду выполнения специальными очередями (индивидуальными для каждого объекта ) - ожидание выполнения условий await, ожидание входа в монопольную область... Также не стоит забывать про мониторы. Хотя в АО instance-based monitor, областями синхронизации могут выступать модули, статические( глобальные и локальные) записи, и динамические объекты. Такая структура модуль-запись-объект дают нам в руки мощные и достатчно прозрачные средства для плстроения сложных систем ( с множеством управляемых точек синхронизации).
11:17
на а2 можно смотреть как на многопоточное приложение, выполняющееся ннепостредственно на железе. Со всеми достоинствами и недостатками такого подхода.
СЗ
11:37
Сергей Зорин
In reply to this message
да, виртуализация или иная изоляция ядер не помешала бы. особенно, когда можно использовать одновременно разные ядра.
11:38
и в ethz есть такой проект - ос с множеством разных ядер
W
11:41
Wlad
In reply to this message
"Вот активность можно сопоставить с процессом. "
НИ В КОЕМ СЛУЧАЕ!
Я
11:42
Ярослав
In reply to this message
Вот, да. Если рассматривать активные объекты с позиций ООП, то вполне вписываются в картину
11:45
In reply to this message
Как тогда активности запускаются на разных ядрах?
СЗ
11:47
Сергей Зорин
In reply to this message
так речь идет о сопоставлении а не о том, что между ними стоит знак равно
W
11:48
Wlad
Ещё Сергию (да и - остальным коллегам):
————————————
Друзья!
Отвыкайте от проведения аналогий между активными объектами а ля АО и ривычными понятиями из многозадачности современных ОС.
Они верны только до тех пор, пока мы пытаемся проводить разъяснения идеологии АО-активных объектов людям, уже "нагруженным" мейнстримом.

В остальном же - это просто дело реализации исполнимых сущностей (активностей), тем, что имеем под руками на более низком уровне.

Главное - надо "плясать" именно от высокоуровневых понятий, который предоставляют АО и З.
11:48
In reply to this message
Хорошо. Пока писАл, не увидел, что ваше сообщение пришло.
11:49
Именно "пляска" от уровня АО даёт преимущества, прежде всего, уже на этапе проектирования.
11:51
In reply to this message
А в чём проблема? Есть реализация активностей неким механизмом низкого уровня. Есть понятие "сохранения контекста". Взаимосвязь - двухсторонняя.
Тут главное, что бы МЕХАНИЗМЫ ОС ЗНАЛИ О ТОМ, ЧТО МИР - ОБЪЕКТНО-ОРИЕНТИРОВАННЫЙ.
ДБ
11:52
Денис Будяк
Сейчас прочитаю тему на форуме. В целом я не приветствую, когда меня предлагают отказаться от моего понятийного аппарата. Гораздо лучше иметь конвертер между понятийными аппаратами. Например, в Хаскеле очень много новых понятий навязывают. А потом выясняется, к примеру, что тайпклассы - это обычные интерфейсы из Java (или не тайпклассы).
11:52
Т.е. на самом деле понятий очень мало и довольно легко составить таблицу конвертации между ними
11:52
Но это должен делать тот, кто понимает.
СЗ
11:53
Сергей Зорин
In reply to this message
Ну хорошо это можно увидеть, например, в реализации WinAos - так вообще явно написано t.handle := Kernel32.CreateThread(0, defaultStackSize, Wrapper, t, {}, t.id);
ДБ
11:53
Денис Будяк
Например, если я предложу так: Активный объект = запись + процесс + набор примитивов синхронизации, обладающих поддержкой компилятора, это будет похоже на правду?
W
11:53
Wlad
In reply to this message
НЕТ.
Я
11:53
Ярослав
In reply to this message
Чего уж "неким механизмом". Там как минимум на ядрышках планировщики висят
W
11:54
Wlad
Лучше, если о нижлежащих уровнях реализации проектировщик ВООБЩЕ не будет знать и задумываться, оставаясь в понятийном базисе АО.
11:56
Кстати, я именно так и поступаю, даже, когда работаю с активными объектами на Си(без плюсов!). И мне - хватает. ДАЖЕ с учётом того, что я работаю в мире ембеддинга, между прочим! :)
СЗ
12:02
Сергей Зорин
In reply to this message
если под записью имеется ввиду статический тип record, то нет, оно должно быть в куче. раньше в АО ключевого слова OBJECT не было, использовался POINTER TO RECORD. Активность не равно аппаратный процесс, так как содержит всякие дополнительные данные, активность связана с аппаратным процессом\тредом
ДБ
12:03
Денис Будяк
Речь не о том, где она лежит. Речь о том, что это составной тип, который содержит "собственное состояние" процесса. После того, как активность закончилась, остаётся просто запись. Можно было бы сказать "объект", но объект - это менее однозначное понятие.
СЗ
12:04
Сергей Зорин
а синхронизация оно немногг сбоку
ДБ
12:04
Денис Будяк
Читаем статью на оберонцоре:
12:04
> Мониторы Хоара-Хансена реализованы в AO через блоки эксклюзивного (на уровне экземпляра класса) исполнения.
12:04
Отличается ли от synchronized methods в java?
BT
12:05
Bohdan Troschinsky
А кто знает, что там с сингулярити от майкрософт? Там же заложены многие идеи с АО
СЗ
12:05
Сергей Зорин
сингулярити на сообщениях, там бОльшая изоляция
BT
12:06
Bohdan Troschinsky
Но тем не менее там используется SIP, как там работают с ядрами...
ДБ
12:11
Денис Будяк
Ничего не понял из статьи, в общем-то. Слишком она большая для меня. Мне нужно понять существенные особенности подхода из A2, а я их не понимаю пока что. Каналы - понимаю, но они как раз есть и в юниксе (те самые потоки ввода-вывода), и в голанге (каналы). У монитора основной вопрос - что является областью его защиты.
12:12
Но если мы посмотрим на SQL, то там мы видим многоуровневую иерархию блокировок. Т.е. как минимум с каждым объектом связано не меньше двух мониторов - на чтение и запись. Далее, объекты (записи в таблицах) могут быть заблокированы оптом, когда мы блокируем таблицу. Опять же на чтение или запись.
СЗ
12:13
Сергей Зорин
In reply to this message
насколько я помню, там гарантируется что именно в synchronixed не может быть множественного доступа, а в ао монитор на уровне экземпляра
ДБ
12:13
Денис Будяк
Здесь возникает возможность клинчей и систему разрешения клинчей. Системы разрешения клинчей я встречал в разных системах, где есть параллельность, и пришёл к выводу, что либо люди не научились созавать системы без клинчей, либо клинч - это некий фундаментальный феномен в природе, который может возникать и в параллельной системе. Скорее второе.
12:14
(извините, плохо назвал систему разрешения клинчей монитором клинчей, что вводит в заблуждение)
СЗ
12:14
Сергей Зорин
In reply to this message
монитор защищает экземпляр вцелом - модуль-запись-объект
ДБ
12:14
Денис Будяк
Так понятно. А если запись находится в модуле, монитор модуля её тоже захватывает?
СЗ
12:14
Сергей Зорин
монитор не связан с активность в общем случае
12:15
In reply to this message
нет, защищаются процедурный доступ
ДБ
12:15
Денис Будяк
Любые процедуры или автоматически все процедуры объекта?
12:16
Т.е. это я выбираю, какие процедуры защищать, или это предопределено разбиением всего мира на объекты?
СЗ
12:17
Сергей Зорин
In reply to this message
не только процедуры, но и участки кода, чтобы минимизировать время блокировки
ДБ
12:17
Денис Будяк
Если это выбираю я, то при наличии более чем одного монитора возможен клинч. Какие инструменты в A2 есть против этого?
СЗ
12:17
Сергей Зорин
то есть отличие монитора в ао то, что можно наблюдать несогласованные состояния через незащищенные методы
12:18
In reply to this message
подробней о чем ты
12:19
ты отличай монитор и активность
12:19
это разные вещи
ДБ
12:20
Денис Будяк
Ну, есть две процедуры П1, П2 и два монитора М1, М2. П1 захватывает М1,потом захватывает М2. П2 захватывает М2, потом захватывает М1. При параллельном исполнении П1,П2 система может зависнуть.
СЗ
12:21
Сергей Зорин
In reply to this message
захватывает не процедура, а активность
VM
12:22
Victor Miasnikov
In reply to this message
Но, насколько знаю, мониторы Хоара, как раз, в отличие от семафоров и прочего низкоуровневого, не способствует "клинчам". Их, кстати, и в ADA добавили из-за их надёжности.
ДБ
12:22
Денис Будяк
Активность А1 вызывает процедуру П1, активность А2 вызывает процедуру П2. Так лучше?
СЗ
12:23
Сергей Зорин
In reply to this message
не лучше, потому что не понятно взаимоотношение. нужен конкретный пример
ДБ
12:24
Денис Будяк
В какой части моего высказывания ошибка? Я не знаю А2, поэтому не могу на этом языке написать. Могу на тредах, к примеру.
СЗ
12:26
Сергей Зорин
смотри, если процедуры P1 и P2 защишены ( по есть монопольны ) и находятся в модуле M1, то обращение активности в любой процедуре P1 или P2 лочит весь модуль - другие активности не смогут обратиться к P1 или P2 - их поставят в очередь
12:27
Клинча не будет, если каждая процедура может захватить в один момент не более одного монитора. Тогда мой пример не сработает. В целом же я пока не убеждён в том, что мониторы Хоара спасают от клинчей.
12:28
In reply to this message
А если они находятся в разных модулях?
СЗ
12:28
Сергей Зорин
In reply to this message
значит залочат разные модули
VM
12:28
Victor Miasnikov
In reply to this message
И там "семафоры слишком" низкоуровневы
ДБ
12:31
Денис Будяк
In reply to this message
А1 вызывает Мод1.П1 и лочит модуль Мод1, потом вызывает Мод2.П2 и лочит модуль Мод2. А2 вызывает П2, которая взывает последовательно Мод2.П2 и Мод1.П1. Так будет клинч?
12:32
ну или есть ещё модуль Мод3, который является клиентом Мод1 и Мод2, чтобы не возникало вопросов, как такое может случитья :)
СЗ
12:35
Сергей Зорин
In reply to this message
Когда потом? порядок вызова не ясен. откуда вызывается Мод2.П2? Из Мод1.П1?
12:38
»2 вызывает П2, которая взывает последовательно Мод2.П2 и Мод1.П1. Так будет клинч?—- откуда здесь клинч? А2 будет ждать освобождения ресурса. но это не клинч
12:38
у тебя А1 и А2 не взаимозависимы
ДБ
12:41
Денис Будяк
модуль Мод1;
процедура П1;
begin М1.Захвати; М2.Захвати; end
end Мод1

модуль Мод2;
процедура П2;
begin М2.Захвати; М1.Захвати; end
end Мод2

модуль Мод3; Использует Мод1,Мод2;
Нить А1; begin Мод1.П1; end;
Нить А2; begin Мод2.П2; end;
тело модуля: А1.Выполни; А2.Выполни; конец Мод3;
12:41
Как-то так
СЗ
12:42
Сергей Зорин
In reply to this message
нельзя просто захватаить - ресурс освободится как только активность выйдет из монопольной секции и все условия пересчитаюися
VM
12:43
Victor Miasnikov
In reply to this message
А где {Exclusive} ?
ДБ
12:43
Денис Будяк
Так мониторы к чему могут относиться в А2?
12:44
Exclusive захватит что?
СЗ
12:44
Сергей Зорин
к модулю, записи и объекту я повторил несколько раз
ДБ
12:44
Денис Будяк
И Exclusive захватывает что?
12:44
из этого списка
СЗ
12:45
Сергей Зорин
In reply to this message
в данной реализации это захват монитора, но он освободится как только захватившая активность выйдет из эксклюзивной секции
12:45
In reply to this message
сущность в которой находится монопольная процедура
ДБ
12:45
Денис Будяк
захват монитора чего? модуля, объекта или записи? Я просто пытался сформулировать проблему на высоком уровне абстракции, так это было прилично
12:47
А вы меня заставляете говорить на языке А2, который я не знаю, и получается, что мы опять говорим на разных языках. Т.е. я пытаюсь от вас получить на абстрактном уровне, как устроена параллельность в А2, а вы меня в неявном виде отправляете читать мануал. Давайте тогда закончим этот не совсем эффективный разговор и я почитаю мануал, правда, не знаю, насколько скоро это случится
12:47
Я попробую в таком виде сформулировать.
12:47
Если у нас есть более одного "деятеля", который может захватывать ресурсы, и более одного ресурса, который можно захватить.
12:47
И при этом, если деятель может одновременно удерживать более одного ресурса,
12:47
То клинч возможен.
12:48
Вопрос: возможен ли клинч в такой форме в А2? Если да, то какие инструменты в А2 предназначены для поведения в этой ситуации?
VM
12:49
Victor Miasnikov
In reply to this message
На уровне исходных кодов это выглядит примерно так:

BEGIN {EXCLUSIVE}
(* здесь защищаемый код *)
END


В теме про Arian был пример подробнее
ДБ
12:49
Денис Будяк
Я могу сказать за golang и линукс - там всё просто зависнет, но мы можем попробовать узнать, какой процесс висит.
12:50
Для диагонстики клинча нужен граф "кто кого ждёт". Я не знаю, можно ли его получить в Linux или golang.