mirror of
https://github.com/carp-lang/Carp.git
synced 2024-10-11 20:49:05 +03:00
trying to detect the error
This commit is contained in:
parent
f4948747fb
commit
38d0a90c80
2
Makefile
2
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
|
||||
|
@ -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)
|
||||
)))
|
||||
|
Loading…
Reference in New Issue
Block a user