Microsoft Research Blog

English

  1. The Implementation of Functional Programming Languages 

    April 1, 1987 | Simon Peyton Jones

    “The Implementation of Functional Languages” is a book about implementing functional programming languages using lazy graph reduction, and it divides into three parts. The first part describes how to translate a high-level functional language into an intermediate language, called the lambda calculus, incuding detailed coverage…

  2. Derivation of a Simple Synchronization Algorithm 

    February 5, 1987 | Leslie Lamport

    Chuck Thacker posed a little synchronization problem to me, which I solved with Jim Saxe's help. At that time, deriving concurrent algorithms was the fashion--the idea that you discover the algorithm by some form of black magic and then verify it was considered passé. So,…

  3. Basic Polymorphic Typechecking 

    January 1, 1987 | Luca Cardelli

    Polymorphic means to have many forms. As related to programming languages, it refers to data or programs which have many types, or which operate on many types. There are several arbitrary ways in which programs can have many types; we are mostly interested in a…

  4. Authentication Revisited 

    January 1, 1987 | Mike Schroeder, David K. Gifford, and Roger M. Needham

    In a paper published in 1978 (Needham & Schroeder) we presented protocols for the use of encryption for authentication in large networks of computers. Subsequently the protocols were criticised (Denning and Sacco) on the grounds that compromise of a session key and copying of an…

  5. Secret Sharing Homomorphisms: Keeping Shares of a Secret Secret 

    January 1, 1987 | Josh Benaloh

    In 1979, Blackley and Shamir independently proposed schemes by which a secret can be divided into many shares which can be distributed to mutually suspicious agents. This paper describes a homomorphism property attained by these and several other secret sharing schemes which allows multiple secrets…