David Turner (computer scientist)

He is best known for designing and implementing three programming languages, including the first for functional programming based on lazy evaluation, combinator graph reduction, and polymorphic types: SASL (1972), Kent Recursive Calculator (KRC) (1981), and the commercially supported Miranda (1985).

[1] Turner first implemented SASL using the abstract SECD machine, but then reimplemented them in 1978 using SKI combinator calculus.

[2] This approach was used by Thomas Johnsson and Lennart Augustsson in the design of the g-machine[3] that evolved to become the standard mechanism for lazy evaluation in call-by-need languages.

Turner was involved with developing international standards in programming and informatics, as a member of the International Federation for Information Processing (IFIP) IFIP Working Group 2.1 on Algorithmic Languages and Calculi,[7] which specified, maintains, and supports the programming languages ALGOL 60 and ALGOL 68.

[8] He was also a member of the IFIP Working Group 2.8 on Functional Programming, which related to his creation of Miranda.