Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Ср май 22, 2024 19:19

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Ответить
Имя пользователя:
Заголовок:
Текст сообщения:
Введите текст вашего сообщения. Длина сообщения в символах не более: 60000

Размер шрифта:
Цвет шрифта
Настройки:
BBCode ВКЛЮЧЕН
[img] ВЫКЛЮЧЕН
[flash] ВЫКЛЮЧЕН
[url] ВКЛЮЧЕН
Смайлики ВЫКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Не преобразовывать адреса URL в ссылки
Вопрос
Теперь гостю придется вводить здесь пароль. Не от своей учетной записи, а ПАРОЛЬ ДЛЯ ГОСТЯ, получить который можно после регистрации на форуме через ЛС.:
Этот вопрос предназначен для выявления и предотвращения автоматических регистраций.
   

Обзор темы - В общем! О грустном. :(
Автор Сообщение
  Заголовок сообщения:  Re: В общем! О грустном. :(  Ответить с цитатой
Задал вопрос Какие бывают примеры метапрограммирования на Форт? на qna.habr.com.
Сообщение Добавлено: Вт май 02, 2023 16:17
  Заголовок сообщения:  Re: В общем! О грустном. :(  Ответить с цитатой
KPG писал(а):
Если это всё предполагается делать и/или с применением обученного AI бота на Форт язык
с транспиляцией в Форт и других языков, то почему не реально?

Потому что AI не должен восприниматься как очередная панацея. Это просто еще один виток "штрафного круга", наподобие "нам нужна Форт-IDE", "нам нужны библиотеки", "нам нужна Форт-ОС"... и вот потом-то и должно что-то этакое произойти. А теперь что - нужен обученный AI бот? :) И что тогда - что-то произойдет? А что конкретно?

KPG писал(а):
т.к. даже по отдельности, многое из представленного в этом списке так или иначе есть в реализации на Форт,

А если в целом, список очень неоднородный по сложности, да и по соотношение язык/алгоритм. Я даже не рассматриваю тот интересный момент, что при попытках реализовать хоть что-то за пределами простейших формул gforth придется переделывать вплоть до серьезных архитектурных изменений. А некоторые примеры там такие, что от Форта останется меньше 1%, а все остальное будет уровня "пришлось сначала на Форте сделать инструменты, и на них уже и писать".
Сообщение Добавлено: Пн май 01, 2023 01:29
  Заголовок сообщения:  Re: В общем! О грустном. :(  Ответить с цитатой
Hishnik писал(а):
Похоже на всплеск энтузиазма. Очередное "а давайте все вместе соберемся и продвинем Форт". Что плохо:.

Если это всё предполагается делать и/или с применением обученного AI бота на Форт язык
с транспиляцией в Форт и других языков, то почему не реально?

т.к. даже по отдельности, многое из представленного в этом списке так или иначе есть в реализации на Форт,
Сообщение Добавлено: Пн май 01, 2023 01:12
  Заголовок сообщения:  Re: В общем! О грустном. :(  Ответить с цитатой
Цитата:
Почему вопрос о демонстрации примеров кода метапрограммирования на Форт (Forth) труден для ответа?

Ответы AI: :)
Sage:
Цитата:
Вопрос о демонстрации примеров кода метапрограммирования на Форт (Forth) может быть трудным для ответа по нескольким причинам.

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

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

Наконец, Форт не является очень распространенным языком программирования, поэтому примеров метапрограммирования на этом языке может быть не так много, как на более популярных языках, таких как C++, Python или Java. Однако, существует ряд проектов, использующих метапрограммирование на Форт, например, библиотека Gforth.

Claude+
Цитата:
Есть несколько причин, почему примеры метапрограммирования на Форте могут быть трудны для понимания:

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

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

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

Форт использует обратную польскую нотацию, а не инфиксную. Это может быть неудобно для восприятия, особенно для сложных выражений.

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

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

Claude-instant
Цитата:
Вопрос о демонстрации примеров метапрограммирования на языке Forth труден для ответа по нескольким причинам:

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

Метапрограммирование в Forth достаточно глубокое и рекурсивное. Примеры могут включать в себя другие примеры, создавая цепочки динамического изменения кода. Это делает их трудными для компактного описания.

Философия Forth ориентирована на итеративное развитие и эксперименты. Многое создается интуитивно, а не по заранее спланированным правилам. Это подразумевает, что хорошие примеры метапрограммирования лучше найти и изучить самостоятельно, а не получить их из готового ответа.

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

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

ChatGPT:
Цитата:
Вопрос о демонстрации примеров кода метапрограммирования на Форт (Forth) может быть труден для ответа по нескольким причинам:

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

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

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

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

Dragonfly
Цитата:
Потому что метапрограммирование на Форт (Forth) может быть достаточно сложным и имеет множество различных применений. Таким образом, примеры демонстрирующие данную технику отличаются друг от друга и зависят от конкретной задачи.


P.S. Что приводят эти "AI" в качестве примеров кода метапрограммирования на Форт даже приводить особого смысла нет.
И, даже базовый Форт не изучиiшь с помощью этих AI.
Сообщение Добавлено: Вс апр 30, 2023 13:27
  Заголовок сообщения:  Re: В общем! О грустном. :(  Ответить с цитатой
Задал тут chatGPT вопрос про RPN
Цитата:
Можно ли утверждать, что в Форт языке нет даже RPN т.к. слово может быть как переменной так и операндом в любой позиции своего использования.


Цитата:
Нет, нельзя утверждать, что в Форт языке нет Reverse Polish Notation (RPN).

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

Например, операторы SWAP, DUP и DROP могут быть использованы для манипуляций со стеком, а операторы, как +, -, *, / и MOD, могут выполнять математические операции над данными на стеке. Эти операторы можно использовать в RPN стиле, где операнды помещаются на стек, а затем операции выполняются с использованием этих операндов.

Таким образом, в Форт языке возможно использование RPN нотации, несмотря на то, что слова могут быть как переменными, так и операндами в зависимости от их контекста.


Цитата:
Но, если переменная в Форте яляется активным словом, то как её различать от слова-операции по классификации классичесуих языков?


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

Однако, в Форт языке существует некоторая конвенция именования переменных и операций, которая может помочь различать их. Как правило, переменные в Форт языке имеют имена, начинающиеся с буквы, а операции имеют имена, состоящие из одного или нескольких символов операторов, таких как +, -, *, / и т.д.

Кроме того, в Форт языке операции могут быть определены как слова-операторы, которые имеют особый синтаксис и аргументы. Например, операция сложения может быть определена как слово +, которое принимает два аргумента со стека и помещает результат на стек.

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


Цитата:
Но, если язык предполагает использования неявной конвенции в именовании своих ключевых слов как, к примеру, + и D+ и возможность переопределения их семантики, то почему, всё же, использование RPN важно для языка, а не просто определение формата выполнения Форт программы, как последователность взаимодействующих слов вне структуры RPN (RPN ведь, подразумевает структурный код программы?)


Цитата:
Вы правы, Форт язык предполагает использование неявной конвенции в именовании своих ключевых слов, и возможность переопределения их семантики, что может создавать определенную сложность при использовании RPN нотации в программировании на этом языке.

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

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

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


P.S. Смущает только, что AI зачастую Форт могут идентифицировать как Фортран, если явно это не указать как Форт (Forth).
Сообщение Добавлено: Пт апр 28, 2023 23:56
  Заголовок сообщения:  Re: В общем! О грустном. :(  Ответить с цитатой
KPG писал(а):
Это такая форма Форт "юмора"? или проект будет наполняться.
Trying to complete 125 projects from in GForth

Похоже на всплеск энтузиазма. Очередное "а давайте все вместе соберемся и продвинем Форт". Что плохо:
1. Широкий диапазон сложности. Числа Фибоначчи и конвертеры mp3-wav - это существенно разная сложность.
2. Акцент на утилиты и библиотеки вместо продуктов. Если даже написать да вот тот же конвертер, им не будут пользоваться, поскольку такие конвертеры уже есть. "А зато на Форте" интересно только энтузиастам, поскольку для использования будут сравнивать измеримые параметры.
2а. "Запись CD" - серьезно?....

Что хочется видеть:
1. Описание итогового продукта с понятной функциональностью (это всегда), причем реализация такой функциональности требует интерактивной работы, активного использования скриптов, JIT-компиляции (это уже характерно для Форта).
2. Аккуратно выверенного нишевого применения. Глобальные проекты вида "нейросеть", "обработка изображений", "веб-сервер" имеют множество реализаций хотя бы в силу массовой востребованности. Выходить с таким проектом на деле будет означать просто ознакомление, что вообще требуется в этой сфере и в каких направлениях требуется развитие.
3. Убрать gforth, да :) Не "заменить этого дракона на другого дракона", а просто устранить ситуацию, когда проект начинается с выбора транслятора. 90% проекта и более - это не транслятор. Ведь транслятор Форта очень просто написать, все же это знают, правильно? :) Ну значит и переписать его, адаптировав к проекту в целом тоже просто.
Сообщение Добавлено: Пт апр 28, 2023 15:30
  Заголовок сообщения:  Re: В общем! О грустном. :(  Ответить с цитатой
Это такая форма Форт "юмора"? или проект будет наполняться. :)
Trying to complete 125 projects from in GForth

P.S. GPT на эту ссылку так отреагироал.

Цитата:
Спасибо за ссылку! Однако, я не могу просматривать веб-страницы или иметь доступ к внешним ресурсам. Тем не менее, я могу предложить вам несколько идей для проектов, которые могут быть реализованы в рамках gForth. Это могут быть проекты, связанные с обучением, разработкой программного обеспечения, аппаратными средствами и другими областями. Вот некоторые идеи:

Интерактивный обучающий курс по gForth: Создайте серию уроков и упражнений, которые помогут новичкам и опытным программистам изучить gForth.

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

Симулятор микроконтроллеров на gForth: Разработайте симулятор микроконтроллеров, который позволяет пользователям тестировать и отлаживать программы на языке gForth.

Компилятор с экспортом в различные архитектуры: Создайте компилятор на основе gForth, который позволяет экспортировать код на разные архитектуры, такие как ARM, x86 или RISC-V.

Робототехника и автоматизация с использованием gForth: Разработайте роботов или автоматизированных систем, управляемых программами на языке gForth.

Игровой движок на gForth: Создайте простой игровой движок, который позволяет разработчикам создавать игры на языке gForth.

Библиотека для обработки текста: Разработайте библиотеку для работы с текстом на языке gForth, включая функции для обработки и анализа текста.

Web-сервер на gForth: Создайте простой web-сервер, который может обрабатывать HTTP-запросы и отдавать статический контент, используя gForth.

gForth для интернета вещей: Используйте gForth для разработки программного обеспечения, предназначенного для устройств интернета вещей (IoT).

Графический интерфейс пользователя для gForth: Создайте простой графический интерфейс пользователя (GUI), который позволяет пользователям взаимодействовать с gForth-приложениями.

Это всего лишь несколько идей, которые могут быть реализованы в рамках gForth. Вы можете выбрать одну из них или придумать свою собственную идею на основе интересов и опыта.
Сообщение Добавлено: Пт апр 28, 2023 07:43
  Заголовок сообщения:  Re: В общем! О грустном. :(  Ответить с цитатой
KPG писал(а):
Есть ли шанс "прорваться" Форту в область использования в тематики AI и нейросетей?
В силу присущих ему качеств, как гибкость, компактность, мощности, простоты ... в качестве и, к примеру,
какого то компонента технологии AI?

Форта тут мало, тут опять-таки больше предметной области. Если автор/коллектив разбираются в AI, к их работам будет интерес. Если они ничего интересного не дают, а вдобавок хватают всех за рукав и кричат "оно на Форте!" - будет минус еще и Форту.
Шитый код будет медленнее сам по себе, если пытаться делать слова для работы с отдельными нейронами. В качестве обертки возможно и пригодится, для этого опять-таки нужно взять проект, попробовать Форт с прицелом на его сильные стороны, и показать результат.
KPG писал(а):
(Тузов В.П. на Win32Forth создал наполнение семантической технологии SemLP, правда в i-net мало информации об этой разработке)

Попробую угадать. Может быть, дело в том, что само по себе название технологии еще не гарантирует ее победного шествия? :) Надо же продолжать заниматься, чтобы были результаты.
KPG писал(а):
Интересно, а на Алтае Форт|ёры ещё есть FORTH page Бийского технологического института., а то даже архивы с сохранённой копии веб странички
сайта не посмотреть.

И неизвестна дальнейшая судьба Форта в лаборатории АПКС СГАУ

Ну и опять - работают не стены лаборатории, а люди.
KPG писал(а):
Надеюсь, что возможной, благоприятной научной институтской судьбе Форта не дадут угаснуть пользователи Телеграмм канала по Форт,
если достаточное количество коих представителей институтской общественности там присутствует. :)

Институтская общественность и так общается :)
Сообщение Добавлено: Вт апр 25, 2023 16:29
  Заголовок сообщения:  Re: В общем! О грустном. :(  Ответить с цитатой
Hishnik писал(а):
Да уж, интересно.

Есть ли шанс "прорваться" Форту в область использования в тематики AI и нейросетей?
В силу присущих ему качеств, как гибкость, компактность, мощности, простоты ... в качестве и, к примеру,
какого то компонента технологии AI?

P.S. Был же заход и на "AI" в этом проекте Mind4th
и в некоторых других примерах обработки естественного языка.
(Тузов В.П. на Win32Forth создал наполнение семантической технологии SemLP, правда в i-net мало информации об этой разработке)

suddenly
Цитата:
Проект морфологического разбора языков тюркской группы на Forth (Форт)


Интересно, а на Алтае Форт|ёры ещё есть FORTH page Бийского технологического института., а то даже архивы с сохранённой копии веб странички
сайта не посмотреть.

И неизвестна дальнейшая судьба Форта в лаборатории АПКС СГАУ

Надеюсь, что возможной, благоприятной научной институтской судьбе Форта не дадут угаснуть пользователи Телеграмм канала по Форт,
если достаточное количество коих представителей институтской общественности там присутствует. :)
Сообщение Добавлено: Вт апр 25, 2023 11:10
  Заголовок сообщения:  Re: В общем! О грустном. :(  Ответить с цитатой
KPG писал(а):
Не вижу никаких противореий. Разве Форт код по ссылкам на него не рабочий и не работающий?

Я никакого кода на Форте для 3D не вижу. Тем более что из-за сотни строк кода изучать Интернет на предмет поиска этой сотни в готовом виде... как-то странно.

KPG писал(а):
Футбольное сообщество, зачастую, можно встретить массово на футбольных трибунах а не футбольных площадках.
Ещё некоторые футбольные фанаты "рекламируют" свою любимую футбольную команду и хотят видеть билборды с ней.
Отдельные члены любителей футбола показывают картинки со своим участием как они могут жонглировать футбольным мячём.

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

KPG писал(а):
. CIFORTH


Код:
    -16 32 or 64 bit

    -interfacing through BIOS, MSDOS INT 21, MSDOS DPMI, WIN32 dll,
      unix systemcalls (OSX, and LINUX) or dynamic (.so) libraries

The source library is Forth source. It is a text file divided
in blocks of 16 lines of 63 chars each.


Воистину жонглирование футбольным мячом... :)

KPG писал(а):
MuForth


Код:
I initially wrote muforth because I wanted to try out some implementation ideas.


Еще лучше. У него идеи, а людям теперь разбираться. Тем более, что...
Код:
Sadly, there isn’t a lot of documentation right now. A good place to start is to read the source.


KPG писал(а):
Может имеет смысл сделать местный опрос у какого количества участников местного сообщества работает
Форт код на постоянной основе?


Да уж, интересно.
Сообщение Добавлено: Вс апр 23, 2023 13:56
  Заголовок сообщения:  Re: В общем! О грустном. :(  Ответить с цитатой
Hishnik писал(а):
То есть работающий код "не существует", а ссылка - "существует"? :))

