use #lang and reindent
svn: r15917
This commit is contained in:
parent
70cf9b6d62
commit
d2802e6c2a
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
#|
|
#|
|
||||||
|
|
||||||
The EoPL language can almost be specified via info.ss fields, but
|
The EoPL language can almost be specified via info.ss fields, but
|
||||||
|
@ -8,53 +7,54 @@ wraps the load of the module.)
|
||||||
|
|
||||||
|#
|
|#
|
||||||
|
|
||||||
(module eopl-tool mzscheme
|
#lang mzscheme
|
||||||
(require mzlib/unit
|
|
||||||
mzlib/class
|
|
||||||
drscheme/tool
|
|
||||||
string-constants)
|
|
||||||
|
|
||||||
(provide tool@)
|
(require mzlib/unit
|
||||||
|
mzlib/class
|
||||||
|
drscheme/tool
|
||||||
|
string-constants)
|
||||||
|
|
||||||
(define tool@
|
(provide tool@)
|
||||||
(unit
|
|
||||||
(import drscheme:tool^)
|
|
||||||
(export drscheme:tool-exports^)
|
|
||||||
(define language-base%
|
|
||||||
(class* object% (drscheme:language:simple-module-based-language<%>)
|
|
||||||
(define/public (get-language-numbers)
|
|
||||||
'(-500 -400))
|
|
||||||
(define/public (get-language-position)
|
|
||||||
(list (string-constant teaching-languages)
|
|
||||||
"Essentials of Programming Languages (3rd ed.)"))
|
|
||||||
(define/public (get-module)
|
|
||||||
'(lib "eopl/eopl.ss"))
|
|
||||||
(define/public (get-one-line-summary)
|
|
||||||
"Based on the Friedman, Wand, and Haynes text")
|
|
||||||
(define/public (get-language-url)
|
|
||||||
"http://www.eopl3.com/")
|
|
||||||
(define/public (get-reader)
|
|
||||||
(lambda (src port)
|
|
||||||
(let ([v (read-syntax src port)])
|
|
||||||
(if (eof-object? v)
|
|
||||||
v
|
|
||||||
(namespace-syntax-introduce v)))))
|
|
||||||
(super-instantiate ())))
|
|
||||||
|
|
||||||
(define language%
|
(define tool@
|
||||||
(class (drscheme:language:module-based-language->language-mixin
|
(unit
|
||||||
(drscheme:language:simple-module-based-language->module-based-language-mixin
|
(import drscheme:tool^)
|
||||||
language-base%))
|
(export drscheme:tool-exports^)
|
||||||
(define/override (use-namespace-require/copy?) #t)
|
(define language-base%
|
||||||
(define/override (on-execute settings run-in-user-thread)
|
(class* object% (drscheme:language:simple-module-based-language<%>)
|
||||||
(super on-execute settings run-in-user-thread)
|
(define/public (get-language-numbers)
|
||||||
(print-mpair-curly-braces #f)
|
'(-500 -400))
|
||||||
(run-in-user-thread
|
(define/public (get-language-position)
|
||||||
(lambda ()
|
(list (string-constant teaching-languages)
|
||||||
((namespace-variable-value 'install-eopl-exception-handler)))))
|
"Essentials of Programming Languages (3rd ed.)"))
|
||||||
(super-instantiate ())))
|
(define/public (get-module)
|
||||||
|
'(lib "eopl/eopl.ss"))
|
||||||
|
(define/public (get-one-line-summary)
|
||||||
|
"Based on the Friedman, Wand, and Haynes text")
|
||||||
|
(define/public (get-language-url)
|
||||||
|
"http://www.eopl3.com/")
|
||||||
|
(define/public (get-reader)
|
||||||
|
(lambda (src port)
|
||||||
|
(let ([v (read-syntax src port)])
|
||||||
|
(if (eof-object? v)
|
||||||
|
v
|
||||||
|
(namespace-syntax-introduce v)))))
|
||||||
|
(super-instantiate ())))
|
||||||
|
|
||||||
(define (phase1) (void))
|
(define language%
|
||||||
(define (phase2)
|
(class (drscheme:language:module-based-language->language-mixin
|
||||||
(drscheme:language-configuration:add-language
|
(drscheme:language:simple-module-based-language->module-based-language-mixin
|
||||||
(make-object ((drscheme:language:get-default-mixin) language%)))))))
|
language-base%))
|
||||||
|
(define/override (use-namespace-require/copy?) #t)
|
||||||
|
(define/override (on-execute settings run-in-user-thread)
|
||||||
|
(super on-execute settings run-in-user-thread)
|
||||||
|
(print-mpair-curly-braces #f)
|
||||||
|
(run-in-user-thread
|
||||||
|
(lambda ()
|
||||||
|
((namespace-variable-value 'install-eopl-exception-handler)))))
|
||||||
|
(super-instantiate ())))
|
||||||
|
|
||||||
|
(define (phase1) (void))
|
||||||
|
(define (phase2)
|
||||||
|
(drscheme:language-configuration:add-language
|
||||||
|
(make-object ((drscheme:language:get-default-mixin) language%))))))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user