On Jul 14, 2012, at 6:54 PM, Rouben Rostamian wrote:

> Thank you, Matthias (and also Neil Van Dyke) for the very
> detailed explanation of the design decisions that has gone
> into Racket.  Now I see that Racket is intended to be a Lisp
> dialect of its own rather than a "Scheme plus extensions"
> as I had mistakenly assumed.
> 
> In retrospect, that assumption was influenced by my experience
> with C which is the predominant language in which I program.
> Various implementations of C, such as those of GNU, Microsoft,
> Intel, Sun, AIX, etc., provide their own diverse extensions
> to the language but in all cases the extensions are strict
> supersets of the standard C -- they would be considered
> unacceptable otherwise.
> 
> I was looking for something similar in the scheme world but
> what I have learned is that one cannot extend his experience
> from one programming language realm and culture into another
> and expect to find a one to one correspondence.

The 'one to one correspondence' to which you refer are the implementation of 
expressions and fundamental functions. I believe they are as significant as the 
standard upon which C is based. 

The recent discussion entitled "This is too clumsy. Is there a better way?" had 
several examples which are common to modern Schemes.  R5RS and Racket both 
accept the following expressions and functions, even though the implementations 
are separated by two decades.

(define (all-lower-case? locs)
  (if (null? locs) #t
      (if (char-upper-case? (car locs)) #f
          (all-lower-case? (cdr locs)))))

(all-lower-case? (string->list "asdf12#@"))
(all-lower-case? (string->list "asDf12#@"))

I am a longtime C programmer that is more worried about maintaining C than 
porting Racket programs if the Racketeers all move to Mars.

rac

____________________
  Racket Users list:
  http://lists.racket-lang.org/users

Reply via email to