"IO" -> "System".

Get rid of the separate opt-in IO class and replace it with a core
System class.

- Remove wren_io.c, wren_io.h, and io.wren.
- Remove the flags that disable it.
- Remove the overloads for print() with different arity. (It was an
  experiment, but I don't think it's that useful.)
- Remove IO.read(). That will reappear using libuv in the CLI at some
  point.
- Remove IO.time. Doesn't seem to have been used.
- Update all of the tests, docs, etc.

I'm sorry for all the breakage this causes, but I think "System" is a
better name for this class (it makes it natural to add things like
"System.gc()") and frees up "IO" for referring to the CLI's IO module.
This commit is contained in:
Bob Nystrom
2015-09-15 07:46:09 -07:00
parent 66b89a493f
commit 58e4d26648
491 changed files with 3285 additions and 3544 deletions
+3 -3
View File
@@ -64,13 +64,13 @@ for (fish in fishes) {
map[fish] = fish.count
}
IO.print(map.count) // expect: 249
System.print(map.count) // expect: 249
for (n in 0...150) {
map.remove(fishes[n])
}
IO.print(map.count) // expect: 99
System.print(map.count) // expect: 99
// Make sure we can still find all of the remaining ones.
var contained = 0
@@ -78,4 +78,4 @@ for (n in 150...249) {
if (map.containsKey(fishes[n])) contained = contained + 1
}
IO.print(contained) // expect: 99
System.print(contained) // expect: 99
+4 -4
View File
@@ -9,19 +9,19 @@ var map = {
}
IO.print(map["a"]) // expect: a value
IO.print(map["b"]) // expect: b value
System.print(map["a"]) // expect: a value
System.print(map["b"]) // expect: b value
// Newline after trailing comma.
map = {"c": "c value",
}
IO.print(map["c"]) // expect: c value
System.print(map["c"]) // expect: c value
// Newline in empty map.
map = {
}
IO.print(map.count) // expect: 0
System.print(map.count) // expect: 0
+2 -2
View File
@@ -3,5 +3,5 @@ var map = {
"b": 2,
}
IO.print(map["a"]) // expect: 1
IO.print(map["b"]) // expect: 2
System.print(map["a"]) // expect: 1
System.print(map["b"]) // expect: 2