Подтвердить что ты не робот

Реальное использование языков конкатенативного программирования

Каковы некоторые реальные проекты, выполненные в конкатенативных языках, например Forth, Factor, Joy и т.д.?

4b9b3361

Ответ 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 использует конкатенативный язык для компиляции файлов стилей.

Ответ 8

Протокол биткойнов и большинство других криптоконов использует сценарии pubkey и скрипты подписи для проверки транзакций:

Скрипты Pubkey и скрипты подписи объединяют пабликвы и подписи secp256k1 с условной логикой, создавая программный механизм авторизации.

Эти сценарии написанные на конкатенативном языке:

Язык script - это язык, основанный на языке Forth, который намеренно предназначен для того, чтобы быть апатридом, а не полным. Безгражданство гарантирует, что после того, как транзакция будет добавлена ​​в цепочку блоков, нет условия, которое делает ее неизменно неизменной. Turing-неполнота (в частности, отсутствие циклов или gotos) делает язык script менее гибким и более предсказуемым, что значительно упрощает модель безопасности.