Brief References < Viivi Tutorial and References < Viivi's Cell < Entrance


Viivi Brief References

There are many excellent Scheme books all over the world.
Therefore, you can choose your favorite book among them.
Here I will tell you my experience.

"The Scheme Programming Language" by R. Kent Dybvig

At the first time, I bought a printed Scheme textbook translated into Japanese.
(According to my memory, I bought two same books of different versions, actually.)
The author of the book publishes it, the original English version, on the Internet freely:

So you can start learning it right now, immediately!

When I started with this book, I already knew S-expressions of Scheme, such as

	30
	"abc"
	(+ 20 30)
and I knew how they are evaluated.
On the other hand, I had no knowledge how to program in Scheme.

Nevertheless, I learned it soon by reading the book.
The point in reading is

"Don't read! Just type!".

This theory applies to all the references listed here.
The book provides many Scheme source codes as examples.
I input each of them into some of the available Scheme processors and viewed the result.
Reading the explanations in the textbook is not always necessary.
Only when you cannot imagine at all what is happening in the Scheme processor, the explanation text helps.
Repeating it many times, I have gradually understood what happens in the Scheme processor.
So I recommend you to do the same things.

The difference between you and me is now you have Viivi.
As Viivi is not a textbook, she does not provide you any contents of Scheme codes.
As Viivi is designed to be a tutor, however, she can explain you how the Scheme codes you provide are evaluated, showing inside the evaluating process.
I guess you can learn the Scheme programming a hundred-times faster than I, if you use Viivi.
(Yes, I am serious! :))

After having grabbed the rough feeling of Scheme by reading the textbook, I moved to R5RS.

R5RS

This is the most basic specification for the Scheme programming language.
Although you may find a newer versions, such as R6RS and R7RS, Viivi is based on R5RS.
It is because R5RS is so-called a de facto standard for Scheme Programming Language.
I personally prefer it, and think it is enough (or even too much) for me to play around in the world of logic.
If you understand R5RS completely, you can say you know Scheme completely.
So, why is R5RS not at the top of the list here?
In order to cram everything into this little booklet, R5RS is a bit difficult to understand for the beginners.
The explanations are all spot on indeed, but the examples are not that many.
The most serious problem for me was that some of the examples were very tricky.
I am afraid you will find the same thing as I did, if you begin with R5RS.
That's why I would recommend you the above textbook first.

"Schemeによる記号処理入門" by 猪股俊光,益崎真治

(The meaning of the title would be "Introduction to Symbol Processing by Scheme" or something like that.)

This is a textbook written in Japanese.
The second half of this book is especially dedicated for the classics of Scheme codes with variety of Scheme techniques.
I have been using one of the codes, the "N-Queen" problem solver, during the development of Viivi, because it uses continuations a lot.
I sincerely hope the publisher will keep printing this book in the future.
If such an excellent book was out of print, it would be a great loss of Japanese Scheme culture.
(I have to make it clear, I was NOT asked by the publisher for a promotion!)
It would be happier if they will provide an electronic version.
Non-native Japanese speakers can also use it as a book of Scheme-code collection.

Looking for this kind of books full of example Scheme codes, or picking up some Scheme codes from the Internet, please try to run one of them on Viivi.
Viivi will show you, as a guide of your own, what is happening inside the mysterious code step by step.
At least for me, it is much more exciting and fun than any other adventure games!


Brief References < Viivi Tutorial and References < Viivi's Cell < Entrance


Contact

Exhibited on 2022/03/02
Copyright(C) 2003-2022 ilma <ilma@viivi.io> All rights reserved.