On 11/4/13, 6:36 PM, Norman Ramsey wrote:
  > I think you will find "#lang racket" the best language for writing
  > teachpacks.

Using "#lang racket" I have successfully create a package, installed
it, and require'd it.  But when I print a structure defined in my
package, the arguments don't print:

    > (require geo)
    > (length geonames)
    10150
    > (first geonames)
    (make-usgs ...)
    >

I want my students to see the actual arguments rather than ..., as
they would if I had used `define-struct` in ISL.  Is there a
relatively easy way to achieve this?

Here are two options:

#lang racket
(provide geo (struct-out usgs))

(struct usgs (data) #:transparent #:constructor-name make-usgs)
(define geo
  (make-list 10150 (make-usgs "data!")))

;;

#lang racket
(provide geo (struct-out usgs))
(require (only-in lang/htdp-intermediate define-struct))

(define-struct usgs (data))
(define geo
  (make-list 10150 (make-usgs "data!")))

;;

The first uses transparent Racket structures.

The second uses ISL structures (which are probably really transparent Racket structures).

I don't think it makes much of difference which one you use.

David

____________________
 Racket Users list:
 http://lists.racket-lang.org/users

Reply via email to