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)

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

При чём здесь «достанется», речь о том, что конкретно текущего пользователя статического IP где-то по IP забанят, и чтобы эту блокировку обойти — придётся просить провайдера выдать другой IP или трахаться впредь с туннелированием.

Если у тебя этот IP под сервер и ресурсы метапрога, не понятно кто тебя должен банить. А если с этого же канала метапрог на форумах зверствует, очевидно он с него туда более не попадёт.

Мало найти, надо добраться ;)

В 21 веке большая проблема, действительно.

Тем хуже, если сайт рассчитан на мизерную нагрузку: он мизерной же атаки не выдержит, можно в одно рыло положить ;)

Можно всё что угодно положить, чем больше популярность, тем выше риск события. Но ты я вижу решил пойти конём, ведь то чего нет - положить нельзя.

Неприятели, которые у топикстартера уже есть.

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

А какое отношение это поделие имеет к тырпрайзу? Уже хотя бы потому, что оно в корне варезное — на сурьёзные предприятия, ну кроме крышуемых (которых в Украине, кстати, много), ему вход закрыт.

Да и на Украине оно никому не нужно, предприятий где используется лабвью в СНГ по пальцам наверно можно пересчитать, кто из них перейдёт на метапрог, с этой великой поддержкой - большой вопрос.

Да и таргетируется в первую очередь на домашних пошеръюзеров, которые просто хотят попилить для себя какие-то программки. То есть метит в нишу всяких там AutoHotKey, AviSynth, игровых конструкторов, VBA и подобного.

Допиливать будут на том же, либо на совместимом. Здесь скорее - переписывать. Зачем это делать за все эти годы, так никто понять и не смог, а вот почему этого не стоит делать - поняли многие.

Как же матан понимают, он сугубо теоретический и в природе не существует ;)

Математика - наука о количественных отношениях.Помимо теоретической области, существует и прикладная.

То есть топикстартера убьют, а без этого поделия бы не убили? А что, имеет смысл.

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

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

И как тогда вставлять туда троянских коней и бэкдоры всякие?

Там будет новый класс ошибок: Опечатка жгутиком, переполнение СУВТ, неопределенное графическое поведение.

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

Любой некоммерческий проект вообще по определению может быть только убыточен. Ибо от расходов никуда не деться. На разработку. На поддержание. На трёп на форумах, а это внимание - время и суть деньги. Что непонятно?

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

Любой некоммерческий проект вообще по определению может быть только убыточен.

Не обязательно. НКО может поднимать бабла. Просто должна тратить их все на свои цели. Чтобы вышло по нулям к концу года. Например если ты делаешь мороженное, продаёшь его, оплачиваешь траты (причём и зарплату наёмным сотрудникам, запросто) и всё что сверху жертвуешь на цели проекта – например приют для бездомных кошек.

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

Вы же понимаете, что если ты что то ПРОДАЕШЬ,то ты уже автоматически не можешь быть некоммерческой организацией? И абсолютно неважно, есть у тебя прибыль или нет

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

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

Предпринимательская деятельность НКО – согласно ФЗ №7 (глава 4, статья 24) «О некоммерческих организациях» НКО может осуществлять предпринимательскую деятельность лишь постольку, по-скольку это служит достижению целей, ради которых она создана. Такой деятельностью признаются:

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

то о чем я говорил ранее - любой проект изначально требует вливаний средств

Не спорю. Причём не только средств. Сил, времени и так далее. Жертва во имя чего-то (во имя метапрога, хе-хе).

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

переполнение СУВТ

Ох, скорее нужно занять suvtoverflow.com пока метапрог ещё в зачатке. А то потом поздно будет. Я побежал. Волосы назад.

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

Дак я изначально об этом и говорю. Чтобы что то заработало, на него нужно угрожать кучу ресурсов. Но мне пишут, что типа это не так и проекты энтузиастов лишены этого недостатка. Не лишены. Более того, не лишены они и многих других необходимых затрат. А значит изначально убыточны. Да, их ПОТОМ можно монетезировать, но лишь тогда, когда найдутся заинтересованные

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

Ради справедливости, все эти застраты как правило не существенны. Тем более в таких проектах, не сетевых. Одно дело скажем многопользовательская игра или социальная сеть, другое дело текстовый редактор. Для второго не нужна дорогая инфраструктура, как правило достаточно простого сайта.

