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.
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.