32 citations found. Retrieving documents...
George Springer and Daniel P. Friedman. Scheme and the Art of Programming. MIT Press, 1989.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents

Problems in Comprehending Recursion and Suggested Solutions - Sooriamurthi (2001)   (1 citation)  (Correct)

....right the first time around while a recursive version follows quite naturally [7] 5.1 Future Work This paper reports on our experience with intermediate level programmers. For several years we have also used this template to teach recursion to novice programmers using the functional paradigm [9]. As discussed in [10] different students have different learning styles and learn better from different conceptual models. We are planning more quantitative studies of our approach to teaching recursion to novice, intermediate and experienced programmers. 6. CONCLUSIONS Learning to use ....

Springer, G. and Friedman, D. P. Scheme and the Art of Programming. MIT Press, 1989.


LispMe: An Implementation of Scheme for the Palm Pilot - Bayer (2001)   (Correct)

....1.4 The LispMe dialect LispMe implements most concepts and data structures of the R 4 RS [6] as well as some common extensions like eval and macros. LispMe does not support hygienic macros from the R 5 RS [10] but uses tree transformation procedures as in Scheme and the Art of Programming [16]. One di erence to R 4 RS Scheme is how LispMe handles top level de nitions. The reasons and implications are described in Section 5.2. From the tower of numeric types, small integer, real, and complex numbers including transcendental functions are supported. Big integers and rationals will ....

G. Springer and D. P. Friedman. Scheme and the Art of Programming. The MIT Press, Cambridge, MA, 1989.


A Knowledge Home - Personal knowledge structuring in a computer.. - Toffoli (2001)   (Correct)

.... for the needs of large critical project and large organizations, there are a number of languages that attempt to provide a more immediate and individual relationship between human and computer and were motivated by innovative pedagogical approaches; we may mention logo[1] forth[7] and scheme[51]. These all demand a higher level of personal technical commitment than we envisage. Attempts to dumb 4 In the our verbing scripting programming distinction, a program, in the usual sense of the term, is the software counterpart of a piece of complex, high precision machinery whose demands for ....

....minutes maybe in my friend s computer until I have a new one of my own. But your script is only a few pages long, and you have a hundred terabytes in your hard disk, we observe. Where 10 Naming is perhaps the most powerful abstracting notion we have, in any [natural or computer] language. [51] 11 Again, editing the genotype in order to modify the phenotype; cf. 2.1. does all that information come from, when you have to rebuild your knowledge home from scratch And what kind of wizard do you have to be to insure that everything will come together as it should As far as I m ....

Springer, George, and Daniel Friedman, Scheme and the Art of Programming, McGraw--Hill 1990.


Personal Knowledge Structuring - Toffoli (1999)   (Correct)

.... for the needs of large critical project and large organizations, there are a number of languages that attempt to provide a more immediate and individual relationship between human and computer and were motivated by innovative pedagogical approaches; we shall mention logo[1] forth[5] and scheme[34]. These all demand a higher level of personal technical commitment than we envisage. A scripting language like perl may be very handy for computer professionals steeped in the C shell culture, but is totally mystifying for the non adept. Applescript[4] has aspects worth imitating, such as the ....

....latter, which constitute most of the bulk, my script has pointers to the sources and can download materials and automated assembly instructions from there; I don t have to know the details. 1 Naming is perhaps the most powerful abstracting notion we have, in any [natural or computer] language. [34] 20 The objects that I made myself are mostly texts, drawings, scripts, and shop models which came directly from my hand and are literally the sweat of my brow. This is, as in the case of the scripts, small change (how many megabytes do you think I ll personally write in my entire life ) of ....

Springer George, and Daniel Friedman, Scheme and the Art of Programming, McGraw--Hill (1990).


Polymorphic Type-Checking in Scheme - Jenkins, Leavens (1997)   (Correct)

....for example, STYLE [1] and SoftScheme [2] the complexity of the types output by these systems is often daunting for beginners. Thus, a primary goal for the system is to infer types that are simple enough for students to understand. The textbook used in the course Scheme and the Art of Programming [3] also introduces the concept of abstract data types (ADTs) but implements them directly in Scheme. Hence the use of auxiliary mechanisms as done in STYLE or Soft Scheme would be unacceptable. Our system uses annotations that are in an auxiliary file, so that the proper use of ADTs can be enforced ....

