22 More Libraries
This guide covers only the Racket language and libraries that are documented in The Racket Reference. The Racket distribution includes many additional libraries.
22.1 Graphics and GUIs
Racket provides many libraries for graphics and graphical user interfaces (GUIs):
The racket/draw library provides basic drawing tools, including drawing contexts such as bitmaps and PostScript files.
See the Racket Drawing Toolkit documentation for more information.
The racket/gui library provides GUI widgets such as windows, buttons, checkboxes, and text fields. The library also includes a sophisticated and extensible text editor.
See the Racket Graphical Interface Toolkit documentation for more information.
The pict library provides a more functional abstraction layer over racket/draw. This layer is especially useful for creating slide presentations with Slideshow, but it is also useful for creating images for Scribble documents or other drawing tasks. Pictures created with the pict library can be rendered to any drawing context.
See the Slideshow: Figure and Presentation Tools documentation for more information.
The 2htdp/image library is similar to pict. It is more streamlined for pedagogical use, but also slightly more specific to screen and bitmap drawing.
See 2htdp/image for more information.
The sgl library provides OpenGL for 3-D graphics. The context for rendering OpenGL can be a window or bitmap created with racket/gui.
See the SGL documentation for more information.
22.2 The Web Server
the Web Applications in Racket documentation describes the Racket web server, which supports servlets implemented in Racket.
22.3 Using Foreign Libraries
The Racket Foreign Interface describes tools for using Racket to access libraries that are normally used by C programs.
22.4 And More
Racket Documentation lists documentation for other libraries, including libraries that are installed as packages. Run raco docs to find documentation for libraries that are installed on your system and specific to your user account.
Racket Package Catalog at https://pkgs.racket-lang.org offers even more downloadable packages contributed by Racketeers. The online Racket documentation includes documentation for packages in that catalog, updated daily. For more information about packages, see Package Management in Racket.
PLaneT serves packages that were developed using an older package system. Racket packages should use the newer system, instead.