Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watmath!clyde!rutgers!labrea!jade!ucbvax!B.CS.UIUC.EDU!reddy From: reddy@B.CS.UIUC.EDU.UUCP Newsgroups: comp.lang.scheme Subject: Applicative languages? Anyone? Message-ID: <8712041705.AA16314@b.cs.uiuc.edu> Date: Fri, 4-Dec-87 12:05:26 EST Article-I.D.: b.8712041705.AA16314 Posted: Fri Dec 4 12:05:26 1987 Date-Received: Wed, 9-Dec-87 06:43:04 EST Sender: usenet@ucbvax.BERKELEY.EDU Organization: The ARPA Internet Lines: 32 >2) Some syntactic means for preventing argumentsfrom getting unreadably > numerous just to pass something down to where it's finally used. This is an interesting issue. I can think of two solutions right away: 1. Package up all the arguments into a data structure (say an association-list or an object), and then you only need to pass around one data structure. (A good way to implement this data structure would be as a "frame" a la Abelson and Sussman. I have tried earlier to lobby for a "make-frame" primitive, like the "make-environment" primitive, but was unsuccessful). 2. If this passing around of arguments is happening internal to a function, use lexical scoping. Say f is a function that needs n arguments. Define it as (define (f x1 x2 ... xn) (define (local-function1) ...) ... (define (local-functionk) ...) ...) The arguments x1,...,xn need not be passed to every local-function. What is wrong with these solutios? Perhaps there is a different problem that you have in mind, but haven't stated precisely yet. Uday Reddy University of Illinois