Now it makes sense for me, Thank you!

2013/5/13 Taylan Ulrich B. <[email protected]>

> 張書瀚 <[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

Reply via email to