summaryrefslogtreecommitdiff
path: root/lambda-calcul/rust/src/main.rs
blob: 8d52c4615b9e60d053d46f531ff6b881ebd42ef1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use std::{
    env::args,
    io::{stdin, stdout, IsTerminal},
};

use lambda::io::{batch_eval, eval_file, repl};

fn main() {
    if args().count() > 1 {
        for file in args().skip(1) {
            println!("{}", eval_file(&file));
        }
    } else if stdin().is_terminal() {
        repl(&mut stdin(), &mut stdout());
    } else {
        batch_eval(&mut stdin(), &mut stdout());
    }
}