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)

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

Обидно за ЛОР. Это популярный форум и многие его читают.

А так же тут много говна. И Метапрог не при чём. Для него выделена резервация, за пределами которой, он комичный персонаж.

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

Тут же всегда какое-нибудь безумие да творилось? Но по протяженности эпопей равных этой я лично не видел.

Сейчас или короткий клип. Или сериал по типу Санты Барбары. Это мировая тенденция.

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

Не, я думаю, что @Dimez если ушёл — вещать под аноном он не будет. Не тот типаж.

Ушёл? Доминирование над другими школьниками как валюта уже не цениться?

anonymous
()
Ответ на: комментарий от Vsevolod-linuxoid

Я искренне не понимаю, почему metaprog не забанен, а темы не удалены.

Поцан к успеху идёт. Не надо его банить. Просто не подфартило ему. Может у него нет личного пространства в жизни, чтобы запереться и побыть один на один с K&R и Си.

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

Я понял, что ты хотел сказать, но аналогия получилась неудачная и даже хвалебная для ТСа.

Шутка

Раз так, то теперь буду именовать ТС «фрезеровщиком».

Владимир

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

Поцан к успеху идёт. Не надо его банить. Просто не подфартило ему. Может у него нет личного пространства в жизни, чтобы запереться и побыть один на один с K&R и Си.

Ему нужно было треды не на ЛОР создавать, а на сайте для «фрезеровщикам».
Там бы его «на руках носили» и сделали ему в подарок «бронзовый бюст».

Владимир

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

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

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

Шутка

На ЛОР «по базарил», пора и на «базар» за продуктами сходить.

Сходил на базар. Слонов завезли по пять рублей штука.
Но подумал

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

Владимир

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

Анонимусов всё равно быстро отключат (да и приелся нам* метапрог).

В ранние треды анонимусы могли постить /Talks же для них закрыт/.
Треды «ни о чем» были.
Да и разговоры на них были двух видов:

  • О чем угодно …;
  • Поругать @metaprog

Владимир

anonymous
()
Ответ на: комментарий от Vsevolod-linuxoid

Там вон новость висит про нелегальный форк xray-engine, и не удаляют как то...

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

https://www.youtube.com/watch?v=JsD5jUralB8&feature=youtu.be&t=8

Ну очевидно для тех кто заинтересован, тут человек 10 уже точно писали что проект им интересен, только в отличие от тебя они не спамят тут 24/7. Для кого нужен твой сломанный сайт из двух страниц? Вопрос по моему максимально бессмысленный конешн.

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

Ну очевидно для тех кто заинтересован, тут человек 10 уже точно писали что проект им интересен,

Интересен это «запросто».
Другой вопрос - «Будут ли использовать Метапрог для разработки?».

Когда в Метапрог появится высокоуровневое API, которое много упростит разработку, то тогда вам и @metaprog не нужно будет рекламировать Метапрог.
Ныне же «пока все не так».

Не исключаю, что вы с @metaprog в многом и правы, но «внятного» объяснения почему стоит обратить на Метапрог внимания - нет.
Кроме этого «новации» @metaprog вызывают скорее насмешки.

Владимир

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

Как правило, если человек не может объяснить, почему его работа нужна и важна - он занимается херотой. ТС со своими клоунами уже полтора года как не могут обосновать, чем «программирование в графике» (R) (C) (TM) лучше обычного. Особенно учитывая, что все примеры, которые они демонстрируют, доказывают обратное.

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

Не ну можно конечно изучить Labview и понять сумрачный гений metaproga, может там что-то и есть. Только вот зачем? Сам метапрог утверждал что National Instruments ее как универсальную среду программирования не продвигают.

LabVIEW используется в системах сбора и обработки данных, а также для управления техническими объектами и технологическими процессами. Идеологически LabVIEW очень близка к SCADA-системам, но в отличие от них в большей степени ориентирована на решение задач не столько в области АСУ ТП, сколько в области АСНИ.

Я не думаю что в National Instruments работают глупые люди.

Я так понимаю изучение Labview, а потом и метапрога нам и предлагают вместо объяснений и документации.

занимается херотой

Да ладно пусть веселится. Вон его hobbit пытается вразумить, все бесполезно. Может к следующей теме… :).

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

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

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

«Эта песня хороша. Начинай сначала …»

Не исключаю, что вы с @metaprog в многом и правы, но «внятного» объяснения почему стоит обратить на Метапрог внимания - нет.

Впрочем лучше храните «тайну».
Почему?
Это форум разработчиков и если им идея понравится, то они и без @metaprog все разработают.

И спеть меня никто не мог заставить
Молчание начало всех начал

Все бухгалтера мечтают о кнопке «Сделать все».
Программисты в чем то похожи на них.
Они ищут готовое API, которое позволит «Сделать все».

Ныне языков программирования «как блох, тараканов, крыс и мышей в подвалах города Дураковка».

Владимир

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

Владимир - местный вестник оптимизма.:)

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

Не, я думаю, что @Dimez если ушёл — вещать под аноном он не будет. Не тот типаж.

Не знаю тот типаж или нет, но тупак его почему-то волновал очень сильно и видел он его ну прямо везде. У некоторых людей есть например внимание к деталям, у других – чуткое понимание социальных норм, у третьих – чувство долга. Димез же специализировался на тупаке. Он им жил. Я не думаю что в наше время можно в здравом смысле упомянуть тупак, но не подумать при этом о Димезе. Когда он перестал модерировать, я все осознал и он стал для меня как святым.

Отец Аристоклий

#живиДимезТупак #тупакИмеетЗначение

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

