My first post, I'd like to ask some questions, I've been doing some reading on Lisp Languages and While I have an idea of some I'd like to start out with I'm really new in this, so after reading I'd like to get input from lisp and scheme programmers about what they think.

For a start I was thinking of learning either Scheme or Racket (the previous PLT scheme) and they got a new book out for it, realm of racket. I've started with some of the Online manuals and its pretty interesting and fun but before I Dive in, and even consider buy the book, I'd like some input if I should focus on Racket or other Scheme/Lisps, my questions -

1.) Is there a huge difference with Scheme R6RS and Racket? Should I just stick to R6RS? for learning Lisp or go with Racket?

2.) Any Idea if R7RS will be finished soon? I have no idea if its like Perl 6 that it just gets out when they feel it or its got a schedule or ETA? I'm just thinking if its okay to wait for it like in this later months or sooner? I'd like to learn a language and if possible a practical one not just a minimal one.

3.) I'm Looking for books free or commercial for R6RS, most books seem to be for R5RS, any advice on titles?

4.) Are there other Lisp 2's other than Common Lisp that I could look into?

5.) As most main scheme implementations did not produce for R6RS, which are the free/opensource R6 Implementations good for beginner lisp learning should I go for Ypsilon? or other?

Background:My purpose is to learn Lisp Programming well and some functional programming, I like the idea to tinker with a batteries included language but it doesn't have to be at the TOP RANK TIOBE Famous. Coming from Programming Languages: C, Bash, JavaScript primarily RubyWill be using GNU Linux System with Emacs 24 (preferred) or EclipseCurrent Choices Scheme RNRS [5 6 or 7], Racket maybe Clojure, Common Lisp after and other open to suggestions?thanks for any recommendations or opinions

Not really. Racket is based on R5RS Scheme. Racket has it's own module system that pre-dates R6RS and it has a lot of libraries. Most functional scheme code will work out of the box in Racket. Since the racket language doesn't submit to any standard this might change. Last big change was making pairs immutable so set-car! and set-cdr! won't work like in RNRS. Standardization is nice. You code will work in other implementations. E.g. you implent with DrRacket and you can run your app in Ikarus for speed. The standard doesn't cover everything so to make <feature> you might need a library and that won't be portable anyway. Eg. make a GUI applications.

No idea, but it won't be that difficult to port between R6RS and R7RS when the day comes. All the standards are based on the previous so you should read the page, near the end, where they mention what has changes since last version. A R5RS program might work out of the box in R6RS after adding an import statement to the top of the file. Needless to say, the other way is not as easy. All the languages I know has had changes that are simliar or larger than the difference between R5RS and R6RS.

The Scheme programming language uses R6RS. Many of the R5RS books would work too if you add import statement or if the implementation does it automatically when you run their REPL.

Hopefully not. The whole point with Common Lisp was to have a joint standard.

I learned Common Lisp by following Land of Lisp. Last year I watched the SICP videoes. Currently I'm going though Realm of Racket. I love DrRacket (the IDE) so much I wish there were a Common Lisp module for it.Emacs is probably the standard editor for developing Lispy languages since it comes with elisp. You'll probably find How-tos to connect it against most implementations, including Ikarus and Racket.As for other things to look at you should try Paul Grahams lisp articles.

I would recommend Racket as a good intro to Lisp programming. Powerful system, easy to get started with, etc.HtDP2e may be a good guidebook. Its geared more towards people new to programming, but that should make it a quick read for you.

Common Lisp has more of a production language feel -- it is big and a bit ugly, but with practice you start seeing how everything fits together to form a powerful system.Its the dialect with the best commercial support.

Clojure is a good language, but it is essentially tied to the JVM and feels a bit less lispy.

Once you start getting experience with one Lisp system, learning and migrating to another shouldn't be so hard.

I've started playing a lot with Racket myself over the past few weeks and I'm quite impressed. I love that it's a "batteries included" language that provides a lot of infrastructure for graphics, windowing, etc. The module system is powerful and helps overcome some of the Lisp-1 issues associated with a single namespace. Some of the changes to Scheme to make cons data immutable are even fairly nice once you understand them (and you can work around them if you really need to).