Link Search Menu Expand Document

Funcons-beta : Interacting.cbs | PRETTY | PDF

Outline

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.

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