guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

spread vs. nospread


From: Joshua Judson Rosen
Subject: spread vs. nospread
Date: Tue, 11 Dec 2001 15:29:51 -0500
User-agent: Mutt/1.3.24i

On Tue, Dec 11, 2001 at 09:58:49AM -0800, KELLEHER,KEVIN (Non-HP-Roseville,ex1) 
wrote:
> 
> 1.  What is the difference in meaning between these two expressions?
> 
>       (lamdba x  x)
>       (lambda (x) x)

The second (spread) function accepts one argument, and returns that value.
The first (nospread) function accepts any number of arguments, and returns the 
list of values.

If you were using the short-hand `define' syntax, your your forms would be 
equivalent to:

(define (f . x) x) ; equivalent to (lambda x x)
(define (f x) x)   ; equivalent to (lambda (x) x)


> 2. I've been doing the exercises in a learning-scheme book, and one is
> to implement the "list" function.  What is wrong here?
> 
>       (define (list . x)
>               (cond
>                       ((null? x) '())
>                       ((null? (cdr x)) x)
>                       (else (cons (car x) (ll (cdr x))))))

First off..., what is this `ll' function?

> (list 1 2 3 4) => (1 (2 3 4)), but I want (1 2 3 4).



reply via email to

[Prev in Thread] Current Thread [Next in Thread]