You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
VIP: 746
Title: Remove duplicate syntax for bool/None constants
Author: Denis Bogdanas
Type: Standard Track
Status: Draft
Created: 2018-04-03
Simple Summary
Allow only one syntax for boolean/None constants.
Abstract
Right now there are 2 syntaxes that do the same thing" true/false/null and True/False/None. It is preferable to have only one option.
Motivation
Duplicate syntax for same functionality is needless complexity, and will lead to confusion among programmers when Viper will enter production. One programmer using True/False will read the code of other programmer using true/false and will wonder whether there's a semantic difference between the two. It is uncustomary for programming languages to have this sort of duplication.
Specification
Allow only one option.
Backwards Compatibility
One option will no longer be allowed. Will be replaced with another.
Also, as I also mentioned there, lowercase true/false/none should be kept as unused reserved words, otherwise they may be exploitable for writing underhanded code.
Preamble
Simple Summary
Allow only one syntax for boolean/None constants.
Abstract
Right now there are 2 syntaxes that do the same thing" true/false/null and True/False/None. It is preferable to have only one option.
Motivation
Duplicate syntax for same functionality is needless complexity, and will lead to confusion among programmers when Viper will enter production. One programmer using True/False will read the code of other programmer using true/false and will wonder whether there's a semantic difference between the two. It is uncustomary for programming languages to have this sort of duplication.
Specification
Allow only one option.
Backwards Compatibility
One option will no longer be allowed. Will be replaced with another.
Copyright
Copyright and related rights waived via CC0
The text was updated successfully, but these errors were encountered: