LINUX.ORG.RU

Метапрог-прототип 34 + СУВТ по логическому типу

 , , ,


0

3

Следующая тема:

Метапрог-прототип 42

Подпишусь в поддержку Столлмана Bitcoin-кошельком из первой темы про Метапрог:

Metaprog Project supports Richard Matthew Stallman. Shame to SJW, Big Tech and Big Media. We need to get rid of them or Big Money will enslave us. It is do or die! Stay straight, RMS!

Подпись:

H/3cqHl7HGdAQd9K/io474IbLYlIKi/8R6pw1Vbpz0oTN4kihI5YO4dIdZo2VRdJbSp8kWmtWgC5TRTs0MkBIAo=

Подробности:

Движение отмены Столлмана (комментарий)

Следующая версия:

www.linux.org.ru/forum/development/16219448

Скачать:

https://mega.nz/file/6VJCEboQ#N3pu86bqI31Jp15aHWt6l-FIkY_RUws0CZK9aMcvxZo

В версии 34 исправлен тот же баг что и в 33, но другим способом, так как багфикс из версии 33 вызывал другие баги.

В версии 33 исправлен баг трансляции операций над СУВТ, содержащих структуры. До исправления вместо самих структур производились ошибочные операции с членами структур. К счастью, это было заметно на этапе компиляции сишного кода благодаря сишной типизации.

К выпуску версии 32 неожиданно обнаружилось, что СУВТ может иметь переключатель логического типа. То есть, можно задавать типы на значения «да» и «нет». Никаких изменений для этого вносить с 31 версии не пришлось, надо лишь задавать в определении СУВТ типы по значению СУВТ 0 на «нет» и 1 на «да». Из изменений - некоторые исправления багов (например, с кодогенерацией структур и операций над структурами под указателями), а также экспериментальная фича отрисовки канваса через dll-вызов окошка на SDL, за подробностями обращаться к MOPKOBKA или kote4ka в Метапрог онлайн.

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

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

https://i.postimg.cc/D0W8v7XZ/image.png

Для сравнения - тот же алгоритм на LabVIEW:

https://i.postimg.cc/CLqz9L0r/image.png

Сишная трансляция:

https://pastebin.com/Z8rzvZpQ

Сравнение с тем же алгоритмом на «аналоге» Метапрога с бекендом на python говорит само за себя:

Metaprog здорового человека (комментарий)

В версии 29 - крупные изменения системы типов. «Встроенных» типов, вытягиваемых через меню «структуры», больше нет, все они теперь представлены в стандартной библиотеке. В особенности изменения коснулись числовых типов: теперь такие типы как число, дробь, целое, знаковое и беззнаковое представлены как многотиповые из соответствующих типов. Например, беззнаковое - многотиповой из 8, 16, 32, 64 и 128-разрядных беззнаковых, целое - многотиповой из знакового и беззнакового, число - многотиповой из целого и дробного. Теперь такие типы можно обрабатывать как многотиповые, поступая с числами разных типов по-разному.

В версии 28 переключатель (аналог сишного switch) работает с многотиповым типом. Выполнение схемы происходит только на ветке, соответствующей поданному на переключатель типу. Ветвление происходит не в рантайме (как в случае СУВТ), а при кодогенерации - не соответствующие поданному типу ветки не генерируются. Теперь осталось сделать цикл по структуре.

В версии 27 добавлена удобная возможность создать новую подфункцию, не останавливая весь прототип. Кнопка блоки - новая подфункция.

Также обнаружилась (но пока не исправлена) проблема с терминалом счетчика повторений цикла в цикле по условию - пока что не используйте его!

В стандартной библиотеке добавлено меню «параллелизм» - можно создавать новые потоки средствами стандартной библиотеки Метапрога. Новые потоки можно было создавать и раньше средствами сишных функций, но теперь эта возможность стала частью официальной стандартной библиотеки.

В версии 26 исправлена трансляция циклов при определенных условиях (не всегда корректно транслировались циклы с жесткими последовательностями, идущими к входному блоку).

В версии 25 исправлена трансляция сложных рекурсивных структур с СУВТ.

