refactor: convert IO from singleton instance to static class with metaclass native methods
Replace the global `io` singleton object with a static `IO` class, moving the `write` native from the instance to the metaclass. Update all benchmark, example, and test files to use `IO.write()` instead of `io.write()`.
This commit is contained in:
+24
-24
@@ -1,32 +1,32 @@
|
||||
io.write(Num is Class) // expect: true
|
||||
io.write(true is Bool) // expect: true
|
||||
io.write((fn 1) is Function) // expect: true
|
||||
io.write(123 is Num) // expect: true
|
||||
io.write(null is Null) // expect: true
|
||||
io.write("s" is String) // expect: true
|
||||
IO.write(Num is Class) // expect: true
|
||||
IO.write(true is Bool) // expect: true
|
||||
IO.write((fn 1) is Function) // expect: true
|
||||
IO.write(123 is Num) // expect: true
|
||||
IO.write(null is Null) // expect: true
|
||||
IO.write("s" is String) // expect: true
|
||||
|
||||
io.write(Num is Bool) // expect: false
|
||||
io.write(null is Class) // expect: false
|
||||
io.write(true is Function) // expect: false
|
||||
io.write((fn 1) is Num) // expect: false
|
||||
io.write("s" is Null) // expect: false
|
||||
io.write(123 is String) // expect: false
|
||||
IO.write(Num is Bool) // expect: false
|
||||
IO.write(null is Class) // expect: false
|
||||
IO.write(true is Function) // expect: false
|
||||
IO.write((fn 1) is Num) // expect: false
|
||||
IO.write("s" is Null) // expect: false
|
||||
IO.write(123 is String) // expect: false
|
||||
|
||||
// Everything extends Object.
|
||||
io.write(Num is Object) // expect: true
|
||||
io.write(null is Object) // expect: true
|
||||
io.write(true is Object) // expect: true
|
||||
io.write((fn 1) is Object) // expect: true
|
||||
io.write("s" is Object) // expect: true
|
||||
io.write(123 is Object) // expect: true
|
||||
IO.write(Num is Object) // expect: true
|
||||
IO.write(null is Object) // expect: true
|
||||
IO.write(true is Object) // expect: true
|
||||
IO.write((fn 1) is Object) // expect: true
|
||||
IO.write("s" is Object) // expect: true
|
||||
IO.write(123 is Object) // expect: true
|
||||
|
||||
// Classes extend Class.
|
||||
io.write(Num is Class) // expect: true
|
||||
io.write(null is Class) // expect: false
|
||||
io.write(true is Class) // expect: false
|
||||
io.write((fn 1) is Class) // expect: false
|
||||
io.write("s" is Class) // expect: false
|
||||
io.write(123 is Class) // expect: false
|
||||
IO.write(Num is Class) // expect: true
|
||||
IO.write(null is Class) // expect: false
|
||||
IO.write(true is Class) // expect: false
|
||||
IO.write((fn 1) is Class) // expect: false
|
||||
IO.write("s" is Class) // expect: false
|
||||
IO.write(123 is Class) // expect: false
|
||||
|
||||
// TODO: Non-class on RHS.
|
||||
// TODO: Precedence and associativity.
|
||||
|
||||
Reference in New Issue
Block a user