#define N 80 * 25 datatype color = | Black | Blue | Green | Cyan | Red | Magenta | Brown | LightGray | DarkGray | LightBlue | LightGreen | LightCyan | LightRed | Pink | Yellow | White typedef screenChar = @{ ascii_character = char, color_code = uint8} vtypedef tptr (a: t@ype, l:addr) = (a @ l | ptr l) vtypedef writer = [l: addr] [n:nat | n < N] @{ column_position = size_t n, color_code = uint8 , buffer = tptr(@[screenChar][N],l)} fun print_char(c : char) : void