Shelves of Technical Books

Bibliography
Functional Programming Systems

orcmid.github.io>
bib>

funprog.htm>
0.01 2024-08-08 16:28


  
see also
Readings in Logic
Readings in Computation Theory
Readings in Software Tools and Programming
  
[Abelson1996]
Abelson, Harold., Sussman, Gerald Jay., Sussman, Julie. Structure and Interpretation of Computer Programs. ed.2. MIT Press (Cambridge, MA: 1996). ISBN 0-07-000484-6 (McGraw-Hill hardcover).
     2000-07-18: People keep referring me to this book, though I can't ever remember liking it very much. So I got it anyhow. I think what bothers me is that it only uses one computer language, Scheme, to make its points. And it does have lots of material. Lots of material. And it addresses topics I say I care about. So I have the book and I will make the effort.
 
[Burge1966]
Burge, William H. A reprogramming machine.  Comm. ACM 9, 2 (February 1966), 60-66.  Available on the Internet at <https://doi.org/10.1145/365170.365174>.
   2024-03-12: This paper was originally presented at a conference on reprogramming.  At the time, the concern was about the translation of machine (i.e., assembly) language programs from one make of computer to another.  It was around that time that such an effort was underway at the Univac Division of Sperry Rand to accomplish precisely that.  I recall a colleague working on exactly that in the Advanced Programming group in New York City.  I no longer recall what the target machines were.  It didn't get far enough to be useful, and it is easy to construct counter-examples that would fail.
  2024-08-08: In many respects, the reprogramming machine this is more like a refactoring mechanism featuring the lambda-calculus and possibly-relevant in a reverse-engineering activity.   
 
 
[Burge1975]
Burge, William H. Recursive Programming Techniques. Addison-Wesley (Reading, MA: 1975). ISBN 0-201-14450-6.
     2024-07-23: Hear are ideas about functions to explore as good ways to represent all kinds of things. Section 1.8 to the end of Chapter 1 deals with all of the lambda-calculus and combinatory logic.  The notation developments in Chapters 1-2 are based on [Landin1966] and the ISWIM SECD machine.  The Miser Project Frugalese notation is inspired by my early exposure to that effort.
  Content
    Chapter 1 Basic Notions and Notations
    Chapter 2 Program Structure
    Chapter 3 Data Structures
    Chapter 4 Parsing
    Chapter 5 Sorting
    Index to Programs
    Index
.
 
[Evans1968]
Evans, Arthur, Jr.  PAL - Pedagogic Algorithmic Language: A Reference Manual and A Primer.   (MIT Department of Electrical Engineering: February 1968).  185 pp., typescript.  Available on the Internet at <https://www.softwarepreservation.org/projects/PAL/Pal-ref-man.pdf/view>.  Wikipedia has some background at PAL(Programming Language).  Originally written in LISP, this may be the closest to a completed ISWIM implementation, kicked off by Peter Landin and James H. Morris, Jr.  It did not have traction at MIT, where Scheme seemed to have become the favored pedagogic approach until recently.
  
[Felleisen1996]
Friedman, Daniel P., Felleisen, Matthias. The Little Schemer. ed.4. MIT Press (Cambridge, MA: 1974, 1986, 1987, 1989, 1996). ISBN 0-262-56099-2 (pbk: alk. paper).  See [Friedman1996]
 
[Friedman1996]
Friedman, Daniel P., Felleisen, Matthias. The Little Schemer. ed.4. MIT Press (Cambridge, MA: 1974, 1986, 1987, 1989, 1996). ISBN 0-262-56099-2 (pbk: alk. paper).
     2000-07-18: This is the current form of The Little LISPer. I found the sequel, The Seasoned Schemer, at the University Bookstore in Seattle, but have resisted. This was something to have more hands-on familiarity with Scheme, since there are nice free implementations.  I chose Dr.Scheme because it is used in education projects. 
     I have already worked through Chapter 1 and have copious notes on how I wouldn't do it that way. I am following the guidelines of the book.  I am looking at their typographical conventions to help me choose mine, but not sure how it will go.
  
