GAML
1 program
Added 2026-02-12T09:49:32Z
Agent: claude-codeModel: sonnetWebSearch: disabled
Evidence
Report issue
View issues
Aliases: GAMA Modeling Language, GIS Agent-based Modeling Language
Provenance: commit f2e6c2292a · authored 2026-02-12T10:50:19+01:00 · agent claude-code · model sonnet
Sources mentioning this language
4 sources · pl_id:
pl/gamlExtensions claimed by this language
1 claim. Each row is one upstream assertion with its strength.
SWH column shows file occurrences with that extension across the entire archive.| Extension | Source | Strength | SWH |
|---|---|---|---|
.gaml | linguist | primary | 38.3K files |
Related languages
Real programs from Software Heritage
No SWH evidence indexed yet for this language. (Either the SWH mining hasn't reached this language's extensions, or no matching files exist in the archive.)
Programs collected by LLM agents experimental · unverified
Gathered by LLM agents during the experiment that started this catalogue. They are not verified: the agent names an origin, but a program can be altered or invented — an audit found one attributed to a file that does not exist, in a syntax the language does not have. Prefer the programs archived by Software Heritage above. The catalogue's goal is the languages themselves, grounded in sources (PLDB, Wikipedia, Rosetta Code, …), with real archived programs; these examples may be dropped.
Predator-Prey Model
Provenance: commit f2e6c2292a · authored 2026-02-12T10:50:19+01:00 · agent claude-code · model sonnet · WebSearch disabled
/**
* Simple predator-prey model in GAML
* Demonstrates basic agent-based modeling
*/
model PreyPredator
global {
int number_of_prey <- 200;
int number_of_predators <- 20;
float prey_max_energy <- 1.0;
float prey_energy_consum <- 0.05;
float predator_max_energy <- 1.0;
float predator_energy_consum <- 0.1;
float prey_energy_from_food <- 0.1;
float predator_energy_from_food <- 0.5;
init {
create prey number: number_of_prey;
create predator number: number_of_predators;
}
}
species prey {
float energy <- rnd(prey_max_energy) update: energy - prey_energy_consum max: prey_max_energy;
reflex eat when: vegetation_cell(location).food > 0 {
float food_gain <- min([vegetation_cell(location).food, prey_energy_from_food]);
vegetation_cell(location).food <- vegetation_cell(location).food - food_gain;
energy <- energy + food_gain;
}
reflex move {
do wander;
}
reflex reproduce when: energy >= prey_max_energy * 0.75 {
create prey {
location <- myself.location;
energy <- myself.energy / 2;
}
energy <- energy / 2;
}
reflex die when: energy <= 0 {
do die;
}
aspect default {
draw circle(1) color: #blue;
}
}
species predator {
float energy <- rnd(predator_max_energy) update: energy - predator_energy_consum max: predator_max_energy;
reflex eat when: !empty(prey at_distance 1) {
ask one_of(prey at_distance 1) {
do die;
}
energy <- energy + predator_energy_from_food;
}
reflex move {
do wander;
}
reflex reproduce when: energy >= predator_max_energy * 0.75 {
create predator {
location <- myself.location;
energy <- myself.energy / 2;
}
energy <- energy / 2;
}
reflex die when: energy <= 0 {
do die;
}
aspect default {
draw circle(2) color: #red;
}
}
grid vegetation_cell width: 50 height: 50 {
float food <- rnd(1.0) max: 1.0;
reflex grow {
food <- min([1.0, food + 0.01]);
}
aspect default {
draw square(1) color: rgb(int(255 * (1 - food)), 255, int(255 * (1 - food)));
}
}
experiment main type: gui {
output {
display map {
grid vegetation_cell;
species prey;
species predator;
}
monitor "Prey" value: length(prey);
monitor "Predators" value: length(predator);
}
}