"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
@@ -1,7 +1,7 @@
var list = []
for (i in [1, 2, 3]) {
list.add(Fn.new { IO.print(i) })
list.add(Fn.new { System.print(i) })
}
for (f in list) f.call()
+1 -1
View File
@@ -2,7 +2,7 @@ var list = []
for (i in [1, 2, 3]) {
var j = i + 1
list.add(Fn.new { IO.print(j) })
list.add(Fn.new { System.print(j) })
}
for (f in list) f.call()
+1 -1
View File
@@ -1,2 +1,2 @@
for // expect error
(i in [1, 2, 3]) IO.print(i)
(i in [1, 2, 3]) System.print(i)
+1 -1
View File
@@ -1,2 +1,2 @@
for (i // expect error
in [1]) IO.print(i)
in [1]) System.print(i)
@@ -1,9 +1,9 @@
var f = Fn.new {
IO.print("evaluate sequence")
System.print("evaluate sequence")
return [1, 2, 3]
}
for (i in f.call()) IO.print(i)
for (i in f.call()) System.print(i)
// expect: evaluate sequence
// expect: 1
// expect: 2
+1 -1
View File
@@ -1,6 +1,6 @@
var f = Fn.new {
for (i in [1, 2, 3]) {
return Fn.new { IO.print(i) }
return Fn.new { System.print(i) }
}
}
+1 -1
View File
@@ -4,5 +4,5 @@ var f = Fn.new {
}
}
IO.print(f.call())
System.print(f.call())
// expect: 1
+3 -3
View File
@@ -1,14 +1,14 @@
// Single-expression body.
for (i in [1]) IO.print(i)
for (i in [1]) System.print(i)
// expect: 1
// Block body.
for (i in [1]) {
IO.print(i)
System.print(i)
}
// expect: 1
// Newline after "in".
for (i in
[1]) IO.print(i)
[1]) System.print(i)
// expect: 1
+5 -5
View File
@@ -6,27 +6,27 @@ class Iter {
// False and null are false.
for (n in Iter.new(false)) {
IO.print("bad")
System.print("bad")
break
}
for (n in Iter.new(null)) {
IO.print("bad")
System.print("bad")
break
}
// Everything else is true.
for (n in Iter.new(true)) {
IO.print("true") // expect: true
System.print("true") // expect: true
break
}
for (n in Iter.new(0)) {
IO.print(0) // expect: 0
System.print(0) // expect: 0
break
}
for (n in Iter.new("")) {
IO.print("string") // expect: string
System.print("string") // expect: string
break
}