Не вижу никаких противореий. Разве Форт код по ссылкам на него не рабочий и не работающий?

Hishnik писал(а):
А, например, футбольное сообщество - это которые коллекционируют ссылки на матчи, или которые сами ходят играть на ближайшую спортплощадку?

Футбольное сообщество, зачастую, можно встретить массово на футбольных трибунах а не футбольных площадках.
Ещё некоторые футбольные фанаты "рекламируют" свою любимую футбольную команду и хотят видеть билборды с ней.
Отдельные члены любителей футбола показывают картинки со своим участием как они могут жонглировать футбольным мячём. :))

P.S. CIFORTH
MuForth

Может имеет смысл сделать местный опрос у какого количества участников местного сообщества работает
Форт код на постоянной основе? :)
Сообщение Добавлено: Вс апр 23, 2023 11:30
  Заголовок сообщения:  Re: В общем! О грустном. :(  Ответить с цитатой
KPG писал(а):
Ничего не значит, т.к. то что сделано по Mesh 3D на Форт не существует, кроме какого то выше сообщения, в отлмчии от ссылки на представленный внешний проект в рамках другой реализации.

То есть работающий код "не существует", а ссылка - "существует"? :))

KPG писал(а):
и Форт сообществу, предположу, от озвучивания сей мысли - нe холодно и не жарко.

