defconst, defvar: proclaim special at compile-time
[bpt/guile.git] / module / language / elisp / spec.scm
CommitLineData
ea9c5dab 1;;; Guile Emac Lisp
ea9b4b29 2
246ea9e1 3;; Copyright (C) 2001, 2009, 2010 Free Software Foundation, Inc.
ea9b4b29 4
53befeb7
NJ
5;;;; This library is free software; you can redistribute it and/or
6;;;; modify it under the terms of the GNU Lesser General Public
7;;;; License as published by the Free Software Foundation; either
8;;;; version 3 of the License, or (at your option) any later version.
abcf4a9e 9;;;;
53befeb7
NJ
10;;;; This library is distributed in the hope that it will be useful,
11;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
12;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13;;;; Lesser General Public License for more details.
abcf4a9e 14;;;;
53befeb7
NJ
15;;;; You should have received a copy of the GNU Lesser General Public
16;;;; License along with this library; if not, write to the Free Software
17;;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
ea9b4b29 18
ea9c5dab
KN
19;;; Code:
20
51248e6e
DK
21(define-module (language elisp spec)
22 #:use-module (language elisp compile-tree-il)
e840cc65 23 #:use-module (language elisp parser)
51248e6e 24 #:use-module (system base language)
6937c7aa 25 #:use-module (system base compile)
0faf3965 26 #:use-module (system vm vm)
1a1a10d3 27 #:export (elisp))
ea9b4b29 28
0faf3965
RT
29(save-module-excursion
30 (lambda ()
31 (define-module (elisp-symbols) #:pure #:filename #f)
32 (define-module (elisp-functions) #:pure #:filename #f)
33 (define-module (elisp-plists) #:pure #:filename #f)))
34
ea9b4b29 35(define-language elisp
f4e5e411
BT
36 #:title "Emacs Lisp"
37 #:reader (lambda (port env) (read-elisp port))
0faf3965 38 ;;#:joiner (lambda (exps env) (cons 'progn exps))
f4e5e411
BT
39 #:printer write
40 #:compilers `((tree-il . ,compile-tree-il)))
6937c7aa 41
0faf3965
RT
42(set-default-vm-engine! 'debug)
43(set-vm-engine! 'debug)
44
6937c7aa
BT
45(compile-and-load (%search-load-path "language/elisp/boot.el")
46 #:from 'elisp)