Eric Hehner

Canadian computer scientist (born 1947)

Eric C. R. Hehner

Born|  (1947-09-16) September 16, 1947 (age 77)

Ottawa, Ontario, Canada

Education| Carleton University (B.Sc., 1969)
University of Toronto (M.Sc., 1970; Ph.D., 1974)
Known for| Predicative programming
Formal methods
Quote notation
ALGOL
Scientific career
Fields| Computer science
Programming
Institutions| University of Toronto
Website| www.cs.toronto.edu/~hehner

Eric "Rick" C. R. Hehner (born 16 September 1947) is a Canadian computer scientist. He was born in Ottawa. He studied mathematics and physics at Carleton University, graduating with a Bachelor of Science (B.Sc.) in 1969. He studied computer science at the University of Toronto, graduating with a Master of Science (M.Sc.) in 1970, and a Doctor of Philosophy (Ph.D.) in 1974. He then joined the faculty there, becoming a full professor in 1983. He became the Bell University Chair in software engineering in 2001, and retired in 2012.[1]

Hehner's main research area is formal methods of software design. His method, initially called predicative programming, later called Practical Theory of Programming, is to consider each specification to be a binary (boolean) expression, and each programming construct to be a binary expression specifying the effect of executing the programming construct. Refinement is just implication. This is the simplest formal method, and the most general, applying to sequential, parallel, stand-alone, communicating, terminating, nonterminating, natural-time, real-time, deterministic, and probabilistic programs, and includes time and space bounds. This idea has influenced other computer science researchers, including Tony Hoare.

Hehner's other research areas include probabilistic programming, unified algebra, and high-level circuit design. In 1979, Hehner invented a generalization of radix complement called quote notation, which is a representation of the rational numbers that allows easier arithmetic and precludes roundoff error.

He 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,[1][2] which specified, maintains, and supports the programming languages ALGOL 60 and ALGOL 68.[3] and of IFIP Working Group 2.3 on Programming Methodology.[1]

## References

[edit]

1. ^ a b c Hehner, Eric C. R. (3 May 2020). "Eric C. R. Hehner". Department of Computer Science. University of Toronto. Retrieved 2020-07-27.
2. ^ Jeuring, Johan; Meertens, Lambert; Guttmann, Walter (2016-08-17). "Profile of IFIP Working Group 2.1". Foswiki. Retrieved 2020-10-16.
3. ^ Swierstra, Doaitse; Gibbons, Jeremy; Meertens, Lambert (2011-03-02). "ScopeEtc: IFIP21: Foswiki". Foswiki. Retrieved 2020-10-16.

* Hehner, E. C. R. (1984). "Predicative Programming". Communications of the ACM. 27 (2): 134–151\. doi:10.1145/69610.357988. S2CID 11577076.
* Hehner, E. C. R. (1990). "A Practical Theory of Programming". Science of Computer Programming. 14 (2–3): 133–158\. doi:10.1016/0167-6423(90)90018-9.2–3&rft.pages=133-158&rft.date=1990&rft_id=info:doi/10.1016/0167-6423(90)90018-9&rft.aulast=Hehner&rft.aufirst=E.+C.+R.&rft_id=https://doi.org/10.1016%2F0167-6423%2890%2990018-9&rfr_id=info:sid/en.wikipedia.org:Eric+Hehner" class="Z3988">
* Hehner, E. C. R. (2004). "From Boolean Algebra to Unified Algebra". Mathematical Intelligencer. 26 (2): 3–19\. CiteSeerX 10.1.1.638.1782. doi:10.1007/BF02985647. S2CID 61678587.
* Hehner, E. C. R.; Horspool, R.N.S. "A new representation of the rational numbers for fast easy arithmetic" (PDF). `{{cite journal}}`: Cite journal requires `|journal=` (help)

## External links

[edit]

* Official website
* DBLP publications
* A Practical Theory of Programming, Professor Hehner's book, available free in PDF
* Eric Hehner archival papers held at the University of Toronto Archives and Records Management Services

* v
* t
* e

ALGOL

Implementations|

| Technical
standards|

* ALGOL 58
* ALGOL 60
* ALGOL 68

|

Dialects|

