diff --git a/examples/interactive/cli-platform/Effect.roc b/examples/interactive/cli-platform/Effect.roc index 3ae9806fc4..d8caa137f0 100644 --- a/examples/interactive/cli-platform/Effect.roc +++ b/examples/interactive/cli-platform/Effect.roc @@ -3,8 +3,8 @@ hosted Effect imports [InternalHttp.{ Request, Response }] generates Effect with [after, map, always, forever, loop] -putLine : Str -> Effect {} - -getLine : Effect Str +stdoutLine : Str -> Effect {} +stderrLine : Str -> Effect {} +stdinLine : Effect Str sendRequest : Box Request -> Effect Response diff --git a/examples/interactive/cli-platform/Stdout.roc b/examples/interactive/cli-platform/Stdout.roc index aeaf0c2501..154096d3b4 100644 --- a/examples/interactive/cli-platform/Stdout.roc +++ b/examples/interactive/cli-platform/Stdout.roc @@ -4,5 +4,5 @@ interface Stdout line : Str -> Task {} * [Write [Stdout]*]* line = \str -> - Effect.map (Effect.putLine str) (\_ -> Ok {}) + Effect.map (Effect.stdoutLine str) (\_ -> Ok {}) |> InternalTask.fromEffect diff --git a/examples/interactive/cli-platform/src/lib.rs b/examples/interactive/cli-platform/src/lib.rs index 09677a87e3..4469d3b9f5 100644 --- a/examples/interactive/cli-platform/src/lib.rs +++ b/examples/interactive/cli-platform/src/lib.rs @@ -113,7 +113,7 @@ unsafe fn call_the_closure(closure_data_ptr: *const u8) -> i64 { } #[no_mangle] -pub extern "C" fn roc_fx_getLine() -> RocStr { +pub extern "C" fn roc_fx_stdinLine() -> RocStr { use std::io::{self, BufRead}; let stdin = io::stdin(); @@ -123,11 +123,17 @@ pub extern "C" fn roc_fx_getLine() -> RocStr { } #[no_mangle] -pub extern "C" fn roc_fx_putLine(line: &RocStr) { +pub extern "C" fn roc_fx_stdoutLine(line: &RocStr) { let string = line.as_str(); println!("{}", string); } +#[no_mangle] +pub extern "C" fn roc_fx_stderrLine(line: &RocStr) { + let string = line.as_str(); + eprintln!("{}", string); +} + #[no_mangle] pub extern "C" fn roc_fx_sendRequest(roc_request: &glue::Request) -> glue::Response { let mut builder = reqwest::blocking::ClientBuilder::new();