Hi Marijn
Thank you very much! You comments are very valuable for me. I will try many popular implementations, starting from Chicken and Gambit. They look similar. Both are great!
Best Regards Charles Wang
2011/5/4 Marijn hkBst@gentoo.org:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi Charles,
On 04/29/11 08:00, Charles Wang wrote:
Hi, I am a newcomer to the scheme community. I would like to use some portable libraries. After searching on the Internet, I found there are "slib" and "snow".
http://people.csail.mit.edu/jaffer/SLIB http://snow.iro.umontreal.ca/?tab=Packages
Could anyone know what's the differences between them and which one I should stick to?
I know where you're coming from, because I've been there, so I'd like to offer my views.
First to answer your question: snow is dead, slib is alive but doesn't seem very popular and I haven't really used it.
For portability try to stay close to R5RS+SRFIs or use (controversial but some seem to like it specifically for its greater ``portability'' because of its bigger/completer standard) R6RS. Whichever you choose, there will be some scheme implementations that you can choose from and they will differ mostly in small ways in the language that they accept and the way you can activate SRFIs/libraries. Thus you can choose to create small implementation-specific files which call the portable core of your code, or if your code is small and you don't need much, cram it in the way you call your code (an example of that is in the dumping grounds Ising simulation code that I dumped long ago (when the server is usable again)). My advice is to just start with any implementation and if you notice any limitations/behaviors that annoy you, try your code on a different one until you find one which works for you. Some implementations are fast, like Gambit, although it gets a lot faster if you don't forget to ask it to cut some corners; other implementations have their own strengths and focus. Once you're more familiar with different implementations it will be easier to choose which ones you need for what so don't be afraid to experiment a bit.
Good luck,
Marijn -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.17 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAk3BGLAACgkQp/VmCx0OL2yaSgCfRI4ZcbLv9b9zguryNzydEf+N wocAn2C9kFmfeCnyBgWlyzwOtE2w+sE8 =z+BJ -----END PGP SIGNATURE-----