diff --git a/README.md b/README.md index 2ff65ab..640cf44 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ Programming language that compiles to Typescript! ```sml fun main: void = do - @write("Hello, World!\n"); + @write("Hello, World!"); end; ``` or with the pipe operator: diff --git a/std/io.ts b/std/io.ts new file mode 100644 index 0000000..ec80b0a --- /dev/null +++ b/std/io.ts @@ -0,0 +1,20 @@ +import { writeAllSync } from "https://deno.land/std@0.129.0/streams/conversion.ts"; + +/** + * Writes text to the stdout stream. + * @param text The text to write. Can be any type. + */ +export function write(text: any): void { + const bytes: Uint8Array = new TextEncoder().encode(text); + writeAllSync(Deno.stdout, bytes); +} + +/** + * Writes text to the file. + * @param text The text to write. Can be any type. + * @param path The path to the file. + */ +export function write_file(text: any, path: string): void { + const bytes: Uint8Array = new TextEncoder().encode(text); + Deno.writeFileSync(path, bytes); +} \ No newline at end of file