В версии 24 был исправлен баг транслятора, проявившийся в версии 23: на некоторых схемах (например, отправки данных по TCP) код, отвечающий за поток данных, «вливающийся» в ветки с условиями, мог сгенерироваться после кода самого условия.

В версии 23 исправлен еще один баг с упаковкой проектов, а также баг трансляции условных схождений.

В версии 22 исправлен баг с упаковкой проектов, из-за которого не паковались зависимости из локальных форков. При этом удалось существенно ускорить упаковку проектов.

В версии 21 наконец-то добавлена корректная трансляция схем, содержащих рекурсии. Как пример можно привести схемы из репозитория «разработка интерфейса на нуклеар+» (можно скачать через Метапрог онлайн). В этой схеме отрисовка элементов интерфейса основана на СУВТ (структура условного выбра типа). В этой СУВТ возможны такие элементы интерфейса, как текстовый лейбл, текстовое поле, кнопка и (самое интересное) - линия из элементов интерфейса. В последнем случае происходит рекурсивный вызов функции, обрабатывающей массив из тех же СУВТ элементов интерфейса.

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

Метапрог-прототип 19 + API на СУВТ + ускорение трансляции



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

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

Как ты например будешь через редактор форм привязывать компоненты к данным? А даже если привяжешь (как именно не представляю) то все равно редактор будет бесполезен если компонент активно меняется в зависимости от данных, и ты все равно не сможешь увидеть как он себя поведет.

Лабвью - живой пример этому. Статичные интерфейсы можно, можно даже задавать некоторые свойства, но динамически все менять как в нуклеаре нереально.

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

Метапрогеры в своем репертуаре. На вопрос будешь отвечать или опять прикинешься ветошью?

Ты ждал, пока страница не перелистнется, но я повторюсь, мне не сложно. Как ты объяснишь, что у тебя глючили (глючат?) элементарные циклы в течение двух лет разработки? Что вообще можно сделать на этой поделке, если уровень ее работоспособности настолько низок?

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

Собственно, это единственное и последнее достижение @metaprog на почве программирования.

Забавно, что его ручной клован тоже туда попал. Примазался к славе, цель достигнута.

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

Что вообще можно сделать на этой поделке, если уровень ее работоспособности настолько низок?

Можно создать нормальный тред, когда питон так научится?

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

Можно создать нормальный тред, когда питон так научится?

Еще один «афоризм» клона, который появится вскором времени в статье:

https://lurkmore.to/ЛОР#metaprog

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

После этого коммента у меня вдрух третья «звезда» начала тухнуть. метапроп опять накапал модераторам. Как в статье и было написано. Обижают типа ховноrодера ни за что. :)

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

Можно создать нормальный тред, когда питон так научится?

Во-первых, почему именно питон? Почему не C или C++? Они ведь тоже не графические.

Во-вторых, что за задачу ты решал на питоне, где упирался в GIL?

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

То есть это не ты бегал по другим темам и постил везде тупняк?
Если не ты — меняй пароль.

Из твоих постов вообще можно бреда собрать на целую повесть.

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

«Долго же я спал!» - подумал богатырь.

Это уже несколько раз обсуждалось, было даже целое движение за забан ТСа, но единодушной поддержки оно не нашло. Я тоже высказывался.

Прототип прибит к виндовой версии Лабвью из-за проблем с кодировками. Автор обещает, что Метапрог-на-себе, отвязанный от Лабвью, будет кроссплатформенным.

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

«Долго же я спал!» - подумал богатырь.

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

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

Челик, который ничего не знает о разработке, решил, что щас научит разработчиков как правильно писать софт. Для этого надо сделать ГРАФИЧЕСКИЙ ЯЗЫК, обведя си в квадратики.

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

попытка написать среду разработки похожую на labview, которая умеет собирать нативные исполняемые файлы под целевую платформу. На деле сейчас это приложение под windows, которое умеет выплевывать сомнительного качества исходный код на С, и требует дальнейшей его ручной сборки С тулчейном со всеми вытекающими. Из демо проектов есть будильник, подсчет числа Фибоначчи, чисел Армстронга, неполного квадратного корня и еще что-то было вроде, но я уже забыл. Все что сложнее hello world подтекает по памяти. Также в виду того, что ТС не особо приветствует обучение в принципе все реализации любой задачи наивные и местами даже проигрывали по скорости исполнения решениям на скриптовых языках типа python будучи по факту трансляцией в С. В общем-то работы пока ТС хватает, если хотите помочь - велком.

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

