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)

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

Затем, что вот ты его сейчас привёл на пятой странице очередной темы — потом его хрен найдёшь. Я где-то месяц назад хотел те видосы посмотреть — так и не вспомнил. И место не нашёл, где ты ссылку в прошлый раз выкладывал. Ты хоть бы в профиль себе этот урл кинул…

Да, можно в закладки схоронить — но я, например, регулярно хожу на ЛОР с 4 разных устройств.

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

Жаль что я не могу позволить себе больше токсичности

А какой прок от токсичности? На токсичность отвечать токсичностью? Надо быть выше этого.

Я, кстати, против SJW

Ну нет ничего удивительного в том, что угнетатели не хотят кормить угнетённых ;)

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

Помните картинку от лабвьюшника, которую Мы на Хабре откопали? ;)

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

Мы давно предлагали кучу альтернатив без регистрации и без баннеров, но Вы продолжаете их игнорировать и жрать кактус ;) Чем Mediafire не угодил, например?

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

как то метапрог для создания прототипа метапрога на лабвью обошелся без всего этого

Вот именно, что как‍‍-‍‍то.

чтобы показать преимущества визуального программирования

Это не приоритетная задача. Да и не перед кем показывать.

Давайте выпустим из психбольниц маньяков

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

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

Да и даже в визуальных конструкторах ;) Раз уж Ucoz зашкварен, то есть Tilda, например.

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

который полгода назад узнал, что такое тернарный оператор

Очень важные знания, как же питонисты без них живут? :->

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

надо делать проект для людей, я не для того, чтобы показать, какой ты принципиальный гений с недооцененными идеями

С таким подходом лучше не делать вообще. Ещё не хватало рабом соцсетей становиться.

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

Домены просто так не раздают

Вообще-то раздают, третьего уровня. А кое-где и второго, но лучше с ними не связываться ;)

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

Так а в чём проблема? Уж лучше домен третьего уровня (есть коротенькие, .undo.it, например), чем бомжевать на всяких итти-биттях и ссылкосокращателях.

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

Страничка на итти-битти в нём и слеплена, да? :3 Ну так берёте и перезаливаете на любой халявный хост, в чём проблема вообще? Жаль вот, Хостингер халявный окончательно накрылся, там и домены 3-го уровня давали в придачу…

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

Можешь сделать страницу-редирект на своем сайте. Домены просто так не раздают.

