diff options
author | elioat <elioat@tilde.institute> | 2023-08-23 07:52:19 -0400 |
---|---|---|
committer | elioat <elioat@tilde.institute> | 2023-08-23 07:52:19 -0400 |
commit | 562a9a52d599d9a05f871404050968a5fd282640 (patch) | |
tree | 7d3305c1252c043bfe246ccc7deff0056aa6b5ab /js/games/nluqo.github.io/~bh/part1.html | |
parent | 5d012c6c011a9dedf7d0a098e456206244eb5a0f (diff) | |
download | tour-562a9a52d599d9a05f871404050968a5fd282640.tar.gz |
*
Diffstat (limited to 'js/games/nluqo.github.io/~bh/part1.html')
-rw-r--r-- | js/games/nluqo.github.io/~bh/part1.html | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/js/games/nluqo.github.io/~bh/part1.html b/js/games/nluqo.github.io/~bh/part1.html new file mode 100644 index 0000000..5391611 --- /dev/null +++ b/js/games/nluqo.github.io/~bh/part1.html @@ -0,0 +1,66 @@ +<HTML> +<HEAD> +<TITLE>Simply Scheme part I introduction</TITLE> +</HEAD> +<BODY> +<CITE>Simply Scheme</CITE> 2/e Copyright (C) 1999 MIT +<H1>Introduction: Functions</H1> + + +<TABLE><TR><TD> +<P><IMG SRC="simply.jpg" ALT="cover photo"> +<TD valign="center"> +<CITE><A HREF="http://www.cs.berkeley.edu/~bh/">Brian +Harvey</A><BR><A HREF="http://www.cnmat.berkeley.edu/~matt">Matthew +Wright</A><BR>University of California, Berkeley</CITE> +<BR><BR><A HREF="http://www-mitpress.mit.edu/book-home.tcl?isbn=0262082810">MIT +Press web page for Simply Scheme</A> +</TABLE> + +<P><A HREF="simply-toc.html">(back to Table of Contents)</A> + +<HR> + +<P>The purpose of these introductory pages before each part of the book is to +call attention to a big idea that runs through all the work of several +chapters. In the chapters themselves, the big idea may sometimes be hidden +from view because of the technical details that we need to make the idea +work. If you ever feel lost in the forest, you might want to refer back +here. + +<P>In these first two chapters, our goal is to introduce the Scheme programming +language and the idea of using <EM>functions</EM> as the building blocks of a +computation. + +<P>The first chapter is a collection of short Scheme programs, presented to +show off what Scheme can do. We'll try to explain enough of the mechanism +so that you don't feel completely mystified, but we'll defer the +details until later. Our goal is not for you to feel that you could +re-create these programs, but rather that you get a sense of what +<EM>kinds</EM> of programs we'll be working with. + +<P>The second chapter explores functions in some detail. Traditionally, +computer programs are built out of <EM>actions:</EM> First do this, then do +that, and finally print the results. Each step in the program <EM>does</EM> +something. Functional programming is different, in that we are less +concerned with actions and more concerned with values. + +<P>For example, if you have a pocket calculator with a square root button, you +could enter the number 3, push the button, and you'll see something like +1.732050808 in the display. How does the calculator know? There are +several possible processes that the calculator could carry out. One +process, for example, is to make a guess, square it, see if the result is +too big or too small, and use that information to make a closer guess. +That's a sequence of actions. But ordinarily you don't care what actions +the calculator takes; what interests you is that you want to apply the +square root <EM>function</EM> to the <EM>argument</EM> 3, and get back a +<EM>value.</EM> We're going to focus on this business of functions, arguments, +and result values. + +<P>Don't think that functions have to involve numbers. We'll be working with +functions like "first name," "plural," and "acronym." These functions +have words and sentences as their arguments and values. + +<P><A HREF="simply-toc.html">(back to Table of Contents)</A> +</BODY> +</HTML> |