The The Racket Language mode in DrRacket is a kind of meta-language, where the program itself specifies its language, usually through a #lang line.
More generally, when using this mode, the definitions window must contain a module in some form. Besides #lang, a Racket module can be written as (module ...); aside from comments, the definitions window must contain exactly one module.
DrRacket initializes the environment before it starts running the program in ways slightly different than the racket command-line binary does to reflect the extra GUI capabilities that it provides. Using the default settings in the language dialog, it initializes the parameters described in this subsection. Changing the defaults can result in additional parameters changing, as described in the next subsection.
snip%s, which it just inserts into the editor
convertible values from pict/convert
convertible values from file/convertible (which it converts to png images)
values that match the predicates passed to drracket:language:add-snip-value.
DrRacket initializes the error-display-handler to specially highlight the source locations of the errors and to include icons that provide access to the stacktrace.
In the details pane of the language dialog, some of the configuration options correspond to using various libraries and thus can be used without DrRacket. Here’s how, for the ones that are straightforward (the ones not mentioned here require more sophisticated configuration of various libraries).
Dynamic Properties: The radio buttons corresond to various uses of the errortrace/errortrace-lib library.
The No Debugging or profiling option means not to use the library at all.
The Syntactic test suite coverage option means to use test-coverage-enabled in conjunction with current-eval.
The other three checkboxes save compiled .zo files and adjust the compiler.The populate compiled/ directories option corresponds to
(current-load/use-compiled (make-compilation-manager-load/use-compiled-handler)) (manager-skip-file-handler (λ (p) (file-date-in-paths p (cons (CACHE-DIR) (current-library-collection-paths)))))plus adding either (build-path "compiled" "drracket") or (build-path "compiled" "drracket" "errortrace") to the front of use-compiled-file-paths, depending if the Debugging option is set or not.The Preserve stacktrace option corresponds to
The Enforce constant definitions (enables some inlining) option corresponds to calling compile-enforce-module-constants; checking it passes #t and leaving it unchecked passes #f.
Collection Paths: This corresponds to setting the current-library-collection-paths parameter.
Command-line arguments: This corresponds to setting the current-command-line-arguments parameter.
Automatic #lang line: This panel controls the default #lang that DrRacket inserts into new windows (or tabs). If the top option of the radio box is chosen (the default), DrRacket uses the last #lang that was edited in a definitions window. If the lower option of the radio box is chosen, DrRacket always uses the same #lang line, as given in the text field.