Define - End

define function-name <(arg ...)>

end

The FISH program between the define and end statements is compiled and stored in PFC’s memory space. The compiled version of the function is executed whenever its name is mentioned, as explained in Functions: Structure, Evaluation, and Calling Scheme. The function name does not need to be assigned a value in the program section that follows. Any tokens following the function name are interpreted as arguments to the function. These arguments must be given any time the function is to be executed (whether from a FISH statement or from the command line). See the Argument statement.

The definition:

define abc(one,two)
end

is equivalent to:

define abc
   argument one
   argument two
end