diff --git a/Makefile b/Makefile index 7169fc93..fac20b1d 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ LDLIBS=-lffi SOURCE_FILES=src/main.c src/obj.c src/gc.c src/obj_string.c src/reader.c src/eval.c src/env.c src/primops.c src/repl.c src/obj_array.c src/obj_conversions.c src/process.c src/bytecode.c src/match.c src/call_ffi.c all: src/main.o - clang $(SOURCE_FILES) -g -O2 -Wall -rdynamic -o ./bin/carp-repl -ldl $(CFLAGS) $(LDFLAGS) $(LDLIBS) + clang $(SOURCE_FILES) -g -O0 -Wall -rdynamic -o ./bin/carp-repl -ldl $(CFLAGS) $(LDFLAGS) $(LDLIBS) run: ./bin/carp diff --git a/lisp/globals.carp b/lisp/globals.carp index 53c8cbb9..b343a6e7 100644 --- a/lisp/globals.carp +++ b/lisp/globals.carp @@ -19,7 +19,7 @@ (defn bake-global [variable-name deps] (let [t (type-of-global variable-name) evaled (eval (symbol variable-name)) - ;;_ (println (str "Global " variable-name " to bake has type " t " and value " evaled)) ;; <- BUG!!! + _ (println (str "Global " variable-name " to bake has type " t " and value " evaled)) ;; <- BUG!!! c-variable-name (c-ify-name variable-name) init-value (if (contains? '(:int :float :double :string) t) (prn evaled) @@ -39,8 +39,10 @@ (compiler/bake-src variable-name prototype c-code t deps) (reset! deps (cons (symbol init-closure-name) deps)) (when (= "NULL" init-value) - (bake-init-closure init-closure-name variable-name evaled t)) - (when (= init-value "NULL") (eval (list 'reset! (symbol variable-name) evaled))) + (do + (bake-init-closure init-closure-name variable-name evaled t) + ;;(eval (list 'reset! (symbol variable-name) evaled)) + )) :baked)))))) (defn bake-init-closure [func-name global-name body return-type] @@ -48,7 +50,7 @@ (do ;;(println (str "Defining init closure for " global-name ": " func-def)) (eval func-def) - (eval (list 'meta-set! (symbol func-name) :signature (list 'quote (list :fn () return-type)))) + ;;(eval (list 'meta-set! (symbol func-name) :signature (list 'quote (list :fn () return-type)))) (compiler/bake-function-and-its-dependers func-name) (graph/update-node! func-name :is-init-closure true) )))