[ISWIM1996]
ISWIM (If You See What I Mean).  Wikipedia Article.  Accessed 2024-02-29.
  
[Landin1964]
Landin, P.J.  The mechanical evaluation of expressions.  Computer Journal 6, 4 (January 1964), 308-320.
   This is Landin's initial publication on applicative operations with connection to the λ-calculus.  This is what was passed around the Sperry Univac office to acquaint us with the notions of functional programming and how they might be introduced in programming languages and practice.
   
[Landin1966]
Landin, P.J.  The Next 700 Programming Languages.  Comm. ACM 9, 3 (March 1966), 157-164.
    Following [Landin1964], this paper became Landin's suggestion that the direction for introduction of programming languages should be as ones that are, in some respect, sugarings of an underlying functional system, namely a proposed ISWIM (If you See What I Mean) programming-language system. At the paper's presentation at the ACM Programming Languages and Pragmatics Conference in 1965, discussion seemed to bikeshed on the use of indentation in the ISWIM illustrations, something now made commonplace in Python.  This paper is enduring as a demonstration of applicative programming without explicit use of  λ-expressions, although the procedures for functions are first-class entities.
  
-[McCarthy1960]
McCarthy, John.  Recursive functions of symbolic expressions and their computation by machine, Part I.  Comm. ACM 3, 4 (April 1960), 184-195.  doi>10.1145/367177.367199 available at <https://dl.acm.org/citation.cfm?doid=367177.367199>.
    Part II did not appear and it was, perhaps, unnecessary. 
  
[Okasaki1998]
Okasaki, Chris. Purely Functional Data Structures. Cambridge University Press (Cambridge: 1998). ISBN 0-521-66350-4 pbk.
     Addresses the problem of creating interesting data structures in a purely-functional setting. 
     2000-07-18: Since the Miser Engine produces purely-functional results using an eager evaluator (a distinction I got from browsing this book), something to look into. The examples and worked definitions are all in ML, so then I grabbed [Paulson1996] when I ran across it.
   
[Paulson1996]
Paulson, Lawrence C. ML for the Working Programmer. Cambridge University Press (Cambridge: 1991, 1996). ISBN 0-521-56543-X pbk.
     2000-07-18: Because the [Okasaki1998] programs are all provided in ML, this seemed like a good idea. I am yet to find out what "ML" stands for, but I gave up my thin little specifications a move or two ago. Now I need to find a free implementation of Standard ML.
     2024-08-08: Digging into the combinators, λ-calculus, and representation of other types as interpretations of λ-expressions occurs in Chapter 9, Writing Interpreters for the λ-calculus, starting in section 9.5.
  
 
[Reynolds1998]
Reynolds, John C. Theories of Programming Languages. Cambridge University Press (Cambridge: 1998). ISBN 0-521-59414-6 hardback.
     2000-07-18: I bought this as an antidote to [Abelson1996]. There is far more than I need, but it is also covers some concepts that I can refer to.
 
[SussmanGJ1996]
Abelson, Harold., Sussman, Gerald Jay., Sussman, Julie. Structure and Interpretation of Computer Programs. ed.2. MIT Press (Cambridge, MA: 1996). ISBN 0-07-000484-6 (McGraw-Hill hardcover).  See [Abelson1996]  
 
[SussmanJulie1996]
Abelson, Harold., Sussman, Gerald Jay., Sussman, Julie. Structure and Interpretation of Computer Programs. ed.2. MIT Press (Cambridge, MA: 1996). ISBN 0-07-000484-6 (McGraw-Hill hardcover).    See [Abelson1996

0.0.2 2023-09-11T16:56Z Repurposed to orcmid.github.io
0.01 2014-05-01-09:42 Repaved Version
Along with updating to the current construction structure styles and format, this page is adjusted for eventual transposition to Orcmid's Lair for centralization of all bibliographies.  Fragment identifires are corrected to have valid XML NCName syntax.

0.00 2000-07-18-17:03 Setup and Build Initial Bibliography (orcmid)
Provide bibliography page for use under the Miser Project
Construction Structure (Hard Hat Area) You are navigating Orcmid on GitHub

created 2000-07-18-17:03 -0700 (pdt) by orcmid