| 123456789101112131415161718192021222324252627282930 |
- // Part of the Carbon Language project, under the Apache License v2.0 with LLVM
- // Exceptions. See /LICENSE for license information.
- // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
- // TODO: This library is not part of the design. Either write a matching
- // proposal or remove this.
- package Core library "io";
- import library "prelude";
- // TODO: Support printing other types.
- // TODO: Consider rewriting using native support once library support exists.
- fn Print(x: i32) = "print.int";
- fn PrintChar(x: char) -> i32 = "print.char";
- fn PrintStr(msg: str) {
- let size: i64 = msg.Size() as i64;
- var i: i64 = 0;
- while (i < size) {
- PrintChar(msg[i]);
- ++i;
- }
- }
- // TODO: Return an `Optional(char)` instead of `i32`.
- fn ReadChar() -> i32 = "read.char";
- // TODO: Change this to a global constant once they are fully supported.
- fn EOF() -> i32 { return -1; }
|