* ABC ALGOL
* ALCOR
* ALGO
* ALGOL 68C
* ALGOL 68-R
* ALGOL 68RS (ELLA)
* ALGOL 68S
* ALGOL N
* ALGOL W
* ALGOL X
* Atlas Autocode (Edinburgh IMP)
* Burroughs ALGOL
* CORAL 66
* Dartmouth ALGOL 30
* DASK ALGOL
* DG/L
* Elliott ALGOL
* Executive Systems Problem Oriented Language (ESPOL) → New Executive Programming Language (NEWP)
* FLACC
* IMP
* JOVIAL
* Kidsgrove Algol
* MAD
* Mary
* NELIAC
* RTL/2
* S-algol, PS-algol, Napier88
* Simula
* Small Machine ALGOL Like Language (SMALL)
* SMIL ALGOL

Formalisms|

* Jensen's device
* Van Wijngaarden grammar

Community|

| Organizations|

| Professional
associations|

* ALCOR Group
* Association for Computing Machinery (ACM)
* BSI Group
* Euro-Asian Council for Standardization, Metrology and Certification (EASC)
* International Federation for Information Processing (IFIP) IFIP Working Group 2.1
* Society of Applied Mathematics and Mechanics (GAMM)

|

Business|

* Burroughs Corporation
* Elliott Brothers
* Regnecentralen

Education|

* Case Institute of Technology
* University of Edinburgh
* University of St Andrews
* Manchester University
* Massachusetts Institute of Technology (MIT)

Government|

* Royal Radar Establishment (RRE)

People|

| ALGOL 58|

* John Backus
* Friedrich L. Bauer
* Hermann Bottenbruch
* Charles Katz
* Alan Perlis
* Heinz Rutishauser
* Klaus Samelson
* Joseph Henry Wegstein

MAD|

* Bruce Arden
* Bernard Galler
* Robert M. Graham

ALGOL 60|

* Backus^
* Roland Carl Backhouse
* Bauer^
* Richard Bird
* Stephen R. Bourne
* Edsger W. Dijkstra
* Andrey Ershov
* Robert W. Floyd
* Jeremy Gibbons
* Julien Green
* David Gries
* Eric Hehner
* Tony Hoare
* Jørn Jensen
* Katz^
* Peter Landin
* Tom Maibaum
* Conor McBride
* John McCarthy
* Carroll Morgan
* Peter Naur
* Maurice Nivat
* John E. L. Peck
* Perlis^
* Brian Randell
* Rutishauser^
* Samelson^
* Jacob T. Schwartz
* Micha Sharir
* David Turner
* Bernard Vauquois
* Eiiti Wada
* Wegstein^
* Adriaan van Wijngaarden
* Mike Woodger

Simula|

* Ole-Johan Dahl
* Kristen Nygaard

ALGOL 68|

* Bauer^
* Susan G. Bond
* Bourne^
* Robert Dewar
* Dijkstra^
* Gerhard Goos
* Michael Guy
* Hoare^
* Cornelis H. A. Koster
* Peter Landin
* Charles H. Lindsey
* Barry J. Mailloux
* McCarthy^
* Lambert Meertens
* Naur^
* Peck^
* Willem van der Poel
* Randell^
* Douglas T. Ross
* Samelson^
* Michel Sintzoff
* van Wijngaarden^
* Niklaus Wirth
* Woodger^
* Philip Woodward
* Nobuo Yoneda

* Hal Abelson
* John Barnes
* Tony Brooker
* Ron Morrison
* Peter O'Hearn
* John C. Reynolds

* ALGOL Bulletin

Comparison|

* ALGOL 58 influence on ALGOL 60
* ALGOL 68 to other languages

* ^ = full name and link in prior ALGOL version above
Category: ALGOL Category: ALGOL 60

Authority control databases

International|

* ISNI
* VIAF

National|

* Germany
* United States
* France
* BnF data
* Israel

Academics|

* CiNii
* Mathematics Genealogy Project
* Association for Computing Machinery
* DBLP
* MathSciNet

People|

* DDB

Other|

* Yale LUX

This biography of a Canadian academic is a stub. You can help Wikipedia by expanding it.

|

* v
* t
* e

P ≟ NP |

This biographical article relating to a computer scientist is a stub. You can help Wikipedia by expanding it.

|

* v
* t
* e

This biographical article relating to a Canadian computer specialist is a stub. You can help Wikipedia by expanding it.

|

* v
* t
* e

*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template