Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
David Turner (computer scientist)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|British computer scientist (1946β2023)}} {{other people|David Turner}} {{Use dmy dates|date=December 2023}} {{Use British English|date=April 2018}} {{Infobox scientist | name = David A. Turner | native_name = | native_name_lang = en | image = <!-- Filename only, no "File:" prefix --> | alt = | caption = | birth_name = <!-- if different from "name" --> | birth_date = {{birth date|1946|01|26|df=yes}} | birth_place = [[Battersea]], [[London]], England | death_date = {{death date and age|2023|10|19|1946|01|26|df=yes}} | death_place = | death_cause = | resting_place = | resting_place_coordinates = <!--{{coord|LAT|LONG|type:landmark|display=inline,title}}--> | home_town = | other_names = | pronounce = | citizenship = British | fields = [[Computer science]] | workplaces = [[Queen Mary University of London]]<br/>[[University of Texas at Austin]]<br/>[[University of Kent]] at Canterbury<br/>[[Middlesex University]] | patrons = | education = [[Doctor of Philosophy|D.Phil.]], [[University of Oxford]] | thesis_title = <!--(or | thesis1_title = and | thesis2_title = )--> | thesis_url = <!--(or | thesis1_url = and | thesis2_url = )--> | thesis_year = <!--(or | thesis1_year = and | thesis2_year = )--> | doctoral_advisors = [[Christopher Strachey]] and [[Dana Scott]] | academic_advisors = | doctoral_students = | notable_students = | known_for = [[SASL (programming language)|SASL]], [[Kent Recursive Calculator]], [[Miranda (programming language)|Miranda]] | influences = | influenced = | awards = | spouse = <!--(or | spouses = )--> | partner = <!--(or | partners = )--> | children = | signature = <!-- Filename only --> | signature_alt = | website = {{URL|www.cs.kent.ac.uk/people/staff/dat}} | footnotes = }} '''David A. Turner''' (26 January 1946 β 19 October 2023) was a British computer scientist. He is best known for designing and implementing three [[programming language]]s, including the first for [[functional programming]] based on [[lazy evaluation]], [[combinator graph reduction]], and [[parametric polymorphism|polymorphic types]]: [[SASL (programming language)|SASL]] (1972), [[Kent Recursive Calculator]] (KRC) (1981), and the commercially supported [[Miranda (programming language)|Miranda]] (1985). Turner's work on Miranda had a strong influence on the later [[Haskell (programming language)|Haskell]].<ref>{{cite web|last1=Hudak|first1=Paul|last2=Hughes|first2=John|date=2007|title=A History of Haskell: being lazy with class|url=http://research.microsoft.com/en-us/um/people/simonpj/papers/history-of-haskell/}}</ref> Turner first implemented SASL using the abstract [[SECD machine]], but then reimplemented them in 1978 using [[SKI combinator calculus]].<ref>{{cite journal|journal=Software: Practice and Experience|title=A new implementation technique for applicative languages|author=D. A. Turner|year=1979|volume=9 |pages=31β49 |doi=10.1002/spe.4380090105}}</ref> This approach was used by [[Thomas Johnsson]] and [[Lennart Augustsson]] in the design of the g-machine<ref>{{cite book|title=Proceedings of the fourth international conference on Functional programming languages and computer architecture - FPCA '89|author1=[[Lennart Augustsson]]|author2=[[Thomas Johnsson]]|chapter=Parallel graph reduction with the (V , G)-machine |date=November 1989|pages=202β213|doi=10.1145/99370.99386|isbn=0-89791-328-0 }}</ref> that evolved to become the standard mechanism for [[lazy evaluation]] in [[call-by-need]] languages. In 1981, Turner received the [[Doctor of Philosophy]] (D.Phil.) from the [[University of Oxford]], for his dissertation "Aspects of the Implementation of Programming Languages: The Compilation of an Applicative Language to Combinatory Logic", supervised by [[Christopher Strachey]] and [[Dana Scott]].<ref name=":0" /><ref>{{Cite web |last=Turner |first=David |title=Genealogy |url=https://www.cs.kent.ac.uk/people/staff/dat/miranda/genealogy.html |access-date=28 November 2023 |website=David Turner homepage}}</ref><ref>{{Cite web |title=David A. Turner |url=https://www.mathgenealogy.org/id.php?id=75066 |access-date=28 November 2023 |website=Mathematics Genealogy Project}}</ref> He held professorships at [[Queen Mary University of London|Queen Mary College, London]], [[University of Texas at Austin]] and the [[University of Kent]] at Canterbury, where he spent most of his career and retained the title of Emeritus Professor of Computation. Turner was involved with developing [[international standard]]s 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,<ref>{{cite web |url=https://ifipwg21wiki.cs.kuleuven.be/IFIP21/Profile |title=Profile of IFIP Working Group 2.1 |last1=Jeuring |first1=Johan |last2=Meertens |first2=Lambert |author2-link=Lambert Meertens |last3=Guttmann |first3=Walter |date=17 August 2016 |website=Foswiki |access-date=14 October 2020}}</ref> which [[Specification (technical standard)|specified]], maintains, and supports the [[programming language]]s [[ALGOL 60]] and [[ALGOL 68]].<ref>{{Cite web |url=https://ifipwg21wiki.cs.kuleuven.be/IFIP21/ScopeEtc |title=ScopeEtc: IFIP21: Foswiki |last1=Swierstra |first1=Doaitse |last2=Gibbons |first2=Jeremy |author2-link=Jeremy Gibbons |last3=Meertens |first3=Lambert |author3-link=Lambert Meertens |date=2 March 2011 |website=Foswiki |access-date=14 October 2020}}</ref> He was also a member of the IFIP Working Group 2.8 on Functional Programming, which related to his creation of Miranda.<ref>{{cite web|url=https://www.cs.ox.ac.uk/ralf.hinze/WG2.8/|title=WG2.8 Functional Programming|author=Ralf Hinze|year=2016}}</ref> Turner was an emeritus professor at the [[University of Kent]] and [[Middlesex University]] in England.<ref name="lambdadays">{{cite web| url=https://www.lambdadays.org/lambdadays2017/david-turner | title=David Turner β Inventor of Miranda | website=lambda DAΞ»S | date=2017 | accessdate=21 November 2023 }}</ref><ref name="codesync">{{cite web| url=https://codesync.global/speaker/david-turner/ | title=David Turner β Designer of SASL, KRC and Miranda | website=CODE SYNC | date=2020 | accessdate=21 November 2023 }}</ref> Turner's parents were second-generation [[Jewish]] immigrants, and Turner himself was a strong advocate for equal rights for [[Palestinians]]. He was an executive member of [[Israeli Committee Against House Demolitions|ICAHD UK]]<ref>{{cite web|url=https://icahd.org/2018/04/23/forced-displacement-in-the-occupied-palestinian-territories/|title=Forced Displacement in the Occupied Palestinian Territories|year=2018|publisher=[[Israeli Committee Against House Demolitions]]}}</ref> and frequently spoke on the topic.<ref>{{cite web|url=https://www.conwayhall.org.uk/whats-on/event/prospects-for-a-solution-to-the-israel-palestine-conflict-with-david-turner/|title=Prospects for a solution to the Israel-Palestine conflict|date=23 Nov 2017|publisher=Central London Humanists}}</ref> Turner died on 19 October 2023, at the age of 77.<ref name=":0">{{cite news|url=https://www.theguardian.com/technology/2023/nov/24/david-turner-obituary|title=David Turner obituary|work=[[The Guardian]]|author=Sarah Nicholas|date=24 November 2023}}</ref> ==Publications== * Turner, David A. SASL language manual. Tech. rept. CS/75/1. Department of Computational Science, [[University of St Andrews]], 1975. * {{cite journal |last=Turner|first=D.A.|title=A New Implementation Technique for Applicative Languages|journal=Software: Practice and Experience|volume=9|year=1979 |doi=10.1002/spe.4380090105 |pages=31β49|s2cid=40541269}} * ''Another Algorithm for Bracket Abstraction'', D. A. Turner, Journal of Symbolic Logic, 44(2):267β270, 1979. * ''Functional Programming and its Applications'', D. A. Turner, [[Cambridge University Press]] 1982. * ''A Parser Generator for use with Miranda'', ACM Symposium on Applied Computing, pages 401β407, Philadelphia, USA, February 1996. * ''Elementary Strong Functional Programming'', D. A. Turner, in R. Plasmeijer, P. Hartel, eds, "First International Symposium on Functional Programming Languages in Education", [[Lecture Notes in Computer Science]], volume 1022, pages 1β13, [[Springer Science+Business Media|Springer-Verlag]], 1996. * ''Ensuring Streams Flow'', Alastair Telford and David Turner, in Johnson, ed., "Algebraic Methodology and Software Technology", 6th International Conference, AMAST '97, Sydney Australia, December 1997, Lecture Notes in Computer Science, volume 1349, pages 509β523. AMAST, Springer-Verlag, December 1997. * ''Ensuring the Productivity of Infinite Structures'', A.J.Telford, D.A.Turner, "Technical Report TR 14-97", 37 pages, Computing Laboratory, University of Kent, March 1998. Under submission to "Journal of Functional Programming". * ''Ensuring Termination in ESFP'', A. J. Telford and D. A. Turner, in "15th British Colloquium in Theoretical Computer Science", page 14, Keele, April 1999. To appear in "Journal of Universal Computer Science". * ''A Hierarchy of Elementary Languages with Strong Normalisation Properties'', A.J.Telford, D.A.Turner, "Technical Report TR 2-00", 66 pages, University of Kent Computing Laboratory, January 2000. * ''Total Functional Programming'', Keynote address, pp 1β15, SBLP 2004, Rio de Janeiro, May 2004. * ''Church's Thesis and Functional Programming'', in A. Olszewski ed., "Church's Thesis after 70 years'", pages 518-544, Ontos Verlag, 2006. ==References== {{Reflist}} ==External links== * {{Official website|www.cs.kent.ac.uk/people/staff/dat}}, University of Kent at Canterbury * [https://web.archive.org/web/20071121040532/http://www.cs.mdx.ac.uk/staffpages/dat/ Staff page] at Middlesex University archived on [[Archive.org]] * [http://www.miranda.org.uk/ Miranda functional programming language] {{Authority control}} {{DEFAULTSORT:Turner, David}} [[Category:1946 births]] [[Category:2023 deaths]] [[Category:Academics of Queen Mary University of London]] [[Category:Academics of the University of Kent]] [[Category:Academics of Middlesex University]] [[Category:British computer scientists]] [[Category:Members of the Department of Computer Science, University of Oxford]] [[Category:Alumni of Brasenose College, Oxford]] [[Category:Programming language designers]] [[Category:Programming language researchers]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Authority control
(
edit
)
Template:Cite book
(
edit
)
Template:Cite journal
(
edit
)
Template:Cite news
(
edit
)
Template:Cite web
(
edit
)
Template:Infobox scientist
(
edit
)
Template:Official website
(
edit
)
Template:Other people
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Use British English
(
edit
)
Template:Use dmy dates
(
edit
)