Question 2: Which doc formats do you like? added by iconmaster on Fri Jun 1 14:38:15 2018

;; note that these options are not mutually exclusive!

; option 1: Explicitly state the thing you're documenting, letting you define it wherever you please.
; Going to need this syntax no matter what, so it's not really an option, but I digress.
(document procedure (x a b)
  "Takes args and does stuff."
  #:arg a ("An argument." #:type fixnum)
  #:ret "A value."
)

; option 2: A bit of read syntax. Looks at what's directly below it,
; and makes a doc based on that (whether it be a define, define-syntax, module, etc.)
#@(
  "Takes args and does stuff."
  #:arg a ("An argument." #:type fixnum)
  #:ret "A value."
)
(define (x a b) c)

; option 3: csdoc has its own define function, that you can use to both define a procedure and document it.
; csdoc-define-syntax, etc. will also be a thing if we go this route.
; As a bonus, specifying types of things in the docs can automatically add calls to ":"/"the" for you.
(csdoc-define (x a b) (
  "Takes args and does stuff."
  #:arg a ("An argument." #:type fixnum)
  #:ret "A value."
)
  c
)