There are many functions in Macaulay2 that do various things. You can get a brief indication of what a function does by typing a `?` before its name. In this case, one would see that the function sin takes a single argument `x`. We apply a function to its argument by typing them in adjacent positions. It is possible but not necessary to place parentheses around the argument.

In parsing the operator ^ takes precedence over adjacency, so the function is applied after the power is computed in the following code. This may not be what you expect.

Some functions take more than one argument, and the arguments are separated by a comma, and then parentheses are needed.

Some functions take a variable number of arguments.

Functions, like anything else, can be assigned to variables. You may do this to provide handy private abbreviations.

i1 : sin 1.2 o1 = .932039085967226 o1 : RR (of precision 53) |

i2 : sin(1.2) o2 = .932039085967226 o2 : RR (of precision 53) |

i3 : sin(1.0+0.2) o3 = .932039085967226 o3 : RR (of precision 53) |

i4 : print(10 + 1)^2 121 |

i5 : append o5 = append o5 : CompiledFunction |

i6 : append({a,b,c},d) o6 = {a, b, c, d} o6 : List |

i7 : join o7 = join o7 : CompiledFunction |

i8 : join({a,b},{c,d},{e,f},{g,h,i}) o8 = {a, b, c, d, e, f, g, h, i} o8 : List |

i9 : ap = append; |

i10 : ap({a,b,c},d) o10 = {a, b, c, d} o10 : List |