(module link mzscheme
  (require "font.ss"
           "eval.ss"
           "module-overview.ss"
           "multi-file-search.ss"
           "debug.ss"
           "module-language.ss"
           "teachpack.ss"
	   "tools.ss"
           (lib "unitsig.ss")
	   "language.ss"
           "language-configuration.ss"
           "drsig.ss"
	   "init.ss"
           "text.ss"
           "app.ss"
           "main.ss"
           "number-snip.ss"
           "rep.ss"
           "frame.ss"
           "unit.ss"
           "get-extend.ss"
           "help-desk.ss")
  (provide drscheme@)
  
  (define drscheme@
    (compound-unit/sig
      (import)
      (link [init : drscheme:init^ (init@)]
            [tools : drscheme:tools^ 
                   (tools@ frame unit rep get/extend language
                         (language-configuration : drscheme:language-configuration^)
                         help-desk init number-snip debug eval teachpack)]
            [text : drscheme:text^ (text@)]
            [number-snip : drscheme:number-snip^ (number-snip@)]
	    [teachpack : drscheme:teachpack^ (teachpack@)]
            [eval : drscheme:eval^ (eval@ language-configuration rep init language)]
            [frame : drscheme:frame^ (frame@ unit app help-desk multi-file-search)]
            [rep : drscheme:rep^
                 (rep@ init number-snip language-configuration language app 
                     frame unit text help-desk teachpack debug eval)]
            [language : drscheme:language^ (language@ rep debug teachpack tools help-desk)]
            [module-overview : drscheme:module-overview^ (module-overview@ frame)]
            [unit : drscheme:unit^ 
                  (unit@ help-desk app frame text rep language-configuration 
                       get/extend number-snip teachpack module-overview tools)]
            [debug : drscheme:debug^
                   (debug@ rep frame unit language language-configuration)]
            [multi-file-search : drscheme:multi-file-search^ (multi-file-search@ frame)]
            [get/extend : drscheme:get/extend^ (get-extend@ unit frame rep debug)]
            [language-configuration : drscheme:language-configuration/internal^ 
                                    (language-configuration@ unit rep teachpack
                                                             init language app
                                                             tools)]
            [font : drscheme:font^ (font@ language-configuration)]
            [module-language : drscheme:module-language^ 
                             (module-language@ language-configuration language unit rep)]
            [help-desk : drscheme:help-desk^ (help-desk@ frame language-configuration)]
	    [app : drscheme:app^ (app@ unit frame language-configuration help-desk tools)]
            [main : () (main@ 
                        app unit get/extend language-configuration language teachpack
                        module-language tools debug frame font)])
      (export
       (unit teachpack drscheme:teachpack)
       (unit language-configuration drscheme:language-configuration)))))
