Pour définir une prodédure, il suffit d'associer un littéral à un exécutable. Par exemple, la définition d'un point par le code |/A {1 2} def| définit une procédure nommée $A$, procédure dont l'action est de déposer les nombres $1$ et $2$ sur la pile d'opérandes. Une procédure peut être tout simplement constituée d'une liste de commandes. Par exemple, la définition de la commande |tracerepere| est $$ \vbox {\hsize = 80mm \begintt /tracerepere { traceaxes unites axesarrow ticks subticks } def \endtt } $$ Dans une procédure, on peut utiliser des variables, qui resteront locales pour peu que l'on prenne la peine d'utiliser un dictionnaire. Par exemple, la procédure |addc| (addition de deux nombres complexes) est définie comme suit~: $$ \vbox {\hsize = 80mm \begintt %% syntaxe : a b a' b' addc --> z + z' /addc { 4 dict begin /b' exch def /a' exch def /b exch def /a exch def a a' add b b' add end } def \endtt } $$ On commence par ouvrir un dictionnaire pour les 4~variables $a$, $b$, $a'$ et $b'$, on récupère les données sur la pile pour les affecter à ces variables, puis on effectue les calculs et on dépose les résultats sur la pile. Pour finir, on jette le dictionnaire (par |end|), ce qui a pour effet de nettoyer la mémoire de ces quatres variables. Si une de ces variables était définie avant l'ouverture du dictionnaire, elle retrouve son existence et sa valeur à la fermeture dusdit dictionnaire. Pour des procédures plus élaborées, l'interpréteur postscript fournit toutes les structures de controle classiques, dont voici un bref résumé, extrait du manuel de référence postscript~: \syntaxe \longref {$any$} {exec} {$-$} {exécute un objet arbitraire} \longref {$bool$ $proc$} {if} {$-$} {exécute $proc$ si $bool$ est $true$} \longref {$bool$ $proc_1$ $proc_2$} {ifelse} {$-$} {exécute $proc_1$ si $bool$ est $true$, $proc_2$ si $bool$ est $false$} \longref {$int$ $proc$} {repeat} {$-$} {exécute $proc$ $int$ fois} \longref {$proc$} {loop} {$-$} {exécute $proc$ un nombre indéfini de fois} \endsyntaxe Voir les annexes pour un listing complet des opérateurs postscript disponibles.