summaryrefslogtreecommitdiff
path: root/scheme/plt/geiser.ss
blob: a86b6a969bee5f3c36e24e1aabead65d61dd6099 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
;;; geiser.ss -- entry point

;; Copyright (C) 2009 Jose Antonio Ortega Ruiz

;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the Modified BSD License. You should
;; have received a copy of the license along with this program. If
;; not, see <http://www.xfree86.org/3.3.6/COPYRIGHT2.html#5>.

;; Start date: Sat Apr 25, 2009 22:36

;;; Code:

(require version/utils)
(unless (version<=? "4.1.5.5" (version))
  (error 'geiser
         "Mzscheme version 4.1.5.5 or better required (found ~a)"
         (version)))

(module geiser scheme
  (provide geiser:eval
           geiser:compile
           geiser:load-file
           geiser:compile-file
           geiser:macroexpand
           geiser:completions
           geiser:module-completions
           geiser:symbol-location
           geiser:module-location
           geiser:module-exports
           geiser:autodoc
           geiser:help)

  (compile-enforce-module-constants #f)
  (require geiser/eval
           geiser/modules
           geiser/completions
           geiser/locations
           geiser/autodoc)

  (define (geiser:eval lang)
    (lambda (form spec) (eval-in form spec lang)))
  (define geiser:compile compile-in)
  (define geiser:load-file load-file)
  (define geiser:compile-file compile-file)
  (define geiser:autodoc autodoc)
  (define geiser:help get-help)
  (define geiser:completions symbol-completions)
  (define geiser:module-completions module-completions)
  (define geiser:symbol-location symbol-location)
  (define geiser:module-location module-location)
  (define geiser:module-exports module-exports)
  (define geiser:macroexpand macroexpand)

  (current-prompt-read (compose (make-repl-reader (current-prompt-read))
                                current-namespace)))

(require 'geiser)

;;; geiser.ss ends here