Compare commits

..

No commits in common. "5478e5e40e802e0a505244739332393e9d2e97fe" and "c62b5c903dbd2f216b08b9e41cef0283c4da503c" have entirely different histories.

6 changed files with 27 additions and 4 deletions

0
pkg/.gitignore vendored
View File

3
pkg/README.md Normal file
View File

@ -0,0 +1,3 @@
# rudus
A Rust implementation of Ludus.

15
pkg/package.json Normal file
View File

@ -0,0 +1,15 @@
{
"name": "rudus",
"type": "module",
"version": "0.0.1",
"files": [
"rudus_bg.wasm",
"rudus.js",
"rudus.d.ts"
],
"main": "rudus.js",
"types": "rudus.d.ts",
"sideEffects": [
"./snippets/*"
]
}

5
pkg/test.js Normal file
View File

@ -0,0 +1,5 @@
import * as mod from "./ludus.js";
console.log(mod.run(`
:foobar
`));

View File

View File

@ -3,7 +3,7 @@ use crate::value::Value;
use crate::vm::{Creature, Panic};
use ran::ran_u8;
use std::cell::RefCell;
use std::collections::{HashMap, HashSet};
use std::collections::HashMap;
use std::mem::swap;
use std::rc::Rc;
use std::time::{Duration, Instant};
@ -67,7 +67,7 @@ pub struct Zoo {
procs: Vec<Status>,
empty: Vec<usize>,
ids: HashMap<&'static str, usize>,
dead: HashSet<&'static str>,
dead: Vec<&'static str>,
kill_list: Vec<&'static str>,
sleeping: HashMap<&'static str, (Instant, Duration)>,
active_idx: usize,
@ -81,7 +81,7 @@ impl Zoo {
empty: vec![],
ids: HashMap::new(),
kill_list: vec![],
dead: HashSet::new(),
dead: vec![],
sleeping: HashMap::new(),
active_idx: 0,
active_id: "",
@ -155,7 +155,7 @@ impl Zoo {
self.procs[*idx] = Status::Empty;
self.empty.push(*idx);
self.ids.remove(id);
self.dead.insert(id);
self.dead.push(id);
}
}