diff --git a/examples/false-interpreter/Context.roc b/examples/false-interpreter/Context.roc index dc12f5846d..a56beb4c16 100644 --- a/examples/false-interpreter/Context.roc +++ b/examples/false-interpreter/Context.roc @@ -82,8 +82,7 @@ getCharScope = \scope -> Err OutOfBounds -> when scope.data is Some h -> - chunk <- Task.await (File.chunk h) - bytes = Str.toUtf8 chunk + bytes <- Task.await (File.chunk h) when List.first bytes is Ok val -> # This starts at 1 because the first charater is already being returned. diff --git a/examples/false-interpreter/platform/File.roc b/examples/false-interpreter/platform/File.roc index 9cb1d3a5e0..e42a599e21 100644 --- a/examples/false-interpreter/platform/File.roc +++ b/examples/false-interpreter/platform/File.roc @@ -7,7 +7,7 @@ Handle: [ @Handle U64 ] line : Handle -> Task.Task Str * line = \@Handle handle -> Effect.after (Effect.getFileLine handle) Task.succeed -chunk : Handle -> Task.Task Str * +chunk : Handle -> Task.Task (List U8) * chunk = \@Handle handle -> Effect.after (Effect.getFileBytes handle) Task.succeed open : Str -> Task.Task Handle * diff --git a/examples/false-interpreter/platform/Package-Config.roc b/examples/false-interpreter/platform/Package-Config.roc index f320deb294..0d00b4c0ed 100644 --- a/examples/false-interpreter/platform/Package-Config.roc +++ b/examples/false-interpreter/platform/Package-Config.roc @@ -10,7 +10,7 @@ platform examples/cli closeFile : U64 -> Effect {}, withFileOpen : Str, (U64 -> Effect (Result ok err)) -> Effect {}, getFileLine : U64 -> Effect Str, - getFileBytes : U64 -> Effect Str, + getFileBytes : U64 -> Effect (List U8), putLine : Str -> Effect {}, putRaw : Str -> Effect {}, # Is there a limit to the number of effect, uncomment the next line and it crashes diff --git a/examples/false-interpreter/platform/src/lib.rs b/examples/false-interpreter/platform/src/lib.rs index fc4d1f2635..3704bbff4c 100644 --- a/examples/false-interpreter/platform/src/lib.rs +++ b/examples/false-interpreter/platform/src/lib.rs @@ -171,7 +171,7 @@ pub fn roc_fx_getFileLine(br_ptr: *mut BufReader) -> RocStr { } #[no_mangle] -pub fn roc_fx_getFileBytes(br_ptr: *mut BufReader) -> RocStr { +pub fn roc_fx_getFileBytes(br_ptr: *mut BufReader) -> RocList { let br = unsafe { &mut *br_ptr }; let mut buffer = [0; 0x10 /* This is intentially small to ensure correct implementation */]; @@ -179,7 +179,7 @@ pub fn roc_fx_getFileBytes(br_ptr: *mut BufReader) -> RocStr { .read(&mut buffer[..]) .expect("Failed to read bytes from file"); - RocStr::from_slice(&buffer[..count]) + RocList::from_slice(&buffer[..count]) } #[no_mangle]