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)

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

гораздо продуктивнее

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

У меня такое ощущение … одних и тех же движений.

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

В данном случае упрощённо - Ты необучаемый дворник. - Я вертел твоё мнение., имхо, люди высказали своё фи друг другу в не очень грубой форме и успокоились, перешли на другие темы. Третьи лица в лице модераторов не вмешались (по крайней мере пока), маааленький конфликт затих. Ни ТС, ни liksys не получили серьёзных моральных травм.

С точки зрения римского рабовладельца…

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

«Оскорбление» и «угроза в 10 ударов кнутом в случае невыполнения требований» - токсичность и шантаж, а не всего лишь виды токсичности.

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

здравую брезгливость

Сколько людей - столько и мнений что такое «здравая брезгливость». Хоть я и согласен с твоим тезисом, что Котечка троллит (правда лишь иногда), я полностью согласен с его ответом

Настолько брезгливый что так и манит в тред.

ТС в основном сидит в своих тредах, а не пишет во многие треды как тот же hobbit. Брезгливый сам не лезет в рассадник тех, кого ты назвал «к городским сумасшедшим и клоунам».

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

Странная штука, от неё вообще польза есть, кроме имитации вимовского vy мышкой?

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

Сколько людей - столько и мнений что такое «здравая брезгливость».

Чушь. Есть адекватное большинство, есть юродивые. В последнее же время стало модно прикрывать собственную некомпетентность и дурь своим МНЕНИЕМ. «Это всего лишь МНЕНИЕ, не смейте оспаривать мое МНЕНИЕ!!!111». Нет и не может быть никакого мнения относительно клованистости котечки. Нет и не может быть мнения относительно необучаемости топикстартера. Это - факты, многократно подтвержденные в тридцати тредах. Все остальное - попытка вести диалог с умалишенными, и да, то самое SJW, вид в профиль: борьба за права IT-шизиков.

Брезгливый сам не лезет в рассадник

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

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

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

Да, Вас давно пора забанить. Приходите на ЛОР в один лишь Метапрог-тред и фармите тут звёзды тупым непрошибаемым флудом под маской вежливого снобизма.

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

Начальник своему подчинённому!

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

«уволен с работы за то, что назвал кого-то необучаемым дворником»

Это в лучшем случае. Кого-то более мягкотелого, чем ТС, можно и до суицида такими словами довести.

забанили бы более половины ЛОРа

То-то в тредах конца 00-х одни трупы ;)

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

Чушь. Есть адекватное большинство, есть юродивые.

Полнейшая чушь. От того что большинство идиотов что-то утверждают от этого их слова правдой не становятся. Когда-то большинство думало, что Земля плоская…

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

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

Так тут ехать не на чем. Нельзя просто так взять и работать с C-шным типом из Lua, надо обёртки писать. Вот заимплементить на C Lua-шную функцию — это запросто, да. При этом даже там, по факту, просто даётся доступ к lua_State, который надо шатать: работать с C-шными типами напрямую нельзя.

Кому должен?

Опять свидетели отсутствия нетранзитивного значения у слова «должен» подъехали, да что ж такое. Кому должно число 15 делиться на 5 и 3?

critcl

Ну опять та же фигня, только с Tcl_Obj, Вы это серьёзно? Ещё PyObject приплетите, и кто там ещё…

Всё это вообще не чета Метапрогу, в котором C-шные типы — граждане первого класса, и используются в программах на самом Метапроге (ну кроме строк), а не только в привязках, связывающих два мира. Что бы тут про шпалоукладчика, не обладающего навыками программной инженерии, ни бухтели, но в этом плане архитектура Метапрога продумана превосходно, причём изначально.

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

ТС в основном сидит в своих тредах

Так из других гонят же.

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

Есть адекватное большинство, есть юродивые

Чёрно-белый мир, ага.

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

Полнейшая чушь

Ты, разумеется, заблуждаешься. Ничего, такое бывает.

От того что большинство идиотов что-то утверждают от этого их слова правдой не становятся

Не следует путать правду и факты. Иначе можно дойти до оправдания чикатило, например.

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

Есть адекватное большинство, есть юродивые.

История таки знает и адекватное меньшинство, и неадекватное большинство. Даже необязательно применять «тяжёлую артиллерию», вспоминать охоту на ведьм, фашизм и т.д. Примеров в науке и технике тоже полно.

Нет и не может быть мнения относительно необучаемости топикстартера.

А я утверждаю, что может! У человека может быть свой темп взросления, свои стартовые условия, и др. Он уже сейчас поумерил ЧСВ, давно никого не посылал в жопу и др. За технические идеи пока держится. Но тут, видимо, нужен решающий удар граблями по лбу. Твои или мои увещевания таковыми не являются.

У него не необучаемость, у него упрямство. 80 уровня, да.
– Подсудимый, зачем вы поставили потерпевшему фонарь под глазом?
– Я художник, я его так вижу.
(интерпретация известной поговорки от Евг. Лукина)

умалишенными шизиков

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

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

Кроме клоунов, тут есть адекватные люди. Два главных клоуна здесь у меня в игноре.

Тем не менее, ты наиболее активно пишешь именно в теме, где ТСом является один из этих «клоунов». Ну так себе логика, по-моему.

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

