chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] printer for records other than define-record?


From: felix winkelmann
Subject: Re: [Chicken-users] printer for records other than define-record?
Date: Wed, 17 Aug 2005 08:02:51 +0200

On 8/16/05, Michael Benfield <address@hidden> wrote:
> define-record-printer seems to only work for records defined with
> define-record, and not with define-record-type or
> define-foreign-record.

It should definitely work for records defined with `define-record-type':

(define-record-type <foo> 
  (make-foo x y)
  foo?
  (x get-x) 
  (y get-y) )

(define-record-printer (<foo> f p)
  (display "<a foo>" p) )

(print (make-foo 33 44))

==>  "<a foo>"

`define-foreign-record' doesn't create a record structure as such -
it's merely a set of procedures for accessing a C struct.

To print foreign records in a more usable format, one could wrap
them into a (normal) record and define a printer for the wrapper
record.


cheers,
felix




reply via email to

[Prev in Thread] Current Thread [Next in Thread]