[plt-scheme] mzc --exe failing on planet modules

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Thu Sep 17 18:26:37 EDT 2009

Thanks! This is now fixed in SVN and for the upcoming release.

The bug was in handlign planet paths of the form `(planet synx/log)'
where the "main.ss" is implicit. You can work around the bug by using 
`(planet synx/log/main)'.

At Thu, 17 Sep 2009 11:10:33 -0700, Synx wrote:
> Matthew Flatt wrote:
> > Which version are you using?
> > 
> > The symptom looks familiar --- something that was fixed somewhere along
> > the way --- but I don't remember how to provoke that particular error.
> > If you're using the latest version, could you provide a more complete
> > example?
> 
> I'm using the latest version. A complete example would require this log
> module, but it's kind of like "planet fileinject synx log.plt 1 0" and then
> 
> test.ss
> ---
> #lang scheme/base
> (require (planet synx/log))
> ---
> 
> Then $ mzc --exe test test.ss; ./test
> vvv
> cdddr: expects argument of type <cdddrable value>; given ("synx" "log.ss")
> 
>  === context ===
> embedded-resolver
> loop
> ^^^
> 
> I'll attach log/main.ss I guess, though it's nothing unusual so I can't
> imagine it's specifically the problem.
> #lang scheme
> 
> (define-values
>   (*debug* *info* *warning* *error*) (apply values (build-list 4 (λ (i) i))))
> 
> (define port (make-parameter (current-error-port)))
> 
> (define level (make-parameter *info*))
> 
> (define names
>   (list->vector
>    '(debug info warning error)))
> 
> (define (log fmt #:level [other-level *info*] . args)
>   (when (>= other-level (level))
>     (parameterize
>         ([current-output-port (port)])
>       (display (vector-ref names other-level))
>       (display ": ")
>       (display (apply format fmt args))
>       (display "\n")
>       (flush-output))))
> 
> (define info log)
> 
> (define (error fmt . args)
>   (apply log fmt #:level *error* args))
> 
> (define (warning fmt . args)
>   (apply log fmt #:level *warning* args))
> 
> (define (debug fmt . args)
>   (apply log fmt #:level *debug* args))
> 
> (provide log port level)
> (provide *debug* *info* *warning* *error*)
> (provide  debug   info   warning   
> error)_________________________________________________
>   For list-related administrative tasks:
>   http://list.cs.brown.edu/mailman/listinfo/plt-scheme


Posted on the users mailing list.