Кого-то более мягкотелого, чем ТС, можно и до суицида такими словами довести.

+1, кстати. Даже можно сказать не «более мягкотелого», а «более ответственного», «более переживающего за свой труд» и др. Так ещё жутче будет.

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

Когда-то большинство думало, что Земля плоская…

С плоской Землёй, кстати, интересная история. В античности ведущие умы (Аристотель, Платон) не сомневались, что Земля шарообразная, и их точка зрения была авторитетной. И только в средневековье возобладала «прогрессивная» теория про плоскую Землю, от которой потом избавлялись долго и с большим трудом.

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

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

Весь пост поиск бревен в чужом глазу.

я указываю ТСу строго на технические промахи его проекта.

ты не только этим в данных темах занимаешься.

И да у ТСа не много ли опекунов. Он и сам на мой взгляд прекрасно справляется.

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

Приходите на ЛОР в один лишь Метапрог-тред

Он недавно писал не в Метапрог-тред врунишка-сан.

По такой логике тут забанить можно всех.

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

TL;DR

А пример тетриса уже есть на посмотреть и увидеть всю мощЮ визуального программирования? или как обычно только обещания?

ossa ★★
()

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

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

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

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

История таки знает и адекватное меньшинство, и неадекватное большинство

Я не говорил, что большинство всегда адекватно. В данном случае это так: большинство адекватных айтишников, два клоуна и один необучаемый.

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

Не спорю. Но на данный момент он необучаемый.

У него не необучаемость, у него упрямство. 80 уровня, да.

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

У меня интерес немного другой

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

Ну так себе логика, по-моему

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

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

Может, ты не заметил, но периодическия я предлагаю ТСу помощь.

Твоя помощь должна хоть как то подходить к задумкам ОПа, вот тогда все получится.

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

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

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

недавно писал не в Метапрог-тред врунишка-сан

В тему о пиаре своей поделки, ага.

тут забанить можно всех

Было бы неплохо. Вот Царя и Их фанатов выгнали же нахрен в личный бложик. Чем отличается Метапрог? Мы и сами-то не горели желанием возвращаться на ЛОР, только ради Метапрога и зарегистрировались опять.

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

Было бы неплохо.

Тут я с тобой согласен.

Зачем бесполезных мешков с костями плодить-то

Тут тоже поддержу.

ради Метапрога и зарегистрировались

Дык я тоже. Метапрог конектин пипл.

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

большинство адекватных айтишников

Давно всех, кто программируют (в том числе как хобби), в айтишники записывают? Айтишник — это скорее профессия.

видимо, хочется видеть в людях лучшее

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

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

А осилите-то найти для проекта правильных людей, а не текстовых программистов, которые всё переиначат на свой лад по суеверным канонам промышленного программирования? И уведут тем самым у ТС Их детище, сделав из него хрен пойми что?

ТС по-своему забавен

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

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

Чем отличается Метапрог?

По сравнению с царём — он не быкует. Вообще. У царя тоже были периоды просветления (очень короткие), и тогда его банили не сразу…

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

По сравнению с царём — он не быкует. Вообще.

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

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

Именно! Ключевое слово — первые. Я не зря в комментарии для @liksys подчёркивал, что ТС эволюционирует в лучшую сторону, хоть и не так заметно…

И даже в первых темах до царя было очень далеко.

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

Когда медведю зубы обпиливают, чтобы не кусался — это эволюция? ;)

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

Никуда он не эволюционирует. Если животное лупить палкой, оно рано или поздно поймет, что палки надо бояться. ТС перестал хамить только тогда, когда его стали лупить за хамство. При этом, обрати внимание, он еще и возмущается этим: мол доносчики, тридцатые, все дела. То есть в его глазах это не он виноват, это мы плохие. Он ничего не понял.

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

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

Причем перейти в мирный диалог предлагали уже все, liksys стоит на своем: Metaprog: универсальная графическая среда программирования [LabVIEW-прототип] часть 9 (комментарий)

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

Не думаю. ОП скорее всего занят новой версией и багами упаковки.

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

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

Я за мир. Про дворников постараюсь не писать. Негатив быстро надоедает.

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

на itty.bitty

А с ним вообще подружить что-то вариант?

Можно CNAME-запись бахнуть, но там вроде только другой домен можно прописывать, не целый URL…

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

А че линк можно поменять при смене сайта? Вообще идеально было бы iframe'ить, у сервиса который .tk раздает была такая опция.

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

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

Фраза «Допустим, извиняюсь и предлагаю забыть обиды» это двойная издёвка. Во-первых, «извиняюсь». Во-вторых, «допустим».

Это явно не переход в мирный диалог, это язвительное замечание.

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

Еще он написал «тебе» не с большой буквы, это говорит о мощном неуважении. И я не говорю уже о цвете штор в комнате liksys...

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

Потёрли… @Razk дело не в том, чтобы смотреть только на чужие проблемы, а учиться на чужих ошибках. Своих проблем всегда хватает, но это не повод не изучать чужой опыт.

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

Вообще идеально было бы iframe’ить

А чем это поможет, когда ссылку на фрейм всё равно придётся менять, отредактировав страницу с фреймом, то есть изменив ссылку и на неё?

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