Просто метапрогеры всё в крайности задвигают, для них 2-5 баксов в месяц это затраты и убыточность, для всех остальных это даже не повод заводить разговор о деньгах.

shpinog ★★★
()

@metaprog, куда пропал, гений ты наш? Неужто надежда на программистскую революцию оставила тебя?

А я просто еще раз напомню о своем ванговании, которое, как и все остальное, сказанное в твой адрес, постепенно оказывается правдой:

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

:3

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

Неужели ты наконец-то занялся делом, а не своими метаглупостями? Страшно представить, сколько грязищи накопилось в твоих подшефных сараях за два года.

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

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

liksys ★★★★
()
Последнее исправление: liksys (всего исправлений: 1)

Поздравляю всех присутствующих со второй годовщиной моего пребывания на ЛОРе и наступающей годовщиной первой темы про Метапрог! Готовьтесь наслаждаться 35 версией прототипа Метапрога!

metaprog
() автор топика

Итак, продолжим обсуждение 35 версии тут :)

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

Щас у него опять начнется истерика про доносчиков и 37-й год.

Метапрог хайпует. Тему закрыли, а срач вокруг темы только увеличился.

kostyarin_ ★★
()
Ответ на: Новая версия! от metaprog

Вообще, за два года на GCC + GTK или SDL или что там было + git + не отвергнутая помощь сообщества – уже было бы готовое FOSS-решение. И было бы нечестно сказать, что выбор LabView был ошибкой. Ошибкой было выстраивать взаимодействие так, чтобы никто не смог ничего привнести от себя в метапрог. Т.е всё вообще, включая LabView.

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

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

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

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

Отлично. Тогда я внесу свой вклад. Учитывая, что имеющаяся кодовая база и среда разработки и вообще всё никуда не годятся, предлагаю создать пустой GitHub-репозиотрий. От которого и будем отталкиваться. Так просто будет быстрее и проще.

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

даже твой аккаунт в Метапрог онлайн не удален

Это конечно чертовски льстит мне и всё такое. Я имел ввиду, не опираться на всё это. Фундамент шаткий малость. Типа.

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

Давай, создавай. Или присоединись к разработке https://github.com/arturianec100/skyvis так как, к сожалению, инициатива arturianec100 по разработке визуальной среды программирования на С++, к сожалению, застопорилась.

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

Ну уж извини, опираться больше не на что:(

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

Нафиг делать на C/C++ и прочем? Начинать надо с «говна часа Икс» по методике всех стартапов. Максимально скриптово и плохо. Но чтобы сделать быстро и работало. Если тема взлетит фаны подвезут имплементацию на Си. Так все делают. И это катит. А вот долгострой – это фаталити. Что, кстати, и требовалось доказать.

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

Нафиг делать на C/C++ и прочем. Начинать надо с говна Икс по методике всех стартапов. Максимально скриптово и плохо

Ну так у меня на Лабвью.

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

Ну так у меня на Лабвью.

Да чёрт побери, выкинь ты его. Это тот ещё якорь. Ты же не делаешь рельсы с обязательным условием рельсами и на рельсах.

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

Ты даже не представляешь каких сумасшедших успехов я достиг. Менюшки из блоков и других менюшек стало крутить как никогда просто. Завтра будет 36 версия, только хз буду ли я это публиковать на ЛОРе.

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

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

Чертовски рад за тебя. У тебя есть план до завершения? Я бы хотел его увидеть. А то «менюшки что-то там» звучит довольно размыто в рамках общей картины.

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

только хз буду ли я это публиковать на ЛОРе

Собираешься опять д’Артаньянствовать, что ли? ) Ах-ха-ха.

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

Сумасшедшие успехи год назад: будильник!

Сумасшедшие успехи сейчас: мням-мням, менюшки…

Деградируешь на глазах даже по сравнению с собой же.

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

Начинать надо с говна Икс по методике всех стартапов. Максимально скриптово и плохо

Ну так у меня на Лабвью.

БИНГО!!!

hobbit ★★★★★
()
Ответ на: Новая версия! от metaprog

чОрт, такую дату пропустил. Уже можно увидеть, наконец, пример переворота строки в цикле с консоли? Или за 2 года ничего, кроме будильника не родилось?

ossa ★★
()
Последнее исправление: ossa (всего исправлений: 1)

Подпишусь в поддержку Столлмана

Подпишусь в поддержку Столлмана 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=

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

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

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

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

abcq ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.