....and ffl allow students to define their own ADTs. This is done by adding additional declarations to another file (the .def file) To see how these goals have been achieved, we will look at the ADT ratl, i.e. rationals. This is the first ADT mentioned in Scheme and the Art of Programming [3]. 1 This treatment of make vector described here is not entirely satisfactory. The type system could be extended with a better treatment of polymorphic mutable data as in [2] As it is, a vector of datum is practically worthless. define make ratl (lambda (numr denr) if (zero denr) error ....

[Article contains additional citation context not shown here]

George Springer and Daniel P. Friedman. Scheme and the Art of Programming. McGraw-Hill, New York, N.Y., 1989.


Intelligent Components and Software Generators - Batory (1997)   (4 citations)  (Correct)

....they are metaprograms programs that write other programs [Kic91] This means that transformational components represent and manipulate programs as data. The LISP and Scheme communities have long recognized and solved these problems: both programs and data are represented as prefix expressions [Kic91, Spr90]. However, for industrial languages like C and C (and the newcomer Java) there is no language support for representing and manipulating programs as data. Consequently, a critical aspect of programming infrastructure is lacking. Finally, we ve observed that compositional technologies are ....

G. Springer and D.P. Friedman, Scheme and the Art of Programming MIT Press and McGraw Hill, 1990.


Abstraction as a Fundamental Concept in Teaching Computer Science - Görz (1993)   (Correct)

.... of pairs: define (kons x y) define (dispatch m) message dispatcher (cond ( m 0) x) m 1) y) else (error KONS: wrong arg m) dispatch) value is a function (define (kar z) z 0) message passing as function call (define (kdr z) z 1) 3 cf. the excellent treatment of sets in [Springer and Friedman 1989] 4 in the style of [Abelson and Sussman 1985] Abstraction as a Fundamental Concept 7 4. Modularity, State, and Object oriented Programming We consider two strategies for organizing large software systems which originate from two different views of the organization of systems: First, the ....

....holds for every step in the derivation of a call of fact for some n and some k. This leads us to implement another version of fact which we call fact cps: define fact cps (lambda (n k) if (zero n) k 1) fact cps ( n 1) lambda (v) k ( n v) 6 cf. the chapters on continuations in [Springer and Friedman 1989] and [Friedman, Wand and Haynes 1992] Abstraction as a Fundamental Concept 9 Please note the structural similarity to fact iter acc including the fact that both functions are tail recursive. It can be proven by induction on n that (k (fact n) fact cps n k) The second argument k is used to ....

Springer, G., Friedman, D.P.: Scheme and the Art of Programming. Cambridge, Mass.: The MIT Press, 1989


Functional Languages and Introductory Computer Science - Howland (1998)   (Correct)

....in memory as a computation proceeds from beginning to end. Functional languages provide somewhat different view of program design which can be useful in the teaching of introductory computer science topics. In the following sections, programming examples are given in the Scheme [Har 94, Man 95, Spr 89] and J [Ive 95] programming languages. J is a pure functional language, however, Scheme is not. A subset of Scheme, which omits any Scheme function which mutates an existent Scheme item, is used for the examples in this paper. The choice of programming language used to teach computer science ....

....s 1 NB. s is empty again 8 Procedure Abstraction Procedure abstraction is not easily achieved in languages such as Pascal, C or C , however, in Scheme and J, functions are first class entities. They may be passed as arguments, assigned names and returned as values. Springer and Friedman [Spr 89] describe procedural abstractions in Scheme which solve classes of problems involving flat recursion of the top level elements of a list or deep recursion on all sub lists of a list. 8.1 Procedural Abstraction using J In J, functions may be passed as arguments and returned as values. Adverbs ....

[Article contains additional citation context not shown here]

Springer, George and Friedman, Daniel, Scheme and the Art of Programming, MIT Press, 1989.


Polymorphic Type-Checking in Scheme - Jenkins (1995)   (Correct)

