Каковы некоторые реальные проекты, выполненные в конкатенативных языках, например Forth, Factor, Joy и т.д.?
Реальное использование языков конкатенативного программирования
Ответ 1
factorcode.org, concatenative.org и tinyvid.tv работают от Furnace, Factor web сервера и фреймворка.
Ответ 2
PostScript является конкатенативным, и, очевидно, существует огромное количество приложений PostScript. Это просто не язык программирования общего назначения.
Ответ 3
Существует несколько устаревший, но очень классный Quartus Forth для Palm, который позволил полностью скомпилировать разработку приложений на устройстве Palm (Forth, как минималистский язык, хорошо работает в этих обстоятельствах). Их главная страница содержит несколько приложений для Palm.
На этой странице FIG есть список в основном встроенных проектов, включая ссылку на очень крутое использование Forth на NASA.
Я встретил парня на конференции Apple в Квинсленде примерно в 1991 году, который продал приложение для планирования дорог, написанное в MacForth.
Кристофер Диггинс говорил о своем языке Cat, который используется внутри Microsoft, чтобы помочь оптимизировать компиляторы, но я не знаю, получилось ли это куда угодно.
Я подозреваю, что PowerMOPS (преемник Неона) может ускользнуть от определения конкатенативного, потому что его большая сделка заключается в добавлении объектной ориентации, что подразумевает примеры.
Ответ 4
Взгляните на FORTH Inc, Они перечисляют несколько проектов, которые они и их клиенты сделали, используя их FORTH.
Ответ 5
Как писал Грег, приписка - это пример мамонта.
Конкатенативные языки появляются повсюду, совершенно естественно, из-за тривиального характера языковой среды исполнения. Это любимый для многих прошивок: я впервые столкнулся с Forth "во плоти" в загрузчике для Sun Sparcstation. Он обеспечивает прошивку для OLPC.
Ocaml parent, Caml был основан на реализации семантики функционального программирования как категориальной абстрактной машины (CAM в Caml).
Bibtex использует конкатенативный язык для компиляции файлов стилей.
Ответ 6
Часть прошивки на Mac (по крайней мере, в старых моделях PowerPC) была написана в Forth.
Смотрите: http://osxbook.com/book/bonus/ancient/whatismacosx/arch_boot.html
Ответ 7
Ответ 8
Протокол биткойнов и большинство других криптоконов использует сценарии pubkey и скрипты подписи для проверки транзакций:
Скрипты Pubkey и скрипты подписи объединяют пабликвы и подписи secp256k1 с условной логикой, создавая программный механизм авторизации.
Эти сценарии написанные на конкатенативном языке:
Язык script - это язык, основанный на языке Forth, который намеренно предназначен для того, чтобы быть апатридом, а не полным. Безгражданство гарантирует, что после того, как транзакция будет добавлена в цепочку блоков, нет условия, которое делает ее неизменно неизменной. Turing-неполнота (в частности, отсутствие циклов или gotos) делает язык script менее гибким и более предсказуемым, что значительно упрощает модель безопасности.