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.
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)

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.
i5 : append
o5 = append
o5 : CompiledFunction

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

Some functions take a variable number of arguments.
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

Functions, like anything else, can be assigned to variables. You may do this to provide handy private abbreviations.
i9 : ap = append;

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