diff --git a/mers/Cargo.toml b/mers/Cargo.toml index baeed9f..1a79a8c 100644 --- a/mers/Cargo.toml +++ b/mers/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "mers" -version = "0.8.5" +version = "0.8.6" edition = "2021" license = "MIT OR Apache-2.0" description = "dynamically typed but type-checked programming language" @@ -11,7 +11,7 @@ repository = "https://github.com/Dummi26/mers" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -mers_lib = "0.8.5" +mers_lib = "0.8.6" # mers_lib = { path = "../mers_lib" } clap = { version = "4.3.19", features = ["derive"] } colored = "2.1.0" diff --git a/mers_lib/Cargo.toml b/mers_lib/Cargo.toml index 542ba9f..9546442 100755 --- a/mers_lib/Cargo.toml +++ b/mers_lib/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "mers_lib" -version = "0.8.5" +version = "0.8.6" edition = "2021" license = "MIT OR Apache-2.0" description = "library to use the mers language in other projects" diff --git a/mers_lib/src/program/configs/with_stdio.rs b/mers_lib/src/program/configs/with_stdio.rs index e9f18cd..0fd2081 100755 --- a/mers_lib/src/program/configs/with_stdio.rs +++ b/mers_lib/src/program/configs/with_stdio.rs @@ -28,7 +28,10 @@ impl Config { info_check: Arc::new(Mutex::new(CheckInfo::neverused())), out: Arc::new(|a, _i| { if a.is_zero_tuple() { - Ok(Type::new(data::string::StringT)) + Ok(Type::newm(vec![Arc::new(data::tuple::TupleT(vec![ + Type::new(data::string::StringT), + Type::empty_tuple(), + ]))])) } else { Err(format!( "expected (), got {}", @@ -39,8 +42,11 @@ impl Config { }), run: Arc::new(|_a, _i| { let mut line = String::new(); - _ = std::io::stdin().read_line(&mut line); - Data::new(data::string::String(line)) + if std::io::stdin().read_line(&mut line).is_err() && line.is_empty() { + Data::empty_tuple() + } else { + Data::one_tuple(Data::new(data::string::String(line))) + } }), inner_statements: None, }),