Na práutica, la diferencia ente una función matemática y la noción duna función utilizada na programación imperativa, ye que les funciones imperatives pueden tener efeutos secundarios, como camudar el valor de cálculos realizaos primeramente. Por esta razón escarecen de tresparencia referencial, esto ye, la mesma espresión sintáctica puede resultar en valores distintos en dellos momentos de la execución del programa. Con códigu funcional, en contraste, el valor xeneráu por una función depende puramente de los argumentos alimentaos a la función. Al esaniciar los efeutos secundarios puede entendese y predicir el comportamientu dun programa muncho más fácilmente. Ésta ye una de les principales motivaciones pa utilizar la programación funcional.