PLT Scheme is a programming language suitable for implementation tasks ranging from scripting to application development, including GUIs, Web services, etc. It includes the DrScheme programming environment, a virtual machine with a just-in-time compiler, tools for creating stand-alone executables, the PLT Scheme Web server, extensive libraries, documentation for both beginners and experts, and more. It supports the creation of new programming languages through a rich,expressive syntax system. Example languages include Typed Scheme, ACL2, FrTime, Lazy Scheme, and ProfessorJ (which is a pedagogical dialect of Java).
| Tags | Text Editors Integrated Development Environments (IDE) education Scientific/Engineering Software Development Code Generators Compilers Pre-processors |
|---|---|
| Licenses | LGPL |
| Operating Systems | Mac OS X Windows Windows Cygwin POSIX Unix |
| Implementation | Scheme |
Recent releases


Changes: Internally, a large part of the GUI was converted from C++ to Scheme. There is a new statistical profiler; see the "profiler" manual for more information. The universe teachpack interface uses strings; world is deprecated. The stateless servlet language supports capturing native continuations; there is a soft state library for stateless servlets. DrScheme's Stepper can now jump to a selected program expression. New core functions: hash-has-key?, hash-ref!, in-sequences, in-cycle, count, make-list, and const Some performance improvements, including faster start-up for small programs.


Changes: Web server: URL-based and simpler dispatch, continuation serialization policies, Digest auth, cookie support, highlighting errors, and a load control dispatcher. Scribble" literate programming, an 'at-exp' language for @-syntax, enhanced preprocessor, and a '--pdf' command line flag. Units & Contracts: contracted signatures and contracted code regions. Pre-wrapped Typed Scheme libraries. XML and HTML are now contracted. net/cgi interacts with net/uri-codec. DrScheme provides PLaneT feedback and supports logging. Support for the DeinProgramm project. A new 'bitwise-bit-field' function.


Changes: New libraries include scheme/package and ffi/objc, and a new "universe" teachpack was added for connecting "worlds" over a network. Redex supports automatic test-case generation. Run-time system improvements include better and more reliable memory-limit tracking, function contracts that preserve tail recursion, native debugging backtraces on x86_64, and performance improvements. Improved libraries include enhancements to scheme/sandbox, better handling of zero-sized matches by regexp-split etc, an equal<%> interface for class instances equality, and refinements to scheme/foreign.


Changes: This is mostly a bugfix release. The documentation has been rewritten to separate servlet and extension APIs. HTTPS is supported on the "plt-web-server" command line with "--ssl". Stateless servlets are supported through a 'stateless interface-version. 'web-server/servlet-env' supports top-level servlets through #:servlet-path. Servlets are served from anywhere in htdocs. A template system based on the Scribble syntax. Many other internal modifications to make extension easier.


No changes have been submitted for this release.