[plt-scheme] A couple "Lazy Scheme" questions

From: Psy-Kosh (psykosh at earthlink.net)
Date: Fri Jul 7 15:41:40 EDT 2006

> If you just want the lazy functionality, you can remove the first tool
> in the info.ss file -- change this
>   (define tools      `(("client-gui.ss") ("langs.ss")))
>   (define tool-names `(,name #f))
>   (define tool-icons `(("icon.png" ,collection) #f))
> to:
>   (define tools      `(("langs.ss")))
>   (define tool-names `(,name))
>   (define tool-icons `(("icon.png" ,collection)))
> or you can remove it completely if you want to use it as a module.

Okay, thanks.

> There are plenty of examples for defining and using these types.  The
> only two constructs you need to know about are `define-type' and
> `cases' -- the first defines a type, and the second destructs an
> instance (through pattern matching).  Alternatively, you can see PLAI
> or EoPL -- and consider `define-type' and `cases' as variations with
> slightly different syntax than used in those books.

And again, thank you, I see now how to use it. Just to make sure I  
understood properly, the subtypes can't have variable numbers of fields  
(ie, you can't define two subtypes of the same name with different numbers  
of fields) nor can you create a subtype with "rest" arguments, correct?

Thanks again. :)

Posted on the users mailing list.