Ну вот так всегда. :( О доступности информации почему-то должны беспокоиться не те, кто вроде бы заинтересован в её распространении.

Домены просто так не раздают.

Профиль на ЛОРе у тебя вроде как бесплатный. И там есть поле URL. Это полностью проблему не решит, но хотя бы снизит её остроту.

Ещё если вы это обсудите с ТСом, можно было бы на него добавлять ссылку в тексте каждой новой темы, тем более, они сейчас появляются нечасто.

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

Что за нелепая претензия?

Почему нелепая? Сколько было воя в предыдущих тредах о том, что Сишка и метапрог это true, а все остальное «убогая скриптуха», а теперь выясняется, что метапрог тоже «убогая скриптуха» паразитирующая на Си.

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

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

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

Ну, к примеру, https://luajit.org/ext_ffi.html

Да много скриптовых ЯП имеет модуль ffi, позволяющий напрямую дергать Сишные функции и структуры.

Тиклевский пакет critcl вообще позволяет код на Си внутри тиклевской программы писать.

Кстати, в первых тредах метапрог писал, что в метапроге можно делать Сишные вставки, но до сих пор сею замечательную возможность в живую никто не видел.

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

FFI

Не-а, это принципиально другое. Сам язык должен быть надстройкой над C, как C++ — чтобы при надобности нативно спускаться до C-шных примитивов, и программировать на них же, а не городить мосты.

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

Сам язык должен быть надстройкой над C, <…> чтобы при надобности нативно спускаться до C-шных примитивов, и программировать на них же, а не городить мосты.

Identi-C уже изобрели.

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

Ну, к примеру, https://luajit.org/ext_ffi.html

Нельзя подключать заголовочные файлы.

Кстати, в первых тредах метапрог писал, что в метапроге можно делать Сишные вставки, но до сих пор сею замечательную возможность в живую никто не видел.

Используется в стандартной библиотеке.

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

Ну вот так всегда.

Домена у меня нету, никто мне его не дает, и что я должен делать? Настоящая ссылка на itty.bitty раз в 40 длиннее кста.

Профиль на ЛОРе у тебя вроде как бесплатный

Но к сожалению не вечный.

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

Вечного нет ничего. Но моему профилю уже 20 лет, и пока живой. А если ты один аккаунт за другим до бана доводишь — ты что-то делаешь не так.

В любом случае прописать там адрес этого сайта — с тебя бы не убыло.

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

Но моему профилю уже 20 лет, и пока живой.

Так тебя и не забанят, ты можешь делать все что угодно. DELIRIUM например тоже мог, я думал под конец его не забанят, потому что даже в финале ему комменты все равно сносили с -0, либо игнорировали. Можно еще dk вспомнить, он кстати и вины своей не видел, понимал что как устроенно.

Вообще вот говорят что ЛОР токсичный, но тут есть еще такая деталь что токсичить можно только тем кто тут давно, если новоприбывший будет так же себя вести его быстро выпилят.

А если ты один аккаунт за другим до бана доводишь — ты что-то делаешь не так.

Мне по -15 могут выдать за безобидный комментарий, держу в курсе.

В любом случае прописать там адрес этого сайта — с тебя бы не убыло.

Да я лучше с бесплатными хостингами разберусь...

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

Да я лучше с бесплатными хостингами разберусь…

Ну окей, ждём. Хотя одно другому не противоречит.

Вообще вот говорят что ЛОР токсичный, но тут есть еще такая деталь что токсичить можно только тем кто тут давно, если новоприбывший будет так же себя вести его быстро выпилят.

Так старожила просто выпилят чуть позже, вот и вся разница. И Делириума таки забанили в итоге, и его попытки завести новый аккаунт тоже банили.

А можно просто не токсичить? Вот следуя твоей логике, меня должны были забанить ещё когда станцию «Мир» топили, я такой же «новоприбывший» был. Но вот же, никто мне за безобидные комментарии -15 не выписывал. Что-то не так у тебя с логикой.

И самый токсичный тут, если что — анонимус (я про собирательный образ, разумеется, то, что среди анонимусов много адекватов, я знаю). Но с ним возможно только «окончательное решение». Один раз уже пробовали, не понравилось.

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

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

Что-то не так у тебя с логикой.

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

Так старожила просто выпилят чуть позже, вот и вся разница.

Ахах, делириуму пришлось просить что бы его забанили в конце. Сколько он до этого «спокойно жил»? Да тут даже и не в бане дело.

А можно просто не токсичить?

Это не ко мне.

Но вот же, никто мне за безобидные комментарии -15 не выписывал.

https://ru.wikipedia.org/wiki/Вера_в_справедливый_мир

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

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

А вот и свидетельство твоей токсичности. Вместо того, чтобы спросить у меня пруфов и в случае их нерелевантности указать, что не так, ты сразу начал вруна клеить.

@NotGay, @PhallusFromTheAnus и вроде как @KundaMasha (но последнее неточно).

Вера_в_справедливый_мир

Вера верой, но я-то факты излагаю. Я не то, что -15, я вообще не помню, когда мне последний раз что-то по причине, отличной от 7.1 удаляли. Да, 5.3 как-то было, один или два раза за 20 лет, бугага.

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

И если уж на то пошло, не вижу ничего плохого в том, чтобы банить токсичных персонажей. Разводишь клоунаду, хамишь - сиди с намордником в рид-онли, раз не умеешь общаться.

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

KundaMasha

Это не он, в остальных его забанили не за перерегистрацию. Текущий акк - HugeCoreDump.

Вера верой

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

Так ты просто врун

А вот и свидетельство твоей токсичности

Проскакивает, но мне казалось что ты ему пару комментариев отправлял.

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

Согласен, начать стоит с местного циркача у которого все кловуны.

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

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

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

А по существу я, кстати, писал даже не про рекламщиков, а именно про «оптимизаторов»-SEOшников, которые замусоривают топ поисковых систем сайтами-пустышками. Людей, которые этим занимаются, я считал и считаю паразитами, стригущими бабло на загаживании информационного пространства.

Это не он, в остальных его забанили не за перерегистрацию. Текущий акк - HugeCoreDump.

Ну значит, по поводу перерегистраций я ошибся. Можно было и нетоксично это сообщить. :) Но главного вывода это не отменяет. Былые заслуги — не индульгенция, они могут лишь ненадолго отсрочить падение.

