Ответ 1
Вы можете посмотреть поток, инициированный Люком Палмером здесь: http://www.haskell.org/pipermail/haskell-cafe/2010-February/thread.html#73881
Поскольку я понял, что логика правил игры должна обрабатывать огромную сложность, я рассматриваю возможность использования нестандартного языка в игровом поле в качестве языка игры script. Причина в игре script представляет сложную логику с меньшим количеством кода. Поэтому требуется очень хорошо отвлеченный язык.
Но в наиболее хорошо абстрагированных языках используется GC. И, как правило, GCs делают загрузку процессора. В основном он откладывает операцию очистки памяти и делает это сразу. Очень важна для графики в реальном времени, включая игры и графический интерфейс.
AFAIK, Haskell GC немного отличается от других языков, основанных на GC, что является причиной неизменяемого атрибута. Трудно себе представить. Я не мог найти этот документ подробно.
Чем отличается? И действительно ли это пакетный пакет для длительных программ? (хорошо распределенная нагрузка со временем, ручная полная команда GC может быть вызвана для каждого тика)
Вы можете посмотреть поток, инициированный Люком Палмером здесь: http://www.haskell.org/pipermail/haskell-cafe/2010-February/thread.html#73881
Возможно, вас заинтересует в этом блоге Саймона Марлоу о перемещении GHC из коллекции stop-the-world в нечто более параллельное периоду паузы более подходит для приложений в режиме реального времени, таких как игры.
Я не тестировал профиль латентности GHC самостоятельно, но, насколько я понимаю, эти периоды паузы в 0.0007мс могут показаться маленькими, но они пропорциональны размеру кучи, который является крошечным для этой игрушечной программы tic-tac-toe, так что настоящие кучи и времена пауз будут на порядок больше.
Вам может быть интересна коммерческая игра Haskell, Nikki и роботы, выпущенные в 2011 by Joyride Labs.
У них, похоже, нет проблем с сборщиком мусора.