Top
Back: 3.7.2 Names in procedures
Forward: 3.7.4 Procedure commands
FastBack: 3. General concepts
FastForward: 4. Data types
Up: 3.7 Procedures
Top: Singular 2-0-4 Manual
Contents: Table of Contents
Index: F. Index
About: About This Document

3.7.3 Parameter list

Syntax:

( )
( parameter_definition )

Purpose:

defines the number, type and names of the arguments to a proc.
The parameter_list is optional. The default for a parameter_list is (list #) which means the arguments are referenced by #[1], #[2], etc.

Example:
 
proc x0
{
    // can be called with
... // any number of arguments of any type: #[1], #[2],...
    // number of arguments: size(#)
}

proc x1 ()
{
... // can only be called without arguments
}

proc x2 (ideal i, int j)
{
... // can only be called with 2 arguments,
    // which can be converted to ideal resp. int
}

proc x3 (i,j)
{
... // can only be called with 2 arguments
    // of any type
    // (i,j) is the same as (def i,def j)
}

proc x5 (i,list #)
{
... // can only be called with at least 1 argument
    // number of arguments: size(#)+1
}

Note:

The parameter_list may stretch across multiple lines.
A parameter may have any type (including the types proc and ring). If a parameter is of type ring, then it can only be specified by name, but not with a type, e.g.

 
proc x6 (r)
{
... // this is correct even if the parameter is a ring
}

proc x7 (ring r)
{
... // this is NOT CORRECT
}

Top Back: 3.7.2 Names in procedures Forward: 3.7.4 Procedure commands FastBack: 3. General concepts FastForward: 4. Data types Up: 3.7 Procedures Top: Singular 2-0-4 Manual Contents: Table of Contents Index: F. Index About: About This Document
            User manual for Singular version 2-0-4, October 2002, generated by texi2html.