Во первых не нужно именовать ничего, следить за скобками итд. Так же возможности шире, например планируется блок формул, в который можно будет вписывать реальные вещи как в Libre Math! Плюс удобнее читать код в таком формате, когда видно что где идет, DELIRIUM говорил что пользуется SourceTrail - https://www.sourcetrail.com/assets/frontend/usecase-slides/6-bookmark-cef0889.... Ну и для людей это проще, что подтверждает опыт ДРАКОНа.

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

https://www.sourcetrail.com/assets/frontend/usecase-slides/6-bookmark-cef0889….

Поглядел, занятно. В этом что-то есть. Но там и код нормально выглядит. Нормальные имена переменных например. Ну и да порог вхождения у прототипа метапрога слишком высокий имхо. Labview надо знать и кучу всего ставить.

следить за скобками

Ну это прям не смертельная проблема.

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

Но там и код нормально выглядит.

Над этим предстоит поработать да.

Ну это прям не смертельная проблема.

Вписывать названия аргументов, именовать переменные, именовать структуры надоедает после того как сядешь за метапрог, проблема не ощущается когда не видел ее решения.

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

Так же возможности шире, например планируется блок формул, в который можно будет вписывать реальные вещи как в Libre Math!

Это было бы занятно посмотреть. Но я так понимаю все опять упрется в «Поставь метапрог».

Вписывать названия аргументов, именовать переменные, именовать структуры

Ну это я могу понять. Но в графике же свои заморочки. Вообще можешь ты или ТС снять видео сборки диаграммы? Тогда можно сравнить с ручным вводом. Ты же знаешь С я так понимаю. Напиши в тексте. А ТС пусть схему соберет. Это было бы наглядно. Это просто предложение.

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

Зачем ты с ним споришь? Это же местное трололо, еще с первого треда емнип.

в который можно будет вписывать реальные вещи как в Libre Math!

Котечка, ты опять за старое?

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

Это было бы занятно посмотреть. Но я так понимаю все опять упрется в «Поставь метапрог».

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

Вообще можешь ты или ТС снять видео сборки диаграммы?

Так вроде ОП уже делал видео.

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

Так вроде ОП уже делал видео.

То что ТС делал - «детский сад».
Вы объясните хотя бы на словах, чего вы хотите достичь.

Владимир

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

Так вроде ОП уже делал видео.

Так где его искать то теперь видео это. Да и в новом видео можно новые фичи продемонстрировать. Назло скептикам так сказать. Ну впрочем ваше дело. Пусть хоть ТС ссылку на старый видос в шапку добавит пожалуйста.

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

Ну мало ли. Вдруг там все серьезно, а мы не в курсе.

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

Вписывать названия аргументов, именовать переменные, именовать структуры надоедает после того как сядешь за метапрог, проблема не ощущается когда не видел ее решения.

И как же в таком случае использовать уже разработанные библиотеки?

Владимир

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

И как же в таком случае использовать уже разработанные библиотеки?

Лучше не отвечайте, потому как архитектурное решение много важней всяких там исходников.

Владимир

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

И как же в таком случае использовать уже разработанные библиотеки?

Проводкi вставляешь в коробочку на экране, коробочка - это библиотека, неужели так сложно догадаться? Как маленький.

Владимир

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

Лучше не отвечайте, потому как архитектурное решение много важней всяких там исходников.

Двадцать первый тред …
На вопросы не отвечаете не вы не @metaprog.
Вообщем что-то типа

В голове моей бегуди, а на большее ты не рассчитывай

О чем треды?

Владимир

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

Проводкi вставляешь в коробочку на экране, коробочка - это библиотека, неужели так сложно догадаться? Как маленький.

Это да.
Напомнило мне об одной «тайне».
Когда вижу курящих, то возникает желание спросить

А из задницы дым умеете пускать?

Владимир

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

А из задницы дым умеете пускать?

Кхмм, по-моему местный гомосексуальный клон Владимира - совсем не клон…

Доброжир

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

Вписывать названия аргументов, именовать переменные, именовать структуры надоедает после того как сядешь за метапрог, проблема не ощущается когда не видел ее решения.

Как скажем произвести запрос к СУБД и как выглядит доступ к результату запроса?

Да и комментарии все равно ведь над кружочками и проводками имеются …
Иначе как понять логику алгоритма?

Ребята как программировать без объектов, переменных, …?

Владимир

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

Шутка

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

Владимир

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

@metaprog мы тебя «поймем и простим».
Начни разработку Метапрог с нуля на текстовом языке программирования.

Владимир

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

Шутка

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

Текстовые языки программирования в количестве строк …
А в гектарах какой язык программирования подходит?

Владимир

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

Вписывать названия аргументов, именовать переменные, именовать структуры надоедает после того как сядешь за метапрог, проблема не ощущается когда не видел ее решения.

Да ну …
Смотрим названия vi в метапрог21.zip

оголошення структури.ctl  
константи.ctl  
верс_онований об'єкт.ctl  
...

Владимир

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

Да. Но именовать в метапроге структуры переменные аргументы вручную не обязательно. Аргументы именуются автоматом можно считать, по аргументу функции в которую они поступают.

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

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

Это уже «другой компот» /значит вас не правильно понял/.
Трудно судить о том чего не знаешь …
Вы с @metaprog вместо популяризации разработки умеете всех настроить против себя.
Почему нет ни какого описания текущей архитектуры языка, …?
Вот и получается, что у всех лишь домыслы о языке …

Владимир

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

Почему нет ни какого описания текущей архитектуры языка, …?

Лень вставать с дивана.

Вы с @metaprog вместо популяризации разработки умеете всех настроить против себя.

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

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

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

Ого-го, чем дальше, тем, оказ-ца, в метапроге всего меньше. Что в планах, полнота по тьюрингу к 2024?

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