Lenguaje de procesamiento de macros y preprocesador de texto. Es como un mini lenguaje que toma un texto y lo transforma antes de pasarlo a otro programa, compilarlo, etc.
1.-
$ nano ejemplo.m4
define(`saludo', `Hola, mundo!')
saludo
$ m4 ejemplo.m4
2.-
Macros con parámetros
$ nano ejemplo.m4
define(`cuadrado', `eval($1 * $1)')
cuadrado(7)
3.-
Macros anidadas [convierte las vocales en mayúsculas]
$ nano ejemplo.m4
define(`grito', `translit($1, aeiou, AEIOU)!!')
grito(`este texto es importante')