Penguin
Note: You are viewing an old revision of this page. View the current version.

Lazy evaluation is an approach that a ProgrammingLanguage can take to evaluating expressions. With lazy evaluation functions is passed whole expressions as parameters, and do not evaluate them until it need their values. (I won't go into why you'd want that, but there are good reasons.)

Haskell is the most widely used lazy FunctionalLanguage?.

I/O is problematic in lazy languages. Programmers needs to provide some way to keep I/O operations in the correct sequence -- lazy languages don't assume a linear flow of time, you have to model that explictly in your programs! Haskell uses a data structure called the Monad? to control sequential operations.