Open
Description
interface Sink<t> {
fn .consume-many(s: self, v: Iterator<t>): self;
};
fn .consume(s: st+Sink<t>, v: t): st = (
s.consume-many(single(v))
);
interface Write<t> {
fn .write(s: self, o: Sink<t>): o;
};
type FileSink = FileSink { o: IO::File };
type FileSink implements Sink<U8>;
let .into(f: IO::File, out: Type<FileSink>) = (
FileSink { f }
);
let .consume-many(s: FileSink, v: U8): FileSink = (
# fwrite here
);
# SEPERATE FROM Into<String>!!!
interface ToString {
let .to-tring(v: self): String;
};
let print(v: Write<U8>): Nil;
let print(v: ToString): Nil;
let println(v: Write<U8>): Nil;
let println(v: ToString): Nil;
let eprint(v: Write<U8>): Nil;
let eprint(v: ToString): Nil;
let eprintln(v: Write<U8>): Nil;
let eprintln(v: ToString): Nil;
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
No status