Судьба твоего аккаунта — в твоих руках.

P.S. В любом случае, за наводку на HugeCoreDump — спасибо.

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

банить токсичных персонажей

«А судьи кто» не менее важны, чем правила. В свете активности sjw всё популярнее сверхчувствительность, когда малейшая критика (и даже не критика) принимается за токсичность.

Может это «испорченный телефон» (новости преувеличили), а может и обычная ситуация. В США начальник в большинстве ситуаций не может прямо сказать подчинённому «Ты (вы) (хотя местоимения в английском + куча гендеров это уже почва для воя о токсичности на пустом месте) сделал хрень, переделывай». Надо обязательно «good job», «но надо улучшить то-то и то-то». Начальник своему подчинённому!

Меня немного трясёт (в плохом смысле) от фантазии «ТС выпустил новую версию метапрога. liksys комментирует - хорошая работа, уважаемые разработчики с альтернативным восприятием кода. Теперь ещё больше меньшинств сможет разрабатывать программы! Рекомендую вам обратить внимание на мои пожелания: 1-е, 2-е, 10-е и т.д. А прямо написать своё мнение о компетентности ТСа не может, ведь под предлогом борьбы с токсичностью ввели очень жёсткую цензуру на любую критику.»

Имхо, нахождение в токсичном сообществе с возможностью игнора гораздо лучше, чем «уволен с работы за то, что назвал кого-то необучаемым дворником». Хорошо хоть на ЛОРе пока что вроде нет такого рака. С такой жёсткой модерацией забанили бы более половины ЛОРа и форум очень быстро пришёл бы в упадок.

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

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

Хоть и неприятно, но ничем криминальным они все же не занимаются, да и что же им еще делать...

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

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

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

Не-а, это принципиально другое.

Вам шашечки или ехать?

Сам язык должен быть…

Кому должен? Как автор языка решил, так оно и будет.

чтобы при надобности нативно спускаться до C-шных примитивов

Вот тебе привел в качестве примера critcl, который в программе на тикле позволяет писать код на Си и «нативно спускатся до Сишных примитивов», что тебя не устраивает?

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

Используется в стандартной библиотеке.

Ну так покажите, как оно работает. Или все также, как в одном из первых тредов, где ты тупо скопипастил код из нуклеаровского примера в выхлоп метапрога?

Нельзя подключать заголовочные файлы.

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

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

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

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

Вообще, за исключением совсем уж клинических случаев, сказать «good job, но надо улучшить то-то и то-то», гораздо продуктивнее, чем «Ты сделал хрень, переделывай».

В свете активности sjw всё популярнее сверхчувствительность, когда малейшая критика (и даже не критика) принимается за токсичность.

У меня такое ощущение, что аббревиатура SJW на ЛОРе — это ничего конкретного не значащий ярлык. Примерно как «либерал» у официально-«патриотической» пропаганды. Надо всякий раз выяснять, о ком речь. Люди, реально борющиеся за права других людей — это одно. Люди, под предлогом борьбы преследующие неугодных им — это другое. И первые, и вторые существуют не одну сотню лет. И зачастую сосуществуют в рамках вроде бы одних и тех же движений.

С точки зрения римского рабовладельца все нынешние трудовые отношения, когда работник не только сбегает куда-то от хозяина каждую ночь, но и нахально требует каких-то отпусков и больничных — это одна сплошная сверхчувствительность, переходящая в сверхнаглость. Мир не постоянен, он меняется, и как ни странно — далеко не всегда в худшую сторону…

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