September 2017 Update
This commit is contained in:
parent
bba7bfd280
commit
ba8067c3b7
14570 changed files with 153136 additions and 63871 deletions
21
Task/Abstract-type/Zkl/abstract-type-1.zkl
Normal file
21
Task/Abstract-type/Zkl/abstract-type-1.zkl
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
class Stream{ // Mostly virtural base class
|
||||
var [proxy protected]
|
||||
isBroken = fcn { _broken.isSet() },
|
||||
isClosed = fcn { return(_closed.isSet() or _broken.isSet()); };
|
||||
fcn init{
|
||||
var [protected]
|
||||
_closed = Atomic.Bool(True),
|
||||
_broken = Atomic.Bool(False),
|
||||
whyBroken = Void;
|
||||
}
|
||||
fcn clear { _closed.clear(); _broken.clear(); return(self.topdog); }
|
||||
fcn open { return(topdog.init(vm.pasteArgs())); }
|
||||
fcn toStream { return(self); }
|
||||
fcn close { _closed.set(); return(self.topdog); }
|
||||
fcn flush { return(self.topdog); }
|
||||
fcn read { throw(Exception.TheEnd); } // destructive or advance
|
||||
fcn readln { throw(Exception.TheEnd); }
|
||||
fcn write(x) { return(self.topdog); }
|
||||
fcn writeln(x) { return(self.topdog); }
|
||||
fcn walker { return((0).walker(*,wap((self.topdog.read.fpM(""))))); }
|
||||
}
|
||||
5
Task/Abstract-type/Zkl/abstract-type-2.zkl
Normal file
5
Task/Abstract-type/Zkl/abstract-type-2.zkl
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
class DevNull(Stream){
|
||||
var [const] fileName = "DevNull"; // compatibility with File
|
||||
fcn init { Stream.init() }
|
||||
fcn write(x) { return(0); }
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue