Skip to main content
1 of 3
Fatalize
  • 39.3k
  • 20
  • 24

#Yes, they should be forbidden

Semantically, there is no reason why Input and Output couldn't be used that way, except for their names (which wouldn't be a problem had they been called A and B instead).

Just like in Prolog, there is no reason why we couldn't use the second argument of a predicate to input things instead of the first.

However, Input and Ouput are not strictly symmetrical in Brachylog precisely because the execution is left to right, and Input is on the very left of a rule and Output on the very right.

Therefore there is actually a difference between the two variables. As such, since Input is the default variable used to input things and Output is the default variable to output things, it should always be that way so as to not get a potentially unfair advantage.

Fatalize
  • 39.3k
  • 20
  • 24