# Function _ Thing -- attach the first argument to a function of two or more arguments

## Synopsis

• Operator: _
• Usage:
g = f_x
• Inputs:
• f, , a function of two or more arguments
• x,
• Outputs:
• g, , a new function with the property that g(y) returns the value of f(x,y), that g(y,z) returns the value of f(x,y,z), and so on. If x is itself a sequence, its members will be spliced into the sequence of arguments of f.

## Description

This abbreviation allows us to save a bit of typing, and in some cases, agrees with standard mathematical notation.

We use the identity function in the following examples, so we can exactly what sequence of arguments is constructed.

 i1 : identity_a x o1 = (a, x) o1 : Sequence i2 : identity_a (x,y) o2 = (a, x, y) o2 : Sequence i3 : identity_(a,b) x o3 = (a, b, x) o3 : Sequence i4 : identity_(a,b) (x,y) o4 = (a, b, x, y) o4 : Sequence

In the following examples, we show more typical uses of this notation.

 i5 : R = ZZ[a .. i]; i6 : f = genericMatrix(R,a,3,3) o6 = | a d g | | b e h | | c f i | 3 3 o6 : Matrix R <--- R i7 : exteriorPower(2,f) o7 = | -bd+ae -bg+ah -eg+dh | | -cd+af -cg+ai -fg+di | | -ce+bf -ch+bi -fh+ei | 3 3 o7 : Matrix R <--- R i8 : exteriorPower_2 f o8 = | -bd+ae -bg+ah -eg+dh | | -cd+af -cg+ai -fg+di | | -ce+bf -ch+bi -fh+ei | 3 3 o8 : Matrix R <--- R i9 : p = prepend_7 o9 = p o9 : FunctionClosure i10 : p {8,9,10} o10 = {7, 8, 9, 10} o10 : List