Procedure and operator declarations (GNU Algol 68 Coding Guidelines)

### 4.6 Procedure and operator declarations ¶

In procedure and operator declarations, if the body of a routine text starts with ’begin’, put it at the same indentation than the `pub`, `proc` or `op`. Otherwise, indent it three spaces to the right relative to the `pub`, `proc` or `op`.

Examples:

    { Body of routine is a `begin'..`end' closed clause }
    proc checked_div = (int a,b) int:
    begin
          if b = 0 then fatal ("div by zero") fi;
          a % b
    end;

    { Body of routine does not start with `begin' }
    proc checked_div = (int a,b) int:
       (b = 0 | fatal ("div by zero"); skip | a % b);

    { Body of routine is not a closed clause }
    proc checked_div = (int a,b) int:
       if b = 0
       then fatal ("div by zero"); skip
       else a % b
       fi;