[racket-dev] Syntax errors in a Scribble evaluator look like documentation errors

From: Neil Toronto (neil.toronto at gmail.com)
Date: Tue Sep 11 19:29:06 EDT 2012

It doesn't seem to matter how I set up the evaluator (using 
`make-base-eval' or `make-evaluator'). If an example fails to typecheck, 
it looks like an ugly documentation error. This is an actual example in 
the math docs, which I would really like to keep:

 > (flabs (exact->inexact 0.5f0))
eval:8:0: Type Checker: Expected Flonum, but got
Positive-Single-Flonum
   in: (#%app exact->inexact (quote 0.5f0))


I want the error to look like it does in the REPL:

Type Checker: Expected Flonum, but got Positive-Single-Flonum
   in: (exact->inexact 0.5f0)


It seems all syntax errors are fugly:

 > (cond [else 1.0] [else 2.0])
eval:11:0: cond: bad syntax (`else' clause must be last)
   at: (else 1.0)
   in: (cond (else 1.0) (else 2.0))


How can I fix this?

Neil ⊥

Posted on the dev mailing list.