diff --git a/src/main.rs b/src/main.rs index 33971a0..09fd997 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1014,5 +1014,3 @@ pub fn run_program(src: &str, step_limit: usize, complexity_limit: usize) -> Opt eprintln!("Complexity: {}", simped.complexity()); Some(simped) } - -// (forall (a b) (+ a (succ b)) (succ (+ a b))) (forall (a) (+ a 0) a) (forall (a) (= a a) true) (= (+ (succ 0) (succ 0)) (succ (succ 0))) diff --git a/src/typed.rs b/src/typed.rs new file mode 100644 index 0000000..1800b3d --- /dev/null +++ b/src/typed.rs @@ -0,0 +1,11 @@ +use crate::*; + +// Do I want arbitrary types (a sexp) or a limited set (likely the one found in Pie)? +// I'm going to do a limited set first. +// I'm going to do arbitrary first. + +#[derive(Debug, Clone)] +pub struct TypedSexp { + typ: Ty, + val: Sexp, +}