|
|
1.1 root 1: datatype limit = Unbounded | Limited of int
2:
3: fun cat Unbounded (instream,outstream) =
4: while not (end_of_stream instream) do
5: output outstream (input instream (can_input instream))
6: | cat (Limited limit) (instream,outstream) =
7: while not (end_of_stream instream) do
8: output outstream (input instream (min(can_input instream,limit)))
9:
10: val ucat = cat Unbounded
11: val lcat = cat(Limited 1024)
12:
13: fun cat1 (instream,outstream) =
14: while not (end_of_stream instream) do
15: output outstream (input instream 1)
16:
17: fun filecat cat = fn (fin,fout) => cat(open_in fin,open_out fout)
18: fun screencat cat = fn fin => cat(open_in fin,std_out)
19:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.