-----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
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