Back to table

ZZZ Title of your example

The following is invalid µOCCAM. This program declares 2 procedures and then calls them. The first procedure call should work, but the second one is invalid because 2 arguments are given and 3 are required.

Program file: /public/cs3/web/ipptests/arguments.reject
PROC test (INT arg.1, INT arg.2, INT arg.3)
  SKIP
:

PROC test2 (INT arg)
  stdout ! (arg + 1)
:

SEQ
  INT a :
  INT b :

  a := 2
  b := 3

  test2(a) 

  test(a, b)  -- should complain here as the test procedure requires 3 arguments