[plt-scheme] Re: (newbie question) About Loop

From: Paulo J. Matos (pocmatos at gmail.com)
Date: Fri Jun 12 07:39:24 EDT 2009

On Fri, Jun 12, 2009 at 12:21 PM, emre berat nebioğlu<beratn at gmail.com> wrote:
> Can we use while or do while in drscheme.Just i wonder.I mean that
>
> While(list != null)
>      list=list.cdr
>

(let loop ([lst list])
    (if (null? lst)
        ...
        (loop (rest lst))))

this is my usual thing... no loops in 'your' sense of loop!

> On Fri, Jun 12, 2009 at 9:10 AM, Noel Welsh <noelwelsh at gmail.com> wrote:
>>
>> On Fri, Jun 12, 2009 at 7:05 AM, Captain___nemo<mmrasheed at gmail.com>
>> wrote:
>> > Thanks a lot :)
>> >
>> > Won't it be inefficient building list for large values (say thousands
>> > instead of 10)? Isn't there any direct loop syntax in Scheme?
>>
>> In PLT there are for comprehensions:
>>
>> (for ([i (in-range 10)]) ...)
>>
>> However, it is almost always bad style to use loops like you would in
>> Java. Functional programmers think of expressions creating values,
>> whereas Java's loops are fundamentally imperative. So rather than a
>> for comprehension, I would expect someone to use for/list or another
>> value returning comprehension.
>>
>> N.
>> _________________________________________________
>>  For list-related administrative tasks:
>>  http://list.cs.brown.edu/mailman/listinfo/plt-scheme
>
>
> _________________________________________________
>  For list-related administrative tasks:
>  http://list.cs.brown.edu/mailman/listinfo/plt-scheme
>
>



-- 
Paulo Jorge Matos - pocmatos at gmail.com
http://www.pmatos.net


Posted on the users mailing list.