Update 'Interface Definitions'
parent
ac645d78b0
commit
96e3c59673
21
Interface-Definitions.md
Normal file
21
Interface-Definitions.md
Normal file
@ -0,0 +1,21 @@
|
||||
# Syntax
|
||||
```
|
||||
face ro ReadWriter:Face
|
||||
write
|
||||
> data:{Byte ..}
|
||||
< wrote:Int
|
||||
< err:Error
|
||||
read
|
||||
> into:{Byte ..}
|
||||
< read:Int
|
||||
< err:Error
|
||||
```
|
||||
|
||||
Interface sections contain a list of behaviors. Behaviors are a name followed by an indented block of inputs and outputs. It is essentially a more stripped down version of function syntax.
|
||||
|
||||
# Semantics
|
||||
Interfaces in ARF are like interfaces in Go, that is to say, their methods are
|
||||
defined and any object that has at least those methods can fulfill that
|
||||
interface.
|
||||
|
||||
Interfaces are able to inherit other interfaces using type notation. If an interface inherits nothing, it must inherit `Face`, which is a blank interface.
|
Reference in New Issue
Block a user