aboutsummaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
authorJJ2023-04-13 07:20:06 +0000
committerJJ2023-04-13 07:21:28 +0000
commit5ae010fef48cc2bf83a0d366d2a1cfa74ecce278 (patch)
tree2241dcec8d38d16e2314e94b4dec0ed61e20d922 /src/main.rs
parent188631f3bb263700c34d578af5968ab80e699485 (diff)
major cleanups: extend Type, refactor Term, and switch to String errs
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/main.rs b/src/main.rs
index 2a44397..4504d87 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -6,6 +6,7 @@ use chrysanthemum::ast::*;
fn main() {
println!("chrysanthemum");
let mut input = String::new();
+ let empty_context = Context::new();
loop {
println!("infer, check, or execute? (i/c/e)");
print!("\x1b[1m==> \x1b[22m");
@@ -21,8 +22,8 @@ fn main() {
input.clear();
stdin().read_line(&mut input).unwrap();
- match simple::infer(Context::new(), parser::parse_lambda(&input).unwrap()) {
- Ok(term) => println!("infers! {:?}", term),
+ match simple::infer(&empty_context, parser::parse_lambda(&input).unwrap()) {
+ Ok(kind) => println!("infers! {}", kind),
Err(e) => println!("{:?}", e),
}
},
@@ -33,10 +34,10 @@ fn main() {
input.clear();
stdin().read_line(&mut input).unwrap();
- let kind = simple::infer(Context::new(), parser::parse(&input));
+ let kind = simple::infer(&empty_context, parser::parse(&input));
match kind {
Ok(kind) => {
- match simple::check(Context::new(), parser::parse_lambda(&input).unwrap(), kind) {
+ match simple::check(&empty_context, parser::parse_lambda(&input).unwrap(), &kind) {
Ok(_) => println!("checks!"),
Err(e) => println!("{:?}", e),
}
@@ -51,8 +52,8 @@ fn main() {
input.clear();
stdin().read_line(&mut input).unwrap();
- match simple::execute(Context::new(), parser::parse_lambda(&input).unwrap()) {
- Ok(term) => println!("{:?}", term),
+ match simple::execute(&empty_context, parser::parse_lambda(&input).unwrap()) {
+ Ok(term) => println!("{}", term),
Err(e) => println!("{:?}", e)
}
},