張書瀚 <[email protected]> writes: > Here is a example in r7rs-draft-9.pdf: > (define-library (example life) > (export life) > (import (except (scheme base) set!) > (scheme write) > (example grid)) > (begin > (define (life-count grid i j) > ...) > ...)) > > why not: > (define-library (example life) > (export life) > (import (except (scheme base) set!) > (scheme write) > (example grid)) > (define (life-count grid i j) > ...) > ...) > > The second one (which is more r6rs-alike) looks less verbose, isn't > it? > Can anyone please tell me why the first one is preferred, thank you > very much!
The first one is preferred because it cleanly separates the declarative library language from the actual Scheme code. What if you have an `export' or an `import' function in your own code? (You could get around it by wrapping them in a `begin' (or another such "escape") each time you want to use them in the top-level of your own code, but that would be very dirty, obviously if you ask me.) _______________________________________________ Scheme-reports mailing list [email protected] http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports
