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

Какую конкретную роль играют комбинаторы более высокого порядка (или производители функций) в конкатенативном и неявном программировании?

Есть ли другой способ реализации конкатенативного языка программирования вместо непосредственного управления стеком?

Насколько тесна связь между упомянутыми комбинаторами и комбинаторной логикой Шонфинкеля?

2 ответа

Решение

В своем ответе "Объясни мне конкатенационные языки, как будто мне 8 лет", я утверждал, что не стоит использовать слово "конкатенация" для описания языков программирования. Эта область, кажется, является частной детской площадкой для Манфреда фон Туна. Нет реального определения того, что составляет конкатенационный язык, и нет зрелой теории, лежащей в основе идеи конкатенативного языка. Поскольку концепция на самом деле не определена, невозможно дать однозначное объяснение роли комбинаторов.

Вы можете предпочесть тратить время на изучение более устоявшихся тем, таких как комбинаторная логика, комбинаторы SK, лямбда-исчисление и машины для сокращения графиков. Если вы интересуетесь бессмысленным программированием с более прагматичной точки зрения, вам стоит изучить APL, Forth и PostScript.

Есть ли другой способ реализации конкатенативного языка программирования вместо непосредственного управления стеком?

Да. Язык энчилада основан на переписывании терминов.

Другие вопросы по тегам