kill(all);

pippo: sin(x)/x;

ev(pippo,x=0.1);

ev(pippo,x=0.01);

3 ways to define a function
(with subtle differences)

a:3/4;

":=" way  the expression defining the function is NOT evaluated at function assignment time,
such evaluation is performed later at function call time

pippofun1( placeholder1 ) := sin( a * placeholder1 )/placeholder1;

in this way, the specific value of "a" is not hardcoded in the function definition

"define()" way: the expression defining the function is normally evaluated at function assignment time

define( pippofun2( arg1 ) , sin(a*arg1)/arg1   );

"lambda function" way: 
- define a nameless "lambda" function
- we assign a name to the nameless function defined

pippofun3 : lambda( [arg1] , sin(a*arg1)/arg1 );

a:11/4;

pippofun1( 7 );

pippofun2(7);

pippofun3(7);