Language Levels: Introduction


Beginners make mistakes, and need feedback customized to their level of understanding. The syntax of Scheme is so permissive that most Scheme implementations are notoriously bad at reporting errors in useful terms.

DrScheme overcomes this difficulty by providing a hierarchy of language levels. The hierarchy matches the natural introduction of Scheme in :

  • The Beginning Student language includes functions, structures and lists.
  • The Intermediate Student language adds lexical scoping constructs.
  • The Advanced Student language permits mutation and supports continuations.
  • The Scheme language level provides standard Scheme with or without graphics and debugging support.
These levels impose other syntactic and semantic restrictions based on common mistakes we have observed students make over the years. Each level tries to report errors in terms appropriate to that level.


Language Levels Dialog


DrScheme will start in the Beginning Student level, which is a severe restriction of the full Scheme language. If you (or your class) aren't using language levels, you should immediately switch DrScheme to Full Graphical Scheme (or your instructor's suggested alternative) using the Choose Language menu item.