Lisp

Programmer

博客园 首页 新随笔 联系 订阅 管理

Which implementation should I use? I have tried Petite Chez Scheme, MzScheme, Scheme 48, and Bigloo.

For Bigloo, I was attracted by its design goal stated in its homepage, "Build a practical Scheme Compiler", so it provides a lot of facilities for foreign language interfacing. But I found it is not R5RS complient, whether it handles tail-calls properly remains in doubt. But I am sure it can not handle big numbers, currently. I think it is very sad.

Scheme 48 seems to be not found itself in MS Windows environment. It is not very friendly to me, interpreting source is not very fast, at least I am sure its output facility is very slow in MS Windows Command line Console.

MzScheme has a good library, in addition, it integrates SLib very well ( I just unzip Slib to a proper directory, and it works. This save me a lot of time). It is also fast in interpreting source.

Petite Chez Scheme is a clean, fast implementation of Scheme. Its performance is very good, I like it very much. But the compiler is not free, so I can not use it to interface with other languages.

In summery, I use Scheme to learn programming, and I do not to do foreign interfacing, so stay with R5RS Scheme, and use Petite and MzScheme. From now no, concentrate on language issues, not application issues.

P.S. MIT/GNU Scheme compiling can speed up very much, the result is very encouraging, although the compiler itself is also very complex, but MzScheme is less attractive.

posted on 2006-04-19 15:32  fei  阅读(429)  评论(0)    收藏  举报