* [Unsafe operations](http://docs.racket-lang.org/reference/unsafe.html) * Racket [FFI](http://docs.racket-lang.org/foreign/index.html) | [C API](http://docs.racket-lang.org/inside/index.html) * [Initialization etc](http://docs.racket-lang.org/reference/running-sa.html#%28part._init-actions%29) ## Custom Languages ## * DrRacket/[HtDP Teaching Languages](http://docs.racket-lang.org/drracket/htdp-langs.html) | [manuals](http://docs.racket-lang.org/htdp-langs/index.html) | extending with "[teachpack](http://docs.racket-lang.org/teachpack/index.html)" libraries written in full language * Authoring HtDP teachpacks: [intro](http://docs.racket-lang.org/drracket/extending-drracket.html#%28part._teachpacks%29) | [details](http://docs.racket-lang.org/htdp/index.html) * [Adding Languages to DrRacket](http://docs.racket-lang.org/tools/adding-languages.html) Racket users can define their own languages, as discussed in: * [Creating Languages](http://docs.racket-lang.org/guide/languages.html), including [#lang s-exp](http://docs.racket-lang.org/guide/module-languages.html#%28part._s-exp%29) ([more](http://docs.racket-lang.org/reference/reader.html#%28mod-path._s-exp%29)) Typically, a language name maps to its implementation through a module path by adding `/lang/reader`; for example, the language name `scribble/base` is expanded to `scribble/base/lang/reader`, which is the module that implements the surface-syntax parser. * [Lists and Racket Syntax](http://docs.racket-lang.org/guide/Pairs__Lists__and_Racket_Syntax.html#%28part._lists-and-syntax%29) * [Module Syntax](http://docs.racket-lang.org/guide/Module_Syntax.html), including the [#lang](http://docs.racket-lang.org/guide/Module_Syntax.html#%28part._hash-lang%29) shorthand * [The Reader](http://docs.racket-lang.org/reference/reader.html), including [#reader](http://docs.racket-lang.org/reference/reader.html#%28part._parse-reader%29), [#lang reader](http://docs.racket-lang.org/reference/reader.html#%28mod-path._reader%29) * [Core Syntax](http://docs.racket-lang.org/reference/syntax.html) * [#lang racket/kernel](http://docs.racket-lang.org/reference/Kernel_Forms_and_Functions.html) * [Syntax: Meta-Programming Helpers](http://docs.racket-lang.org/syntax/index.html), including syntax/[module-reader](http://docs.racket-lang.org/syntax/reader-helpers.html#%28mod-path._syntax%2Fmodule-reader%29) * [The Printer](http://docs.racket-lang.org/reference/printing.html) | [output styles](http://docs.racket-lang.org/drracket/output-syntax.html)