Search code examples
user-interfaceschemelisparchlinuxchez-scheme

Can Scheme do GUI without Racket? Or have to use Common Lisp?


I like Lisp very much, especially Scheme. I'd like to learn how to use Scheme to do GUI development. I've heard of Racket, but it seems to be a different language from Scheme, as with e.g. set-cdr!. If I use it, I might have to switch between them in the future, which could be confusing. So I would prefer to use R5RS/R6RS to do GUI .... Are there any other choices, or do I have to use Racket or Common Lisp?

Presently I'm using archlinux and Petite Scheme.


Solution

  • Racket is kind of an extended Scheme, but you can also choose to use standard scheme by specifying

    #lang r5rs ; or r6rs
    

    at the head of your source file. DrRacket (the IDE of Racket) is a very nice IDE, but you don't have to use it to use Racket.

    As for your main question, there is no standard GUI development library for scheme. There are various choices - one of these is Racket's library, which can be used with Scheme (see the manual).

    With Chez Scheme, there is SWL (Scheme Widget Library) - if you use Petite scheme, it should be installed for you. See the reference docs.

    EDIT Under Linux, the installer for Petite Chez Scheme does not include SWL, you have to download it directly.