1
0
mirror of https://github.com/janet-lang/janet synced 2024-06-16 10:19:55 +00:00

Return dbg values to work inside complex exprs

This commit is contained in:
LouisJackman 2020-05-16 15:42:16 +01:00
parent fabb722c8d
commit 59302d4f42
No known key found for this signature in database
GPG Key ID: C83A456999EEBC34

View File

@ -950,16 +950,23 @@
and the value for variables. Designed for quick debugging of values and
nothing else."
[& forms]
~(do
,;(map (fn [arg]
(def preface (if (symbol? arg)
(string "`" arg "` has value ")
"Literal has value "))
~(do
(prin ,preface)
(pp ,arg)
nil))
forms)))
(with-syms [results var]
~(do
(def ,results @[])
,;(map (fn [form]
(def preface (if (symbol? form)
(string "`" form "` has value ")
"Literal has value "))
~(do
(prin ,preface)
(def ,var ,form)
(pp ,var)
(array/push ,results ,var)))
forms)
(case (length ,results)
0 nil
1 (,results 0)
,results))))
(defmacro ->
"Threading macro. Inserts x as the second value in the first form