Login
7 branches 0 tags
Ben (X13/Arch) Added euler003 test 634855f 3 years ago 699 Commits
nujel / stdlib / core / stacktrace.nuj
;; Nujel - Copyright (C) 2020-2021 - Benjamin Vincent Schulenburg
;; This project uses the MIT license, a copy should be included under /LICENSE

[defn describe/closure [c i]
      [when c
            [if [== c root-closure]
                [cat [ansi-blue [cat [int [or i 0]] "# <root environment>"]]
                     "\r\n"]
                [do [def data [closure/data c]]
                    [def l [length data]]
                  [cat [ansi-blue [cat [int [or i 0]] "# " [string/write c]]]
                       " - "
                       [if [< l 16]
                           [string/write data]
                           "-+- Very big tree structure -+-"]
                       "\r\n"
                       [describe/closure [closure/caller c] [+ [int [or i 0]] 1]]]]]]]

[defn stacktrace []
      [display [describe/closure [closure/caller [current-lambda]]]]]