Для своей маленькой библиотеки имитационного моделирования Айвика [http://sourceforge.net/projects/aivika/] в документацию добавил законченную главу о дискретно-событийном моделировании (DES) и интеграции подмоделей DES в единую гибридную модель. Там получилось все очень функционально.
Вообще, я часто думаю, а можно ли перевести библиотеку на Хаскель? Тем более, самый первый прототип был именно на Хаскеле. Но тут два препятствия. Во-первых, нужна мемоизация, которая бы действовала, пока симуляция запущена. Ну, это, мне кажется, можно обойти, ради скорости сфальшивив в некоторых местах через unsafePerformIO. Все равно, все будет спрятано за монадами, что даст определенные непробиваемые гарантии (как сейчас на F# в Айвике).
Второе препятствие более сложное и принципиальное. Имитационные модели почти все стохастические, т.е. недетерминированные. И я пока не знаю, как это эффективно реализовать, да так, чтобы система типов осталась простой и ясной. В F# с этим проблем нет.
Комментариев нет:
Отправить комментарий