Path: utzoo!mnetor!tmsoft!torsqnt!news-server.csri.toronto.edu!cs.utexas.edu!sun-barr!apple!snorkelwacker.mit.edu!bloom-beacon!dont-send-mail-to-path-lines From: jar@altdorf.ai.mit.EDU (Jonathan A Rees) Newsgroups: comp.lang.scheme Subject: Scheme recursive procedures Message-ID: <9102010942.aa25019@mc.lcs.mit.edu> Date: 1 Feb 91 14:40:47 GMT Sender: jar@altdorf.ai.mit.edu Organization: The Internet Lines: 21 Date: 31 Jan 91 08:18:51 GMT From: 60766000 the version of scheme at my school doesn't have the function "reverse" I am trying to write one but so far have only come up with one that is recursive but needs to take in two arguments.. CAn someone show me a way to do it with only one ?.. The following is from John Allen's book _Anatomy of Lisp_, if I recall correctly (unlikely): (define (reverse l) (cond ((null? l) l) ((null? (cdr l)) l) (else (cons (car (reverse (cdr l))) (reverse (cons (car l) (reverse (cdr (reverse (cdr l)))))))))) Somehow I don't think this is what you had in mind, but I'm sure that other members of this forum will supply you with plenty of alternatives.