[racket] Module docs - still a problem

From: Mark Carter (mcturra2000 at yahoo.co.uk)
Date: Thu Apr 7 15:58:29 EDT 2011

OK, I'm trying to generate module docs, so I run
    raco setup
but I get

raco setup: --- building documentation ---
raco setup: error running: (lib carali/http.rkt)
dynamic-require: name is not provided: 'doc by module: 
#<resolved-module-path:"/home/mcarter/src/racket-5.1/collects/carali/http.rkt">
raco setup: rendering: scribblings/main/start.scrbl

Any clues on this one?

Here's my info.rkt:

#lang setup/infotab ; -*- scheme -*-

(define name "carali")

(define blurb "Blurb blah blah")

(define scribblings '(
        ("http.rkt" (multi-page) (carali-library 101))

;("scribblings/carali.scrbl" (multi-page) (carali-library 101))  
                            ))


Here's my http.rkt:

#lang at-exp racket ; -*- scheme -*-

;(define name "carali/http")

;(module maths racket
;  (provide http-get)
  

  
#|
(require (lib "url.ss" "net"))

(define (http-get url)
  (let ((p 0) 
        (line 0)) 
    (set! p (get-impure-port (string->url url)))
    (let loop ((result ""))
      (set! line (read-line p))
      (if (eof-object? line)
          (set! line result)
          (loop (string-append result line))))
    (close-input-port p)
    line))


|#

;;; simplification suggested by Sogaard 29-Jul-2007

;(require (lib "port.ss")
;         (lib "url.ss" "net"))

  (require racket/port)
  ;(requite at-exp)
  (require net/url)
 ; (require racket/contract)
  (require scribble/srcdoc)
  ;(require/doc scribble/manual)

  #|
  (define (http-get-XXX url-as-string)
    (let* ([out (open-output-string)]
           [in  (get-pure-port (string->url url-as-string))])
      (copy-port in out)
      (close-input-port in)
      (get-output-string out))) 
|#
;;;(http-get "http://www.google.co.uk/") 

;;; Use (http-get "http://www.markcarter.me.uk/") , not (http-get 
"www.markcarter.me.uk") .
;;; (http-get "http://www.markcarter.me.uk/index.html")

(provide/doc 
 (proc-doc/names
  http-get
  (-> string?
      string?) ; the output
  (string-url)
  @{Say something meaningful about http-get.}))

(define (http-get url-as-string)
  (port->string (get-pure-port (string->url url-as-string))))
            
  ;)




A previous poster said that the #lang directive created an implicit module. 
However, this doesn't seem to be strictly true, as my function http-get is 
automatically "provided" without explicit mention; which is not the same 
behaviour as when I use a (module ...). Beats me.



Posted on the users mailing list.