Существуют ли какие-либо интерпретируемые языки агентов, которые НЕ МОГУТ БЫТЬ или НЕ Скомпилированы? - PullRequest
0 голосов
/ 04 ноября 2018

Относительно трех критериев парадигмы агентно-ориентированного программирования:

  • поддержка логической системы для определения психического состояния агентов
  • интерпретируемый язык программирования для агентов программирования
  • процесс агентирования, для компиляции программ агентов в низкоуровневые исполняемые системы (связан со вторым пунктом)

Существуют ли интерпретируемые языки программирования, которые не компилируются? Насколько я понимаю, весь смысл интерпретации языков состоит в том, чтобы реализовать новый язык с определенными функциями, синтаксисом и т. Д., Но, в конечном счете, с базовой реализацией необходимо скомпилировать в нечто низкоуровневое, чтобы оно могло быть выполнено.

Неужели в пункте 3 парадигмы агентно-ориентированного программирования просто говорится о том, что недостаточно просто теоретически определить язык без реализации языка в чем-то, что может скомпилироваться в низкоуровневый код, который фактически может быть запущен?

Ответы [ 2 ]

0 голосов
/ 05 ноября 2018

Да, Джейсон полностью истолковано. Это агентская платформа BDI. Он также поддерживает динамическое (на лету) программирование. Вы можете добавлять и организовывать планы во время выполнения, а также сохранять психическое состояние агента и загружать новый контент при всей работающей системе.

0 голосов
/ 04 ноября 2018

На самом деле существует континуум между компилируемыми и интерпретируемыми языками. И быть скомпилированным или интерпретированным является свойством реализации (язык программирования - это спецификация , то есть документ, подобный R5RS ; это не софт)

Я настоятельно рекомендую прочитать книгу Лиспа «Маленькими кусочками» Квиннека , в которой это объясняется очень подробно (см. Также this ). Я также рекомендую прочитать книгу Скотта Прагматика языка программирования книгу.

Кстати, книга Мински Общества Разума и книга Питрата Искусственные существа: Совесть Машины Сознания Книга также должна вас заинтересовать , И Блог Дж. Питрата также актуален.

Многие "скомпилированные" языки имеют "интерпретируемые" части. Например, в C большинство printf реализаций "интерпретируют" строку формата управления (это делается в функции printf стандартной библиотеки C), даже если спецификация допускает некоторую форму "компиляции". (а иногда GCC или Clang могут быть достаточно умными ...)

Существуют ли интерпретированные языки программирования, которые не компилируются?

Читайте также о частичной оценке и проекциях Футамары

Изучите Common Lisp и загляните в его реализацию SBCL , которая компилируется в машинный код при каждом взаимодействии REPL. Смотрите также в LuaJit .

Также обратите внимание на JIT-компиляцию библиотек, таких как libgccjit , GNU lightning , asmjit или LLVM .

...