А, например, футбольное сообщество - это которые коллекционируют ссылки на матчи, или которые сами ходят играть на ближайшую спортплощадку?
Сообщение Добавлено: Вс апр 23, 2023 03:19
  Заголовок сообщения:  Re: В общем! О грустном. :(  Ответить с цитатой
Hishnik писал(а):
И что должен значить тот факт, что это уже "где-то когда-то кем-то сделано"?

Ничего не значит, т.к. то что сделано по Mesh 3D на Форт не существует, кроме какого то выше сообщения, в отлмчии от ссылки на представленный внешний проект в рамках другой реализации.

Hishnik писал(а):
Мне надо для себя, встроенное в определенную программу и дополненное построениями кроме собственно mesh.

Ну надо так надо, а мне, к примеру, и Форт сообществу, предположу, от озвучивания сей мысли - нe холодно и не жарко.
Сообщение Добавлено: Вс апр 23, 2023 01:37
  Заголовок сообщения:  Re: В общем! О грустном. :(  Ответить с цитатой
KPG писал(а):
Надеюсь, что это важное/великое личное достижение для ...

В Кварке такое уже было. Сейчас воспроизведено. Необходимость есть практическая.
KPG писал(а):
Mesh 3D view

P.S. Polygon mesh

И что должен значить тот факт, что это уже "где-то когда-то кем-то сделано"? Мне надо для себя, встроенное в определенную программу и дополненное построениями кроме собственно mesh.
Сообщение Добавлено: Вс апр 23, 2023 00:57
  Заголовок сообщения:  Re: В общем! О грустном. :(  Ответить с цитатой
Hishnik писал(а):
Тем временем я построил 3d mesh в Ирбисе в OpenGL. Как иллюстрация того, что при отсутствии практической цели все дороги ведут в никуда.

Надеюсь, что это важное/великое личное достижение для ... :)
Mesh 3D view

P.S. Polygon mesh
Сообщение Добавлено: Сб апр 22, 2023 21:03

Часовой пояс: UTC + 3 часа [ Летнее время ]


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB