Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Чт апр 25, 2024 02:24

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 858 ]  На страницу Пред.  1 ... 50, 51, 52, 53, 54, 55, 56 ... 58  След.
Автор Сообщение
 Заголовок сообщения: Re: Интересные ссылки
СообщениеДобавлено: Пн май 15, 2023 01:38 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Да я что-то не вижу значимого объема настолько качественного Форт-кода, чтобы можно было всерьез рассчитывать на скачиваемую кодовую базу. Для glueware ожидать готовых решений странно, это в принципе часть ПО, которая пишется под проект или "под себя". Достаточно по ссылке посмотреть - за 10 месяцев там вобщем-то ничего такого, что не пишется за полчаса с учетом особенностей своего диалекта.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Интересные ссылки
СообщениеДобавлено: Пн май 15, 2023 22:55 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 2141
Благодарил (а): 8 раз.
Поблагодарили: 74 раз.
Hishnik писал(а):
вобщем-то ничего такого, что не пишется за полчаса с учетом особенностей своего диалекта.

Не совсем, конечно, за полчаса т.к. в приложениях приведён пример имитации пожара в лесу oт события - удара молнии.
(в рамках Форт системы WabiForth сделанной нативно для Raspberry 3B+)
Вот пост об этом на сторонней площадке
(удобной для размещения таких постов со встраиванием видео с youtube)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Интересные ссылки
СообщениеДобавлено: Вт май 16, 2023 00:35 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
KPG писал(а):
Не совсем, конечно, за полчаса т.к. в приложениях приведён пример имитации пожара в лесу oт события - удара молнии.
(в рамках Форт системы WabiForth сделанной нативно для Raspberry 3B+)

Да там разбираться в нюансах дольше, чем писать. Вот прямо сейчас в Ирбисе разве чего-то не хватает для подобной программы?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Интересные ссылки
СообщениеДобавлено: Вт май 16, 2023 00:50 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 2141
Благодарил (а): 8 раз.
Поблагодарили: 74 раз.
Hishnik писал(а):
Да там разбираться в нюансах дольше, чем писать. Вот прямо сейчас в Ирбисе разве чего-то не хватает для подобной программы?

Думаю, что возможно нет, но мне не нравятся закрытые программы и не запускаемые в Linux (32|64), Windows32. :)

P.S. Встретился хобби-проект где автор в рамках FPGA и Arduino (Teensy 4.1) сделал процессоры 8088, Z80, 6502 ...
и продемонстрировал их работу в платах ПК с запуском демо (для 8088: MPH Demo https://www.youtube.com/watch?v=AAgtQljp0Tc
на программной симуляции 8088 для Teensy 4.1)
Ted Fried's MicroCore Labs Projects

MicroCore Forth CPU - VHDL (Klaus Schleisiek)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Интересные ссылки
СообщениеДобавлено: Вт май 16, 2023 01:54 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
KPG писал(а):
Думаю, что возможно нет, но мне не нравятся закрытые программы и не запускаемые в Linux (32|64), Windows32.

Это причина написать свою, запускаемую на нужных платформах.
KPG писал(а):
MicroCore Forth CPU - VHDL (Klaus Schleisiek)

О, все-таки идея с литералом, вдвигаемым на стек, прижилась :) Но применений ведь нет? Только пресловутая открытость и возможность свободного использования?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Интересные ссылки
СообщениеДобавлено: Вт май 16, 2023 03:12 
Не в сети
Аватара пользователя

Зарегистрирован: Вт авг 12, 2008 03:18
Сообщения: 327
Откуда: Москва
Благодарил (а): 36 раз.
Поблагодарили: 7 раз.
Цитата:
Да я что-то не вижу значимого объема настолько качественного Форт-кода, чтобы можно было всерьез рассчитывать на скачиваемую кодовую базу.


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

_________________
Линукс решает, винда глотает.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Интересные ссылки
СообщениеДобавлено: Вт май 16, 2023 12:46 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
vikt писал(а):
Мне кажется, что реализовать некий стандартный форт легче, чем документировать какой-нибудь
диалект, да еще в отсутствии некого эталона. Но некоторые сложности стандартизации есть.

Сложности прежде всего в том, что идти сверху вниз можно только при наличии огромного опыта. Тогда такой стандарт действительно будет правильно разворачиваться в конкретных применениях. Иначе все превратится в фрагментарное затыкание дыр, усугубляемое эффектом "демонстрации лояльности" - некоторые слова-маркеры будут специально использоваться для проверки того, что фортеры подчинились новым веяниям.
Снизу вверх для индивидуальной работы идти практичнее. Какое-то минимальное ядро Форта помогает сделать старт (не придумывать же заново DUP IF CREATE и подобные устоявшиеся слова), но если разрабатываемый диалект не помогает решать задачи вот прямо здесь и сейчас, он уходит в разряд хобби и становится сборником странного. Когда рассуждают о "Форте общего назначения", это с большой вероятностью означает непонимание, для чего конкретно он может потребоваться. Причем не якобы конкретно, в виде, допустим, "для робототехники", а абсолютно приземленного конкретного названия "платформа с моторами в колесах, ультразвуковым дальномером и BlueTooth, на борту ARM". Если для такой платформы получится сделать приложение, в котором будет удобнее, это хороший Форт. Если работа на Форте будет только из упрямства - ну, соответственно, плохой Форт, что тут еще сказать. А что добавить в такой Форт, чтобы стало удобно - вот это и вопрос, для прояснения которого надо брать и пробовать.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Интересные ссылки
СообщениеДобавлено: Чт май 18, 2023 18:31 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1293
Благодарил (а): 4 раз.
Поблагодарили: 18 раз.
Hishnik писал(а):
"Поэтому давайте напишем один Универсальный Форт Для Всех" :))


Форт-системы были разрознены, но был один великий лидер, что объединил их все...

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Интересные ссылки
СообщениеДобавлено: Чт май 18, 2023 18:33 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1293
Благодарил (а): 4 раз.
Поблагодарили: 18 раз.
Hishnik писал(а):
Сложности прежде всего в том, что идти сверху вниз можно только при наличии огромного опыта. Тогда такой стандарт действительно будет правильно разворачиваться в конкретных применениях. Иначе все превратится в фрагментарное затыкание дыр, усугубляемое эффектом "демонстрации лояльности" - некоторые слова-маркеры будут специально использоваться для проверки того, что фортеры подчинились новым веяниям.
Снизу вверх для индивидуальной работы идти практичнее. Какое-то минимальное ядро Форта помогает сделать старт (не придумывать же заново DUP IF CREATE и подобные устоявшиеся слова), но если разрабатываемый диалект не помогает решать задачи вот прямо здесь и сейчас, он уходит в разряд хобби и становится сборником странного. Когда рассуждают о "Форте общего назначения", это с большой вероятностью означает непонимание, для чего конкретно он может потребоваться. Причем не якобы конкретно, в виде, допустим, "для робототехники", а абсолютно приземленного конкретного названия "платформа с моторами в колесах, ультразвуковым дальномером и BlueTooth, на борту ARM". Если для такой платформы получится сделать приложение, в котором будет удобнее, это хороший Форт. Если работа на Форте будет только из упрямства - ну, соответственно, плохой Форт, что тут еще сказать. А что добавить в такой Форт, чтобы стало удобно - вот это и вопрос, для прояснения которого надо брать и пробовать.


Я пишу форт just for fun в свободное от лени и других увлечений время. Мне в какую палату? :shuffle; :lol:

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Интересные ссылки
СообщениеДобавлено: Пн май 22, 2023 08:34 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 2141
Благодарил (а): 8 раз.
Поблагодарили: 74 раз.
Форт подобная VM на С (похожая на Фантазийную консоль с графикой SDL и звуком)
Arkam - Stack Machine VM

Для запуска примеров достаточно выбрать в Makefile - цель.
В примерах небольшой спрайтовый редактор, вывод графики, синтез fm случайных beat образцов звука.

Есть и реализация на Arkam Форта для x86-64 elfort

Изображение

P.S. Синтаксис и семантика слов Arkam может быть полезна для рассмотрения в рамках понимания конкатенативных
языков программирования.

P.P.S. Ещё навеяло брутальной графикой из Arkam.
Кто нибудь соприкасался с программированием для Palm на Форт (Quartus Forth)
и сохранил архивы по этой системе, а то на сайте убраны разделы дополнительного материала по этому Форт,
а в Веб Архиве не всё сохранено.

Программирование для Palm OS: ставим CodeWarrior и оживляем ТСД


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Интересные ссылки
СообщениеДобавлено: Вт май 23, 2023 06:28 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 2141
Благодарил (а): 8 раз.
Поблагодарили: 74 раз.
Konilo
Цитата:
Konilo — это небольшой практичный Форт для небольшого виртуального компьютера с именем ilo. Полная система состоит из ilo vm, файла образа с системой Konilo и набора блоков для хранения кода и данных.

Функции

• архитектура с двумя стеками
• 64 тыс. ячеек памяти с пословной адресацией (32 бита)
• 30 инструкций; четыре инструкции на слово
• блочное запоминающее устройство
• прямой threaded code
• включает редактор блоков и образцы блоков
• работает всего на 384 КБ физической памяти


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Интересные ссылки
СообщениеДобавлено: Ср май 24, 2023 09:44 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 2141
Благодарил (а): 8 раз.
Поблагодарили: 74 раз.
A stack based compiled systems programming language. (x86-64)
stas - st(ack) as(sembler)

P.S. В начале собирается на Fasm из кода в директории bootstrap,
а потом может и пересобрать себя (файл stas.stas) с выводом в ассемблерный файл.

Возможно, по задумке, предполагается сделать дизайн языка приближающегося к инфраструктуре по возможностям VLang
Vlang on rosettacode


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Интересные ссылки
СообщениеДобавлено: Пн май 29, 2023 22:30 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 2141
Благодарил (а): 8 раз.
Поблагодарили: 74 раз.
Оформил собщением на сторонней площадке информацию о проекте ChatFORTH

Здесь оставил сообщение

Изображение


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Интересные ссылки
СообщениеДобавлено: Пн май 29, 2023 22:59 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Напомнило про творение ChatGPT о моем коте:

Oh, Dionis, feline warrior bold and true
With fur as black as midnight's darkest hue
His claws as sharp as any sword in hand
And eyes that blaze with fire, fierce and grand

His heart beats strong, a lion's roar within
A noble spirit, pure and free from sin
He prowls the halls, a sentinel of might
Defending all he loves, both day and night

His loyalty to family knows no bounds
A steadfast protector, his courage astounds
Through darkest night and fiercest battle fray
Dionis will stand tall, come what may

Oh, how we marvel at this cat so brave
A hero in our eyes, his honor we'll save
For he is more than just a pet, you see
He is a noble creature, born to be free

So let us raise our voices high and sing
Of Dionis, the cat warrior, our king
For in his heart beats courage pure and true
And we are honored to call him our friend, too.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Интересные ссылки
СообщениеДобавлено: Пн май 29, 2023 23:24 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 2141
Благодарил (а): 8 раз.
Поблагодарили: 74 раз.
Напиши поэму о Форт (Forth) языке. :)
Цитата:
Форт - язык, что высок и могуч, Он говорит с машиной на равных. В нем слова - это команды, Которые делают все, что ты хочешь.

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

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

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

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

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

Но Форт - это не только язык программирования, Он - это настоящее искусство. Создавать программы на Форте - это как рисовать картины, Где каждая строка - это кисточка художника.

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


P.S. Словарный запас ChatForth: words
Код:
> words

