Functional includes both pure and impure programs, i.e. some use of side effects is allowed.
Real-world means that the program was written primarily to perform some task, not primarily to experiment with functional programming (this includes languages used to write their own compiler).