init commit again
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
### Interacting
|
||||
|
||||
#### Output
|
||||
|
||||
[
|
||||
Entity standard-out
|
||||
Funcon print
|
||||
]
|
||||
|
||||
|
||||
Entity
|
||||
_ -- standard-out!(_:values*) -> _
|
||||
/*
|
||||
This entity represents the sequence of values output by a particular
|
||||
transition, where the empty sequence `( )` represents the lack of output.
|
||||
Composition of transitions concatenates their output sequences.
|
||||
*/
|
||||
|
||||
|
||||
Funcon
|
||||
print(_:values*) : =>null-type
|
||||
/*
|
||||
`print(X*)` evaluates the arguments `X*` and emits the resulting sequence of
|
||||
values on the standard-out channel. `print( )` has no effect.
|
||||
*/
|
||||
Rule
|
||||
print(V*:values*) -- standard-out!(V*) -> null-value
|
||||
|
||||
|
||||
#### Input
|
||||
|
||||
[
|
||||
Entity standard-in
|
||||
Funcon read
|
||||
]
|
||||
|
||||
Entity
|
||||
_ -- standard-in?(_:values*) -> _
|
||||
/*
|
||||
This entity represents the sequence of values input by a particular
|
||||
transition, where the empty sequence `( )` represents that no values are
|
||||
input. The value `null-value` represents the end of the input.
|
||||
|
||||
Composition of transitions concatenates their input sequences, except that
|
||||
when the first sequence ends with `null-value`, the second seqeunce has to be
|
||||
just `null-value`.
|
||||
*/
|
||||
|
||||
|
||||
Funcon
|
||||
read : =>values
|
||||
/*
|
||||
`read` inputs a single value from the standard-in channel, and returns it.
|
||||
If the end of the input has been reached, `read` fails.
|
||||
*/
|
||||
Rule
|
||||
read -- standard-in?(V:~null-type) -> V
|
||||
Rule
|
||||
read -- standard-in?(null-value) -> fail
|
||||
Reference in New Issue
Block a user