# \#lang HtDP/DeinProgramm teaching languages ready to use

**URL:** <https://racket.discourse.group/t/lang-htdp-deinprogramm-teaching-languages-ready-to-use/4216>\
**Category:** General\
**Tags:** teaching, education\
**Created:** [May 17, 2026, 11:56am UTC](https://racket.discourse.group/t/lang-htdp-deinprogramm-teaching-languages-ready-to-use/4216 "2026-05-17T11:56:13Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![mike](https://avatars.discourse-cdn.com/v4/letter/m/58f4c7/32.png) [@mike](https://racket.discourse.group/u/mike)\
**Post date:** [May 17, 2026, 11:56am UTC](https://racket.discourse.group/t/lang-htdp-deinprogramm-teaching-languages-ready-to-use/4216/1 "2026-05-17T11:56:13Z")

</div>

The upcoming version 9.2 of Racket will ship with some updates to the `#lang` versions of the HtDP and DeinProgramm teaching languages that finally make them on par with the traditional, menu-based languages.

I.e., if you're teaching, and you've been selecting the HtDP or DeinProgramm teaching languages with the "Choose language" menu in DrRacket, you can now choose the "Racket language" and start your file with

```scheme
#lang htdp/bsl
#lang htdp/bsl+
#lang htdp/isl
#lang htdp/isl+
#lang htdp/asl

#lang deinprogramm/sdp/beginner
#lang deinprogramm/sdp
#lang deinprogramm/sdp/advanced

```

This has been the case for several years now, but the final missing feature was automatic coverage colorization, which we just added.

(Many thanks for @robby and @jbclements who patiently made the final push possible.)

When this has been in circulation for a while, we intend to make this way of using the teaching languages the preferred way.

We invite you to try things out in a snapshot release of Racket:

> **[Racket: Racket Snapshots](https://snapshot.racket-lang.org/)**
