README 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. # -*- mode: org -*-
  2. * Description
  3. This is a MIT/GNU Scheme compatibility library for Chez Scheme. The
  4. goal of the library is to provide those functions used in the
  5. 'Scmutils' library which are not available in Chez Scheme.
  6. Note that the behavior of some functions differs from the one in
  7. MIT/GNU Scheme. This is the case for example for functions
  8. manipulating environments: MIT/GNU Scheme provides hierarchical
  9. environments, while Chez Scheme doesn't.
  10. * Build
  11. To build the libraries run "make". By default it looks for a
  12. Chez Scheme binary called "chez-scheme". If the name of your binary
  13. is different, you can specify it as follows (for all targets):
  14. make CHEZ=my-chez-scheme-bin
  15. To test the build run
  16. make test
  17. * Install
  18. By default "make install" will install the libraries under the prefix
  19. "/usr/local". You can specify a different installation prefix
  20. directory as follows:
  21. make install PREFIX=/my-prefix/path
  22. This will install all compiled libraries (*.so files) to
  23. $PREFIX/lib/csvX.Y-site, where X.Y is Chez's version. If in addition
  24. you want to install the source files, use the 'install-src' target.
  25. They are installed in the same directory as the .so files.
  26. * Use
  27. Make sure that Chez Scheme can find the libraries by specifying their
  28. location on the command line (with the appropriate flag), or by
  29. setting the environment variable CHEZSCHEMELIBDIRS.
  30. The library is split in the following sub-libraries:
  31. - (mit apply-hook)
  32. - (mit arithmetic)
  33. - (mit arity)
  34. - (mit core)
  35. - (mit curry)
  36. - (mit environment)
  37. - (mit hash-tables)
  38. - (mit list)
  39. - (mit streams)
  40. - (mit vector)
  41. The symbol 'procedure-arity' is exported by both (mit apply-hook) and
  42. (mit arity). The difference is that the former supports 'apply-hooks'
  43. while the latter doesn't. Thus, if you do not use 'apply-hooks' use
  44. the one from (mit arity), otherwise use the one from (mit apply-hook).