[racket] What #lang to use to create teachpack?
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