Из выше ссылки:

Больше не нужно изучать английский язык для программирования!

Ну наверное и русский тоже. :))

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

Судя по Открыть много окон SDL2/nuklear в параллельных потоках одного процесса попытка провальная. Учиться сам он не хочет, а разбираться в нагенеренной его транслятором в лапше никто не будет, а котечка эту лапшу не может осилить.

Кстати, почему фанбой метапрога котечка, или как его тут называют «ручной клоун», не дал в том треде адекватного ответа, а тупо повторял вопрос ТСа? Он же в этом треде многократно утверждал, что остальные все нули, а он великий профи.

Котечка, не пора ли самозабанится и новый аккаунт из загашника достать?

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

Ну да, забавно читать про раздутие софта от человека, использующего лабьвью с жирнющим рантаймом

Но с другой стороны человек искренне верит в свой подход и даже что то с прототипом делает упорно

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

Котечка, не пора ли самозабанится и новый аккаунт из загашника достать?

Месяц ещё не прошёл, это уже будет основанием модераторам прибить новый аккаунт сразу после создания.

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

Объясните кто-нибудь, что это за метапрог?

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

С тех пор автор отказался от GTK, почистил предупреждения в генерируемом коде (правда, не знаю, появились ли новые), а ещё обнаружилось вот это

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

Как уже писал — будет свой git

Вау! У Метапрога появился соперник в своей весовой категории.

Но по скринам там опять-таки текстовый ЯП, пусть и более лаконичный.

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

Но по скринам там опять-таки текстовый ЯП, пусть и более лаконичный.

В комментах автор пишет, что язык чисто для отладочных нужд, работает как промежуточный код (как C в Метапроге), а сам процесс разработки завязан на графах и нодах.

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

Я вообще только что узнал, что там есть какой-то поиск. Вероятно им пользовалось полтора анонимуса, и он был написан левой пяткой.

liksys ★★★★
()
Ответ на: комментарий от i-rinat

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

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

Это другое

Какие же антиметапрогеры смешные. Но лучшим я считаю все же ответ «Да мне пофиг что я пишу», вот это реально показывает суть.

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

Какие же антиметапрогеры смешные

Клоун сменил ник, но снова обосрался, не понимая разницу между локальным и удаленным поиском.

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

Лол, сейчас ты как раз победишь оправдываться. Ты просто обосрался и пытаешься опять переводить стрелки. Почему ты путаешь виды поиска? Вперёд.

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

Ага, не заметил существенную разницу, которую гениальный антиметапрогер усмотрел. Ведь никто не использует apt update && apt search для поиска по репозиториям, все ищут по велкому КЕШУ (что это такое я не слышал, и никогда не услышу).

MOPKOBKA ★★★
()

Когда же этот кошмар прекратится а?

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

Первая команда из связки образует этот «кэш», вторая ищет по «кэшу». Заклинания вы знаете, а то как они работают нет?

А по теме отключения поиска через pip

https://pypi.org/search поиск работает, пользуйтесь на здоровье.

и истерика на пустом месте в общем-то, отключение временное о чем и поясняет ошибка

PyPI's XMLRPC API has been temporarily disabled due to unmanageable load and will be deprecated in the near future. See https://status.python.org/ for more information.

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

Первая команда из связки образует этот «кэш», вторая ищет по «кэшу». Заклинания вы знаете, а то как они работают нет?

Конечно не знаю, как я могу такое знать? Не может же антиметапрогер врать.

А еще я написал sladeb в котором можно подключать дебиановские репозитории и ставить .deb пакеты в слаку, не просто в chroot, а с интеграцией, и подхватом пакетов слаки. Перед этим мне надо было разобраться как работают dpkg, apt.

и истерика на пустом месте в общем-то, отключение временное о чем и поясняет ошибка

Так еще смешнее становится если прочесть, я уже читал.

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