....STYLE [Lin93] and Soft Scheme [WrC93] However, the complexity of the types output by these systems is often daunting for beginners. The facilities for building and using ADTs with these systems is also different from the approach used in the text used in CS227, Scheme and the Art of Programming [SpF89]. Thus, another goal is to aid students in understanding and using Abstract Data Types (ADTs) By using the type checker, they can see if their code makes proper use of an ADT s selectors, constructors, and mutators. This is perhaps the most important use of the type checker. 1.2. Brief ....

....quite simple. Also, the system is more restrictive than the Scheme language itself; for example, there are facilities to prevent the use of nested defines, even though nested defines are permitted in Scheme. The motivation for this is that the text for the class, Scheme and the Art of Programming [SpF89] does not use nested defines in the first thirteen chapters, which is the portion of the text normally covered in CS227. In general, the syntax accepted by the type checker is the subset of Scheme covered in the first thirteen chapters of [SpF89] however, some extensions have been made to ....

[Article contains additional citation context not shown here]

George Springer and Daniel P. Friedman, Scheme and the Art of Programming, MIT Press and McGraw-Hill, 1989.


Fields in Physics are like Curried Functions or Physics for.. - Leavens (1994)   (Correct)

....of fields in Physics. Section 5 offers some conclusions. 2 Background A simple physical example that can be used to teach curried functions is Newton s law of gravity [New87] FLS63, Chapter 7] Coding Newton s law in the programming language Scheme [SS78] RCA 86] IEE91] ASS85] SF89] will help explain Scheme s notation and curried functions. 2.1 Newton s Law of Universal Gravitation The magnitude of the gravitational force, F , between two masses, m 1 and m 2 , separated by distance (radius) r is given by the following equation. F = Gm 1 m 2 r 2 (1) In the above ....

....examples include the dielectric force law. A curried version of the Scheme function grav force is given in Figure 2. Currying a function with more than one argument means expressing that function using nested one argument functions [Fre91, pages 153 156] Sch24] Cur30] CFC58] Bar84, Page 6] SF89, Section 7.3] As a start to explaining this concept, the Scheme expression ( grav force c 5.96e24) 6.37e6) 68.0) also has as its approximate value 666:2 newtons. In general the Scheme function grav force c is such that for all m 1 , r, and m 2 , the following equation between Scheme ....

George Springer and Daniel P. Friedman. Scheme and the Art of Programming. McGraw-Hill, New York, N.Y., 1989.


LEDA: A Blending of Imperative and Relational Programming - Budd (1994)   (Correct)

