Support for agent-based modeling in CodeWorld
- Dominant language
- Haskell
- Stars
- 1.3k
- Forks
- 201
- PR merge metrics
- No merged PRs in 30d
Description
One thing that is attractive, but remains difficult to do in CodeWorld today, is agent-based modeling. Of course the `activityOf` API is sufficient, but it involves a lot of complicated list manipulation to manage a multi-agent simulation in that way.
I'm interested in what a purely functional API for agent-based modeling would look like. One possible resource is https://www.researchgate.net/publication/228900479_FABLES_A_Functional_Agent-Based_Language_for_Multi-Agent_Simulations - it talks about using functional programming for agent-based modeling, and cites as an advantage that the implementation of an agent model in FABLES looks very similar to the mathematical description of the models. That sounds quite promising.
This is very much an open-ended design project. I'm not sure where it will lead, if anywhere.
Contributor guide
Research direction
Start by reviewing the existing activityOf API and the linked FABLES paper on functional agent-based languages. The issue does not name files or tests, so the first task is to locate activityOf in the CodeWorld source and understand its current list-based approach. Done would be an agreed, documented direction for a functional agent-based modeling API.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- haskell
- Domain
- api
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100