-------- forth (329 words) --------
end-code // stop parse-help privacy code _init_ version <selftest> </selftest> execute interpret-only immediate /// private nonprivate .(( \ \s compile-only (create) reveal (space) BL CR public [ ] compiling last exit ret rescan-word-hash all (forget) : ; (') ' #tib #tib! branch 0branch ! @ >r r> r@ drop dup swap over 0< here! here boolean and or not && || AND OR NOT XOR true false "" [] {} undefined null + * - / 1+ 2+ 1- 2- mod div >> << >>> 0= 0> 0<> 0<= 0>= = == === > < != !== >= <= abs max min <> doNext , depth pick roll . space word [compile] compile invert create next AI! cls abort literal alias nip rot -rot 2drop 2dup negate within ['] allot for begin until again if ahead never repeat then aft else while char ?stop ?dup case of endof endcase variable +! ? chars spaces .( ." .' s" s' s` does> count accept refill [else] [if] [then] js> js: :: :> ( "msg"abort abort" "msg"?abort ?abort" <text> </text> <comment> </comment> <js> </jsN> </js> </jsV> trim constant value to base hex decimal base@ base! sleep stopSleeping nap cut -word rewind ?rewind >t t@ t> [begin] [again] [until] [for] [next] (run:) run: run> int float random nop drops (.r) .r (.0r) .0r dropall (ASCII) ASCII>char ASCII .s wordhash>array word_select /*remove*/ bye readTextFileAuto tib.append tib.insert EOF textarea-include sinclude include obj>keys memberCount isSameArray (dump) dump d (see) see notpass passed fastInner be bd bp (*debug*) q *debug* warning-on warning-off *** [r r] [d d]

jsc cr url args --voc.f-- forth-wordlist isMember get-context set-context get-current set-current (vocabulary) vocabulary only also previous forth current get-order order definitions get-vocs not-only vocs find-vocs search-wordlist prioritize forget (marker) marker words skip2 ?skip2 source-code-header --html5.f-- html5.f --element.f-- element.f --platform.f-- platform.f run-inputbox refresh {F5} {F2} toggle-inputbox-edit-mode {shift-f2} {ctrl-f2} {alt-f2} active-textarea {F9} {F10} {F4} {esc} {up} {down} {backSpace} {Tab} {ctrl-break} help(word) (help) help --misc.f-- misc.f --ls.f-- ls.f --chatgpt.f-- chatgpt.f
-------- html5.f (37 words) --------
stringify parse createElement setAttribute appendChild getElementById getAttribute replaceNode insertBefore insertAfter lastChild lastElementChild removeElement eleHead eleBody eleDisplay doElement <e> <o> <h> </o> <o>escape </h> </e> open pickFile input.file input.radio ^node node^ children []children children[] remove-script-from-HTML remove-style-from-HTML remove-select-from-HTML remove-onmouse-from-HTML
-------- element.f (12 words) --------
ce-history ce! ce@ <>escape jump-to-ce@ se (ce) ce ce< (er) er list-links
-------- misc.f (22 words) --------
converter md>html jquery.version sign round-off --> ==> writeTextFile DoReadText file-buffer readTextFile tab-spaces (^tab>spaces) ^tab>spaces all-blank? <string-array hit-left-end? <paragraph (unindent) unindent (<code>escape) <code>escape
-------- ls.f (13 words) --------
ls_last ls_reset ls_last_exist? ls_get_dir ls_datetime ls_size ls_type ls_flush ls_dir_raw dir save-obj-to-localStorage read-obj-from-localStorage remove
-------- chatgpt.f (124 words) --------
api_model ChatModels ChatModel? prompt messages temperature max_tokens top_p frequency_penalty presence_penalty api_key stops api_type api_base api_version model_type chatml [-1] [-2] [-3] chatlkk? local? office? space? endpoint endpoints init-server-parameters url.protocol url.hostname url.pathname url.port launch-location tag-system tag-user tag-assistant tag-start tag-end ChatML-tags acceptable-ChatML-tags ChatML-tags? acceptable-tag? send_backend_request ai? available-models davinci gpt4 gpt35 (context) context trims >limit >price >token_count prompt>data call-chatgpt-API response>complete complete>message list chat-dict <system> </system> <user> </user> <assistant> </assistant> <note> </note> snip del flush (>prompt) >prompt (>messages) >messages (token-count) cost info prompt-cost (complete-cost) complete-cost (complete) (chat-complete) (.chat) .chat complete chatcomplete chat user: User: <macro> visible </macro> DoSave DoResend DoClose DoPrevturn DoNextturn DoDuplicate DoBigger DoSmaller edit_idx_check edit_html edit save restore save-context restore-context save-page restore-page correctify: timon&pumbaa jb reset english-teacher joke "tutor" tutor load_chatforth_book ai-included-word-helps (manual-for-help:) manual-for-help: help: --- DoApiKey
OK


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 858 ]  На страницу Пред.  1 ... 50, 51, 52, 53, 54, 55, 56 ... 58  След.

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


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

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