A high-performance deterministic discrete-event and multi-agent systems simulation framework in MoonBit
git clone https://github.com/wcx789ll/moonsim.git
cd moonsim
moon version --all
moon update
moon check
moon testfn Simulation::create_rolling_summary(self : Simulation, name : String, window_size : Double) -> RollingSummaryfn Simulation::create_scheduler(self : Simulation, name : String, executors : Int, discipline : QueueDiscipline, on_start : (Job) -> Unit, on_complete : (Job) -> Unit, on_cancel : (Job) -> Unit, on_deadline_miss : (Job) -> Unit) -> Schedulerfn Simulation::create_sla_monitor(self : Simulation, name : String, threshold : Double) -> SlaMonitorfn Simulation::create_summary(self : Simulation, name : String, initial_value : Double) -> TimeWeightedSummaryfn Simulation::register_process(self : Simulation, name : String, steps : Array[(ProcessContext) -> Double?]) -> Intfn Simulation::schedule(self : Simulation, delta_seconds : Double, priority : Int, action : () -> Unit) -> EventIdfn Simulation::schedule_at(self : Simulation, target_time : Double, priority : Int, action : () -> Unit) -> EventIdfn Simulation::start_process(self : Simulation, proc_id : Int, delay : Double, priority : Int) -> EventId?A high-performance deterministic discrete-event and multi-agent systems simulation framework in MoonBit