(define spec-explore
  :effects (io)
  (fn
    (filename title desc)
    (let
      ((source (helper "read-spec-file" filename)))
      (if
        (starts-with? source ";; spec file not found")
        nil
        (let
          ((forms (sx-parse source))
            (sections (spec-group-sections forms source))
            (stats (spec-compute-stats sections source)))
          {:stats stats :desc desc :title title :filename filename :platform-interface (list) :sections sections})))))
