3
votes

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.

2
You could also use HOP or Bigloo.Basile Starynkevitch

2 Answers

3
votes

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.

0
votes

You could try to find (or else develop yourself, but that is a significant task) a wrapper to foreign functions in some existing C GUI library. For Petite Chez Scheme read its Foreign Interface chapter.

Many other Scheme implementations have some glue code to existing GUI libraries.