This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: set! (The GIMP! By gum, I forgot all about it!)



russell.mcmanus@gs.com writes:
> Tel <telford@eng.uts.edu.au> writes:
> 
> > I have to agree that I always liked the way (setq) used to return
> > the value in LISP and I see it as only bloody-mindedness on the part
> > of some purist that guile forces everything to #<unspecified>
> > (probably more the fault of R4RS than guile though). It would be
> > nice to be able to use (set!) in (cond) (and) and (or) expressions
> > rather than dick around with local variables.
> 
> I think you should define a 'setq' macro, and then use it in your own
> programs.
> 
> > While we are at it I find (while) far more intuitive than (do)
> > especially the stupid way that (do) specifies an expression that
> > must be true to LEAVE the loop rather than to KEEP GOING. This is
> > different to for() and while() in C.
> 
> Doesn't C have a do-until?  Anyway I think you can address the problem
> for yourself by defining a macro with the desired semantics.
> 

Bizzarely enough, it has do-while instead.  However, Scheme's `do'
doesn't even have the same semantics as `do-until', i.e. it does not
always execute the loop body at least once.

 - Maciej Stachowiak