J3/09-253r2 To: J3 From: Van Snyder Subject: Problems with statement functions Date: 2009 August 11 References: 09-007r2 1. Introduction 12.5.3 is the only definition of "Function reference." It says "the function is executed." "Execution" is defined in the case of functions defined by subprograms but not in the case of statement functions or intrinsic functions. 12.6.2.4p2 says that an instance of a statement function is created when it is invoked, and that an instance of a procedure ceases to exist when its execution completes, but since statement functions aren't executed their instances do not cease to exist. There are other niggling problems with the description of statement functions. 2. Edits w.r.t. 09-007r2. [312:21-22,24 12.6.4p1 C1271]------------------------------------------- Function dummy procedures are functions. Editor: Delete "and function dummy procedures". Delete "or a function dummy procedure" twice. [313:3 12.6.4p5]-------------------------------------------------------- Editor: Replace "The ... by" by "Execution of a statement function consists of". {So that statement functions are executed.}