-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, why does gambit eliminate all spacing and parens when displaying lists, such as in: (display ((lambda (lambda) `(,lambda ',lambda)) '(lambda (lambda) `(,lambda ,'lambda))))(newline) with output: lambdalambdaquasiquoteunquotelambdaunquotequotelambdaquotelambdalambdaquasiquoteunquotelambdaunquotequotelambda ? Marijn -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.4 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFGSfIKp/VmCx0OL2wRAnKzAJ0dEwDl+eOdaVbcHZNSn/cXMW7uAQCdEPxy qOQ8bE+EypALeJECh7qwElg= =Z1c3 -----END PGP SIGNATURE-----
Afficher les réponses par date
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 15-May-07, at 1:46 PM, Marijn Schouten (hkBst) wrote:
Hi,
why does gambit eliminate all spacing and parens when displaying lists, such as in:
(display ((lambda (lambda) `(,lambda ',lambda)) '(lambda (lambda) ` (,lambda ,'lambda))))(newline)
with output:
lambdalambdaquasiquoteunquotelambdaunquotequotelambdaquotelambdalambda quasiquoteunquotelambdaunquotequotelambda
Why don't you use "write", "pretty-print" or "pp":
(pp ((lambda (lambda) `(,lambda ',lambda)) '(lambda (lambda) ` (,lambda ,'lambda)))) ((lambda (lambda) `(,lambda ,'lambda)) '(lambda (lambda) ` (,lambda ,'lambda)))
The current behavior of "display" is useful for situations like this:
(define name "Marc") (define amount 1000000) (define (prize) (list "the lottery grand prize of " amount " dollars")) (display (list "Hello " name ", you have just won " (prize) ".\n")) Hello Marc, you have just won the lottery grand prize of 1000000 dollars.
Note that this behavior conforms to the RnRS standard. Marc -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.3 (Darwin) iD8DBQFGSiMz//V9Zc2T/v4RAoQUAJ9EhjQ6qy22LybOTZduUT0haHjyfQCgrRwQ 1ghONEsy43rP5UJTFM2MY/I= =8mhy -----END PGP SIGNATURE-----
participants (2)
-
Marc Feeley -
Marijn Schouten (hkBst)