coffee, dart, elixir, elm: detect unclosed strings.
[jackhill/mal.git] / elisp / step5_tco.el
index e4a4456..e341030 100644 (file)
@@ -1,16 +1,12 @@
 ;; -*- lexical-binding: t; -*-
 
-(defun load-relative (file)
-  (let* ((current-file (or load-file-name buffer-file-name))
-         (current-file-directory (file-name-directory current-file)))
-    (load (expand-file-name file current-file-directory) nil t)))
-
-(load-relative "types.el")
-(load-relative "env.el")
-(load-relative "func.el")
-(load-relative "reader.el")
-(load-relative "printer.el")
-(load-relative "core.el")
+(setq debug-on-error t)
+(require 'mal/types)
+(require 'mal/func)
+(require 'mal/env)
+(require 'mal/reader)
+(require 'mal/printer)
+(require 'mal/core)
 
 (defvar repl-env (mal-env))
 
@@ -25,7 +21,7 @@
 (defun EVAL (ast env)
   (catch 'return
     (while t
-      (if (mal-list-p ast)
+      (if (and (mal-list-p ast) (mal-value ast))
           (let* ((a (mal-value ast))
                  (a0 (car a))
                  (a0* (mal-value a0))