[racket] true vs. True in BSL

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Fri Nov 19 13:08:25 EST 2010

I have removed the signatures from BSL precisely for reasons like that. 
Please update to Version 5.0.2. 

Once again, apologies for allowing checked signatures to slip into 5.0.1. 

-- Matthias

On Nov 19, 2010, at 12:57 PM, Don Blaheta wrote:

> A student of mine is having trouble keeping track of when to use capital
> vs lowercase letters---a common problem I've seen before, with any intro
> language---and in particular, keeps trying to write True and False
> instead of true and false.  After a very strange discussion with him I
> went and tested some things and was flabbergasted to discover that True
> actually was a defined name of which the value is opaque and the error
> messages deeply mysterious.
> I get that you guys are working on Typed Racket, and I get that you
> think that adding all this extra syntax into tlfka Scheme will improve
> it.  But I can't believe that anyone thought it would be a good idea to
> expose this in BSL.
> This isn't just a strange choice, it runs *precisely counter* to the
> *main stated goal* of the teaching languages, to exclude from the
> language anything that the students might accidentally type, that would
> be valid in the full language but was "not what they meant" and not
> something that they yet knew to avoid.
> This one is especially insidious because the mostly opaque value of True
> and False gets printed as "(make-signature ...)" which, since we *have*
> talked about function signatures, seems to make reference to some other
> concept which is a total red herring wrt the actual problem (at least as
> far as they're concerned).  Consider the simple BSL program:
>  ;; >5 : num -> boolean
>  ; determines whether a given number is greater than 5
>  (define (>5 n)
>    (> n 5))
>  (check-expect (>5 3) False)
>  (check-expect (>5 7) True)
> This yields the test case failures:
> 	Actual value false differs from (make-signature ...), the expected value.
>  at line 4, column 0 
> 	Actual value true differs from (make-signature ...), the expected value.
>  at line 5, column 0 
> I nearly filed this as a bug, and I still claim that it is one, but once
> I figured out what was actually going on (and the TR connection) I
> figured I'd best post it here.
> -- 
> -=-Don Blaheta-=-dblaheta at monm.edu-=-=-<http://www.monmsci.net/~dblaheta/>-=-
> A diva who specializes in risqué arias is an off-coloratura soprano.
> _________________________________________________
>  For list-related administrative tasks:
>  http://lists.racket-lang.org/listinfo/users

Posted on the users mailing list.