....can be handled gracefully rather than passing control to some far flung location. We are currently investigating various alternatives to the every statement. One approach is similar to the drive statement of Cg [Bud82] An alternative proposal is more like the notion of continuation in Scheme [SpF89]. There is also a question concerning whether simply copying the Prolog syntax for relational rules is a good idea, or whether an alternative form that uses explicit logical connectives (and, or and not) might be more efficient (since it would allow clauses to be left factored out of rules, for ....

Springer, G. and Friedman, D. P., Scheme and the Art of Programming, MIT Press, Cambridge, Mass. 1989.


IT'S ALL IN THE LANGUAGE (Yet Another Look at the Choice of.. - Howland (1997)   (2 citations)  (Correct)

....s 1 NB. s is empty again 2.7 Procedure Abstraction Procedure abstraction is not easily achieved in languages such as Pascal, C or C , however, in Scheme and J, functions are first class entities. They may be passed as arguments, assigned names and returned as values. Springer and Friedman [Sp 89] describe procedural abstractions in Scheme which solve classes of problems involving flat recursion of the top level elements of a list or deep recursion on all sub lists of a list. 2.7.1 Procedural Abstraction using J In J, functions may be passed as arguments and returned as values. Adverbs ....

....Scheme software may be found at: ftp: ftp.cs.indiana.edu pub scheme repository Information on J software may be found at: http: www.jsoftware.com . 3. 2 Text Materials Several well known introductory computer science text books which use Scheme are (most notably) Ab 85, Fr 92, Ha 94, Ma 95, Sp 89] Development of the J programming language is relatively recent, with the first papers on J appearing in 1991. To this date, the only J based computer science text materials are [Ho 95] However, J has been used in an expository fashion to describe several topics in mathematics [Iv 92, Iv 93, Iv ....

Springer, George and Friedman, Daniel, Scheme and the Art of Programming, MIT Press, 1989.


A Physical Example For Teaching Curried Functions - Leavens (1996)   (1 citation)  (Correct)

....addition written in ANSI C. Figure 2 demonstrates the idea of closures, and it is quite helpful in teaching programmers what a closure is, and how they can be used to implement curried functions. However, to demonstrate the utility of curried functions, one should use a language, such as Scheme [1, 6, 14] that supports the automatic creation and invocation of closures. Because Scheme automatically creates closures, and can call them easily, students are not burdened with extraneous details and can concentrate on how to use the concept. For this reason, and also because the language is used in ....

....automatically creates closures, and can call them easily, students are not burdened with extraneous details and can concentrate on how to use the concept. For this reason, and also because the language is used in several texts that teach curried functions in the context of introductory programming [1, 6, 14] and programming languages [10] Scheme will be used in the rest of this paper. As a simple example of the power of Scheme for this kind of example, consider Figure 3. Scheme is a dialect of LISP, and as such uses a fully parenthesized syntax, and prefix notation. In Scheme, the form (define n e) ....

[Article contains additional citation context not shown here]

George Springer and Daniel P. Friedman. Scheme and the Art of Programming. McGraw-Hill, New York, N.Y., 1989.


Continuations in Hardware-Software Codesign - Tuna, Johnson, Burger (1994)   (2 citations)  (Correct)

....scoped dialect of Lisp, an expression oriented symbolic processing language. Its support of functional (procedural) objects having full status as data values is central to the techniques we develop later. Space permits only a brief sketch of this feature; tutorial material can be found in [7, 4]. The Scheme expression (lambda (x 1 Delta Delta Delta xn) e) returns a function with defining expression e involving parameters x 1 ; xn . A lambda expression may occur anywhere that an expression is permitted; functions may be created, passed as arguments, stored in structures, and ....

G. Springer and D. P. Friedman, Scheme and the Art of Programming. McGraw-Hill, 1990.


DDD: A System for Mechanized Digital Design Derivation - Johnson, Bose (1997)   (11 citations)  (Correct)

.... sublanguage is an implementation of a typed lambda calculus (i.e. a lambda calculus extended by primitive symbolic operations) A complete language definition can be found in [27] It s equally important symbolic processing capability is thoroughly developed in several text books, such as [7] [30] and [1] In the last of these a number of hardware modeling techniques are presented. In the informal language summary that follows, upper case variables refer to expressions and lower case variables refer to values; the same letter associates the two: expression E has value e. Scheme s symbolic ....

....full power of lambda calculus, it can evolve toward it. We have taken a bottom up approach to implementing the algebra, making a priority of establishing a connection to real hardware. In principle, DDD integrates with software oriented program transformation methods, as developed for example in [30], to give a much higher level of hardware specification. In other words, we think that this approach can be seemlessly extended to higher levels of system description. The first example presented in the paper, the Black Jack machine in Section 5, shows how DDD is used to manipulate physical ....

George Springer and Daniel P. Friedman. Scheme and the Art of Programming. McGraw-Hill, 1989.


Behavior Simulation and Analysis Techniques for Management Action.. - Sidou (1995)   (Correct)

....The more simple forms of control backtracking are based on recursive procedure calls supported by the execution stack. More elaborated forms of control backtracking can also be envisioned such as jumps through any execution stack contexts. Though small and simple, the used Scheme [Ce91, SF90] programming language provides in the language itself a powerful concept (continuations) and an associated construct (call with current continuation) enabling to set up and memorize an execution context and the way to go back to this context, by simply calling it as if it was a usual function. ....

Springer (G.S.) et Friedman (D.P.). -- Scheme and the Art of Programming. -- MIT Press, 1990.


Aiding Self-motivation with Readings in Introductory Computing - Gary Leavens   (Correct)

....The following are some of the recommendations I have made to majors in computing taking a first programming course. The readings are divided by topic. In addition to the literature discussed below, I also recommend books about the specific programming language used in class, which is Scheme [7, 1, 5, 2, 6]. These books also contain many interesting programming ideas. I also recommend books about the operating system and editor that the students use, although there is little need to discuss those books here. Finally, if the course is not a survey of computing, it is good to recommend such a book, ....

George Springer and Daniel P. Friedman. Scheme and the Art of Programming. McGraw-Hill, New York, N.Y., 1989.


Using a Continuation Twice and Its Implications for the.. - Thielecke (1998)   (9 citations)  (Correct)

....with local state. We can give a better analogue of arg fc with continuations by using a function that updates its own definition when it is called (Figure 3) Note that the last occurrence of f needs to be wrapped or protected by a lambda for this to work (see Scheme and the Art of Programming [29] for a discussion on this and safe letrec) The connection to state in Figure 3 gives evidence for a point already made by Landin about what would now be called upward continuations: This situation is similar to that arising when label assignment or procedure assignments are introduced [ ....

....[35, 34] that a better criterion for the effect freeness of a program in the presence of continuations is centrality, a kind of insensitivity to evaluation order. This corresponds roughly to another traditional use of continuations: the use of breakpoints from which a program may be restarted [29]. 4.2. Control is not an idempotent effect A similar context to the one used for copyability also gives us a counterexample to Amr Sabry s informal conjecture that, in Filinski s words, control is an idempotent effect . Thanks to Andrzej Filinski for pointing out to me that the refutation of the ....

George Springer and Daniel P. Friedman. Scheme and the Art of Programming. MIT Press, 1989.


CISE Educational Infrastructure: Tools and.. - Haynes, Dybvig..   Self-citation (Springer Friedman)   (Correct)

....Madison, U. of Utah, Wesleyan, and Yale. Almost half of these are using Scheme in their introductory course. Twenty two secondary schools using Scheme were also identified. Several other Scheme based introductory texts have been written for various types of students and curricular orientations [6, 8, 9, 10, 13, 17, 18], as well as a text on programming language concepts [12] Educational users played a central role in the development of an IEEE and ANSI standard for Scheme [3] A large number of Scheme implementations are available at moderate or no cost covering all popular hardware platforms. We identify, ....

.... Scheme systems, from one of the earliest widely used implementations of Scheme [11] to one of the highest performance Scheme implementations [7] which has thousands of users in more than a dozen countries; ffl authored popular Scheme based texts for introductory and programming languages courses [10, 12, 18]; ffl played a major role in the evolution and standardization of Scheme [1, 2, 3] and ffl performed research on the design and implementation of Scheme and extensions of Scheme and used Scheme as a tool in a variety of other research, as demonstrated by over 35 refereed publications. In Section ....

[Article contains additional citation context not shown here]

George Springer and Daniel P. Friedman. Scheme and the Art of Programming. MIT Press and McGraw-Hill, 1989.


Revised^4 Report on the Algorithmic Language Scheme - Clinger, (ed.), Rees.. (1991)   (242 citations)  Self-citation (Friedman)   (Correct)

No context found.

George Springer and Daniel P. Friedman. Scheme and the Art of Programming. MIT Press and McGraw-Hill, 1989. 50 Revised 4 Scheme


Categorical Structure of Continuation Passing Style - Thielecke (1997)   (18 citations)  (Correct)

No context found.

George Springer and Daniel P. Friedman. Scheme and the Art of Programming. MIT Press, 1989.


A Scheme for Little Languages in Interactive Graphics - Beckman (1991)   (11 citations)  (Correct)

No context found.

G. Springer and D. P. Friedman, Scheme and the Art of Programming, The MIT Press, McGraw- Hill, 1989.


CPS109 - Computer Science 1 - Mason (1997)   (Correct)

No context found.

George Springer and Daniel Friedman. Scheme and the Art of Programming. MIT Press, Cambridge, Mass., U.S.A., 1989.


APROL A Hybrid Language - Holmes, Howland   (Correct)

No context found.

Springer, George and Daniel P. Friedman. 1989. Scheme and the Art of Programming. New York: McGraw-Hill Book Company.


A Scheme for Interactive Graphics - Beckman (1990)   (Correct)

No context found.

G. Springer and D.P. Friedman, Scheme and the Art of Programming, The MIT Press, McGraw-Hill, 1989.

First 50 documents

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC