Call a function: Difference between revisions

Added Algol W
(Added Algol W)
Line 120:
See [http://rosettacode.org/wiki/Optional_parameters#ALGOL_68 Optional Parameters] for an example of optional parameters in Algol 68.<br>
See [http://rosettacode.org/wiki/Named_parameters#ALGOL_68 Named Parameters] for an example of named parameters in Algol 68.
 
=={{header|ALGOL W}}==
<lang algolw>% Note, in Algol W, functions are called procedures %
% calling a function with no parameters: %
f;
 
% calling a function with a fixed number of parameters %
g( 1, 2.3, "4" );
 
% Algol W does not support optional parameters in general, however constructors for records can %
% be called wither with parameters (one for each field in the record) or no parameters #
 
% Algol W does not support variable numbers of parameters, except for the built-in I/O functions #
% Algol W does not support named arguments %
 
% A function can be used in a statement context by calling it, as in the examples above %
 
% First class context: A function can be passed as a parameter to another procedure, e.g.: %
v := integrate( sin, 0, 1 )
% assuming a suitable definition of integrate %
% Algol W does not support functions returning functions %
 
% obtaining the return value of a function: e.g.: %
v := g( x, y, z );
 
% There is no syntactic distinction between user-defined and built-in functions %
 
% Subroutines and functions are both procedures, a subroutine is a procedure with no return type %
% (called a proper procedure in Algol W) %
% There is no syntactic distinction between a call to a function and a call to a subroutine %
% other than the context %
 
% In Algol W, parameters are passed by value, result or value result. This must be stated in the %
% definition of the function/subroutine. Value parameters are passed by value, result and value result %
% are effectively passed by reference and assigned on function exit. Result parameters are "out" parameters %
% and value result parameters are "in out". %
% Algol W also has "name" parameters (not to be confused with named parameters). Functions with name %
% parameters are somewhat like macros %
 
% Partial application is not possible in Algol W %</lang>
 
=={{header|AntLang}}==
3,045

edits