[racket-dev] Removing Xexpr preference from Web Server

From: Neil Van Dyke (neil at neilvandyke.org)
Date: Tue Nov 30 13:11:11 EST 2010

I don't have any important dependencies on the Web Server right now, but 
just wanted to add that even small backwards-incompatibilities in 
PLT/Racket have ruffled feathers of consulting clients of mine in the past.

When there are backward-incompats, it's *much* better that they be 
detected at compile time.  Example: renaming the hash table procedures 
was an annoyance when code wouldn't compile, but the changes to 
"open-output-file" and friends to use keyword arguments resulted in much 
more insidious runtime errors.

(BTW, Not using Typed Racket yet.  Large code base that has been 
evolving since PLT 1xx/2xx.)

When thinking about how you want people to be alerted to incompats, also 
remember that not everyone reads the release notes.  A few times I've 
seen a programmer install the latest version of PLT to try, which 
happens to constitute a jump of several versions, and s/he smoke-tests 
their code with the new version *before* going and reading the release 
notes for all the intermediate versions.  I think that having the 
platform inform them of incompatibilities through compile-time error 
messages or compile-time Java-like deprecation warnings gives more 
confidence in the platform than errors that occur significantly after 
time T0 in run-time.


Posted on the dev mailing list.