(Perhaps this suggests a problem with making a macro depend on the shape of 
parens around a sub-expression.) 




On Nov 18, 2012, at 10:01 PM, Neil Toronto wrote:

> I'm writing the documentation for math/array, and the examples all fail. 
> Here's a simple one:
> 
>  @examples[#:eval untyped-eval
>                   (array [0 1 2 3])]
> 
> The evaluator raises this error:
> 
>  application: not a procedure;
>   expected a procedure that can be applied to arguments
>    given: 0
>    arguments...:
>     1
>     2
>     3
> 
> The problem here is that the `array' macro is sensitive to square brackets, 
> but Scribble doesn't preserve the 'paren-shape syntax property. (Either that, 
> or `examples' only sends lists to the evaluator, not syntax.) So (array [0 1 
> 2 3]) gets evaluated as (array (0 1 2 3)), which looks like a 
> zero-dimensional array containing (0 1 2 3), which is an application of the 
> value `0'. Bad.
> 
> I know this can work just fine; for example, this does the expected thing in 
> the REPL:
> 
>  > (eval #'(require math))
>  > (eval #'(array [0 1 2 3]))
>  (array [0 1 2 3])
> 
> Is there a way to get Scribble to behave like I expect?
> 
> Neil ⊥
> _________________________
> Racket Developers list:
> http://lists.racket-lang.org/dev

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_________________________
  Racket Developers list:
  http://lists.racket-lang.org/dev

Reply via email to