File: draw-tree

package info (click to toggle)
scheme9 2025.08.12-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 4,080 kB
  • sloc: lisp: 16,752; ansic: 11,869; sh: 806; makefile: 237; sed: 6
file content (21 lines) | stat: -rw-r--r-- 628 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
S9 LIB  (draw-tree object)  ==>  unspecific
        (dt)                ==>  unspecific

Print a tree structure resembling a Scheme datum. Each cons
cell is represented by [o|o] with lines leading to their car
and cdr parts. Conses with a cdr value of () are represented
by [o|/].

DT is an abbrevation for DRAW-TREE.

(draw-tree '((a) (b . c) (d e)))  ==>  unspecific

Output:  [o|o]---[o|o]---[o|/]
          |       |       |
         [o|/]    |      [o|o]---[o|/]
          |       |       |       |
          a       |       d       e
                  |
                 [o|o]--- c
                  |
                  b