From 0a3c70db916fb15a1ee10c69b519f9b85a3816d1 Mon Sep 17 00:00:00 2001 From: Robby Findler Date: Sat, 25 Dec 2010 15:52:46 -0600 Subject: [PATCH] added note committing teaching language metadata to always being three lines --- collects/scribblings/drracket/languages.scrbl | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/collects/scribblings/drracket/languages.scrbl b/collects/scribblings/drracket/languages.scrbl index 49089820cc..f0b230cfe5 100644 --- a/collects/scribblings/drracket/languages.scrbl +++ b/collects/scribblings/drracket/languages.scrbl @@ -341,6 +341,17 @@ A program in the teaching languages should be tested using the check forms --- Tests can be disabled if necessary, see @secref["menu:racket"] for details. +One final difference between these teaching languages and other languages is the way +they save files. That is, when DrRacket saves a file and the current language +is one of these five teaching languages, it inserts three lines of metadata that +record the precise language (including any options set) and the teachpacks. +This has two benefits: opening the file later restores the settings and the metadata +is formulated in such a way as to be executable code so running @exec{racket} or +@exec{gracket} on the file in a shell will run the program in the appropriate language. + +This meta data always consists of exactly three lines, and so can be stripped out +by three calls to @racket[read-line]. + @; ---------------------------------------- @section[#:tag "experimental-langs"]{Other Experimental Languages}