Houdini wrote:In my opinion the specification makes sense, it would be silly to allow "setoption name Hash value 128" and not "setoption name hash value 128".
Houdini follows the specification and is not case sensitive for UCI options.
That is a surprise - to me it's silly to see them as the same thing - they are clearly 2 different things to me. Do you see 'h' and 'H' as the same character? I see them as distinctly different and it's illogical to map them differently.
The argument is that humans see them as the same, but that is inconsistent and wrong too. Is your name "robert" or is it "Robert"? I think you would be offended if everyone else was capitalized but you were not.
This is likely to be a Unix mentality vs Windows mentality things. Unix is considerably more regular and consistent about handling things like this as well as providing much cleaner abstractions for most things and adhering to the KISS principle when there is no reason to do otherwise. As witness to this, notice that programmers made the mistake of dong the logical thing which violated the illogical specification in this regard.
Generally, if you have to go out of your way to honor a specification there needs to be a logical reason why that is so. In this case you have to go out of your way to implement something that is NOT logical. Not just us developers but the computer has to do more work too for no good reason.
However, I still think UCI is very well done. It is not possible to make a specification that will please everyone in every way.