mirror of
https://github.com/carp-lang/Carp.git
synced 2024-10-12 04:58:18 +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
|
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
|
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:
|
run:
|
||||||
./bin/carp
|
./bin/carp
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
(defn bake-global [variable-name deps]
|
(defn bake-global [variable-name deps]
|
||||||
(let [t (type-of-global variable-name)
|
(let [t (type-of-global variable-name)
|
||||||
evaled (eval (symbol 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)
|
c-variable-name (c-ify-name variable-name)
|
||||||
init-value (if (contains? '(:int :float :double :string) t)
|
init-value (if (contains? '(:int :float :double :string) t)
|
||||||
(prn evaled)
|
(prn evaled)
|
||||||
@ -39,8 +39,10 @@
|
|||||||
(compiler/bake-src variable-name prototype c-code t deps)
|
(compiler/bake-src variable-name prototype c-code t deps)
|
||||||
(reset! deps (cons (symbol init-closure-name) deps))
|
(reset! deps (cons (symbol init-closure-name) deps))
|
||||||
(when (= "NULL" init-value)
|
(when (= "NULL" init-value)
|
||||||
(bake-init-closure init-closure-name variable-name evaled t))
|
(do
|
||||||
(when (= init-value "NULL") (eval (list 'reset! (symbol variable-name) evaled)))
|
(bake-init-closure init-closure-name variable-name evaled t)
|
||||||
|
;;(eval (list 'reset! (symbol variable-name) evaled))
|
||||||
|
))
|
||||||
:baked))))))
|
:baked))))))
|
||||||
|
|
||||||
(defn bake-init-closure [func-name global-name body return-type]
|
(defn bake-init-closure [func-name global-name body return-type]
|
||||||
@ -48,7 +50,7 @@
|
|||||||
(do
|
(do
|
||||||
;;(println (str "Defining init closure for " global-name ": " func-def))
|
;;(println (str "Defining init closure for " global-name ": " func-def))
|
||||||
(eval 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)
|
(compiler/bake-function-and-its-dependers func-name)
|
||||||
(graph/update-node! func-name :is-init-closure true)
|
(graph/update-node! func-name :is-init-closure true)
|
||||||
)))
|
)))
|
||||||
|
Loading…
Reference in New Issue
Block a user