summaryrefslogtreecommitdiff
path: root/Lisp/init.lisp
blob: f96599544e9f1985afd9c928c57c25f874f8f536 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
(in-package #:mulk.objective-cl)

(initialise-runtime)

(eval-when (:load-toplevel)
  (unless (boundp '+nil+)
    ;; As nil is never deallocated, we can safely use MAKE-INSTANCE
    ;; here.
    (defconstant +nil+
      (make-instance 'id :pointer (objcl-get-nil))))
  (unless (boundp '+yes+)
    (defconstant +yes+ (objcl-get-yes)))
  (unless (boundp '+no+)
    (defconstant +no+ (objcl-get-no)))
  (unless (boundp '+runtime-type+)
    (defconstant +runtime-type+ (runtime-type)))
  (pushnew (case +runtime-type+
             ((:gnu) 'objcl-features:gnu-runtime)
             ((:next) 'objcl-features:next-runtime))
           *features*))