(use goo)

(dv *spaces* (tup ""
                  " "
                  "  "
                  "   "
                  "    "
                  "     "
                  "      "
                  "       "
                  "        "
                  "         "
                  "          "
                  "           "
                  "            "
                  "             "
                  "              "
                  "               "
                  "                "
                  "                 "
                  "                  "
                  "                   "
                  "                    "
                  ))

(dm msg-labelled-list (port label list)
  (def my-indent (elt *spaces* (+ (len label) 1)))
  (def da-enum (enum list))
  (msg port label)
  (msg port " ")
  (unless (fin? da-enum)
    (msg port (to-str (now da-enum)))
    (rep loop ((e (nxt da-enum)))
      (unless (fin? e)
        (msg port "\n")
        (msg port my-indent)
        (msg port (to-str (now e)))
        (loop (nxt e))
        )
      )
    )

  (msg port "\n")
  )

(export
  msg-labelled-list
  )