[fpc-pascal] Procedural parameters
    Adriaan van Os 
    adriaan at adriaan.biz
       
    Sat Dec 14 19:22:25 CET 2024
    
    
  
Michael Van Canneyt via fpc-pascal wrote:
> 
> 
> On Sat, 14 Dec 2024, Adriaan van Os via fpc-pascal wrote:
> 
>>
>> Macpascal and Iso pascal have procedural parameters, e.g.
>>
>>     function A( function B: double): double;
>>
>> Is there a $modeswitch to allow this ? I searched "procedure 
>> parameter" and "procedural parameter" in the Language Reference, but 
>> could not find anything.
> 
> As far as I know, the above is not allowed. you must declare the 
> callback type explicitly.
It can in iso and macpascal mode. Read the Pascal standard.
> As far as I know, the above is not allowed. you must declare the callback type explicitly.
> 
> TMyFunc = function : double;
> 
> function A(B : TMyFunc): double;
> 
> This is in line with 'declare before use': procedure parameter lists cannot be used to declare types.
> 
> Similarly, you also cannot write:
> function A(B : (one,two,three)) : double;
Not really. The function type declaration is a Borland invention, not original Pascal.
Regards,
Adriaan van Os
    
    
More information about the fpc-pascal
mailing list