Optional, repeatable, and varying type parameters
Gary Ford, Brian Hansche · ACM SIGPLAN Notices · 1982
Parameter passing mechanisms are developed for optional, repeatable, and varying type parameters. For optional parameters, a programmer-defined default value is passed when the actual parameter is not present; in addition, the called procedure may determine whether the actual parameter is present. An arbitrary number of actual parameters may be passed by binding them to an array-like structure in the called procedure. Syntax similar to Algol 68's union type is proposed to allow passing parameters of varying types. These mechanisms are suggested as useful extensions to Pascal-like languages.