[racket-dev] guidelines on error messages -- please send feedback

From: Eli Barzilay (eli at barzilay.org)
Date: Fri Jun 3 15:17:02 EDT 2011

An hour and a half ago, Shriram Krishnamurthi wrote:
> Please review these guidelines and let us know if anything is
> unclear.  We'd like to hear back from you within a week, by

* Start the message with the name of the construct whose constraint is
  being violated, followed by a colon.

    Should give a quick example to clarify that `error' does that when
    given a symbol.  I can see people following this blindly and
      -> (error 'foo "foo: blah blah")
      foo: foo: blah blah

* ... somewhat anthropomorphically ...

    See second item in the guidelines, apply reflection.

* procedure, primitive name, primitive operator, predicate, selector,

    +1, for more than the student languages.

* variable -> identifier

    (-0.52 because I can see it leaking out of the SLs)

* do not write `' around keyword

    This can work only in a limited context, where you use
    colors/font/etc or you know that there is no keyword in your world
    that can be confused with text like `like'.  Perhaps it would be a
    hook to start using some unicode things?  〈x〉 «x» ⌈x⌋

          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!

Posted on the dev mailing list.