[plt-scheme] How to display constructor form in PrettyBig

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Mon Apr 5 12:57:11 EDT 2010

I think you want to make the struct transparent:

  (define-struct node (value left right) #:transparent)

is how you do that in "#lang scheme", but in pretty big you may or may
not be using that define-struct.

If you can, your best long-term route is to avoid Pretty Big and write
files with a language specification at the top. In that case you might
write:

  #lang scheme
  (define-struct node (value left right) #:transparent)

Or this one might be the one you want, depending on the rest of your program:

  #lang mzscheme
  (define-struct node (value left right) (make-inspector))

Note that after you do this, you should adjust the language in your
language dialog to the "Module" language (for older versions) or
choose the "Use the language defined in the source" radio button (for
the most recent version).

hth,
Robby

On Mon, Apr 5, 2010 at 11:48 AM, Barry Brown <barry at cs.sierracollege.edu> wrote:
> I'm sorry; I should have mentioned in my original email that I have tried that. It still prints only (make-node ...)
>
> -B
>
> On Apr 5, 2010, at 9:38 AM, Matthias Felleisen wrote:
>
>>
>> Open the Language Dialog. Choose constructor-style printing. Okay. Enjoy.
>>
>>
>> On Apr 5, 2010, at 12:27 PM, Barry Brown wrote:
>>
>>> How do I get PrettyBig or #lang scheme to display structures using the complete constructor form the way Beginning Student does?
>>>
>>> I want to do this:
>>> (define-struct node (value left right))
>>> (make-node 10 (make-node 5 empty empty) empty)
>>>
>>> and have it display as:
>>> (make-node 10 (make-node 5 empty empty) empty)
>>>
>>> instead of:
>>> (make-node ...)
>>>
>>> I have tried (require syntax/struct) and (require syntax/to-string) to no avail.
>>>
>>> Thanks!
>>>
>>> -B_________________________________________________
>>> For list-related administrative tasks:
>>> http://list.cs.brown.edu/mailman/listinfo/plt-scheme
>>
>
> _________________________________________________
>  For list-related administrative tasks:
>  http://list.cs.brown.edu/mailman/listinfo/plt-scheme
>


Posted on the users mailing list.