Pour définir une fonction, les plus simple (?) consiste à utiliser le langage Postscript et la manipulation de la pile. On a tout de même rajouté la commande |setxvar| qui permet d'assigner à la variable |x| l'élement en haut de la pile. Par exemple, voici quelques définitions de fonctions, avec leur équivalent mathématique~: \halign { % preamble &\hskip 10mm \cc {#}& #$\longrightarrow $ & #\hfil & #\qquad \cr |/f $\{$$\}$ def|&& $f (x) = x$ \cr |/f $\{$setxvar x$\}$ def|&& $f (x) = x$ \cr |/f $\{$Sin$\}$ def|&& $f (x) = \sin x$ \cr |/f $\{$setxvar x Sin$\}$ def|&& $f (x) = \sin x$ \cr |/f $\{$2 add ln$\}$ def|&& $f (x) = \ln (x+2)$ \cr |/f $\{$setxvar x 2 add ln$\}$ def|&& $f (x) = \ln (x+2)$ \cr |/g $\{$setxvar x 2 add x neg 3 sub mul$\}$ def|&& $g (x) = (x+2)(-x-3)$ \cr |/g $\{$setxvar x 2 exp 3 x mul add 2 sub$\}$ def|&& $g (x) = x^2 + 3x - 2$ \cr } Néammoins, pour les réticents, la commande |#rpn#| (placée dès le premier caractère de la ligne) permet de sous-traiter l'écriture en notation polonaise inverse de l'expression de la fonction en envoyant toute la fin de la ligne au script |exp2rpn| de Jean-Michel Sarlat. Ainsi, voici une façon de définir une fonction à partir de son écriture en notation cartésienne~: \halign { % preamble &\hskip 10mm #\qquad \hss & #$\longrightarrow $ & #\hfil & #\qquad \cr |/g {setxvar| \cr |#rpn# x^2 + 3*x - 2 * ln (x)| \cr |} def|&& $g (x) = x^2 + 3x - 2\ln x$ \cr }