Я хочу моделировать биологическую систему в Haskell. Я собираюсь сделать это следующим образом.Параллельные (или параллельные) объекты (или объекты, подобные объектам) в Haskell
- Каждая ячейка является сущностью; как объект в объектно-ориентированном программировании. Этот объект может читать глобальные переменные и обновлять их. Каждый объект может иметь более одной функции. Каждая функция вычисляет что-то, когда некоторые глобальные переменные достигают определенных значений. В зависимости от результата вычисления каждая функция обновляет некоторую глобальную переменную. Что-то вроде языка описания аппаратных средств, такого как VHDL, Bluespec и Verilog.
Каков рекомендуемый способ сделать это в Haskell. Я хорошо знаю базовый Хаскелл. Мне также нравится Монада и Стрелы. Я мог многое понять, когда читал реактивную библиотеку бананов.
Во-первых, слова «parallel» и «concurrent» имеют немного другое значение, поэтому выберите один, пожалуйста. Вы упомянули «Каждая функция вычисляет, когда ...» Неясно, что вычисляет эта функция. Также я думаю, что важно предоставить нам информацию о том, насколько надежна ваша модель. Планируете ли вы получить достоверную научную информацию или просто повеселитесь? Кажется, вы описали свои средства, а не цели. – user3974391
P.S. Когда я слышу слова «объекты», «читаю и пишу глобальные переменные» и т. Д., Я всегда начинаю задаваться вопросом, почему вопросик выбирает чистый функциональный язык.Да, в Хэкелле можно подражать всем этим, но это не естественный способ использовать его. Для этого, конечно, будет удобнее выбирать для этого какой-то другой язык. – user3974391
@ user2894391 Обновлен вопрос. – Dilawar