a function call is pure if it has referential transparency,which means that a function call can be repalced by it’s return value and not affect the rest of the program