On Friday, October 7, 2016 at 3:35:46 PM UTC, Gabriel Gellner wrote: > `atol/rtol` versus >
> `abstol/reltol` versus `abs_tol/rel_tol` > For the latter "versus" at least (and other examples), this would be solved by style-insensitivity, as in Nimrod (or Nim) language, the only one I've heard that does this; not sure of status of it, maybe they dropped it with the name-change). I hesitated to propose this for Julia, when I first discovered this, I'm/was conflicted; I thought this would break code, as it's a breaking change, but would in fact help(?) This could in theory be done with a macro(?) Style Insensitive? https://github.com/nim-lang/Nim/issues/521 "Nimrod is a style-insensitive language. This means that it is not case-sensitive and even underscores are ignored: type is a reserved word, and so is TYPE or T_Y_P_E. The idea behind this is that this allows programmers to use their own preferred spelling style and libraries written by different programmers cannot use incompatible conventions. Please *rethink* about that or at least give us an option to disable both: case insensitive and also underscore ignored [another user]: Also a consistent style for code bases is VASTLY overrated, in fact I almost never had the luxury of it and yet it was never a problem." Trivia on Nim[rod], D and upcoming(?) C++ below, I was just looking up hard to find above info..): http://nim-lang.org/docs/nep1.html Naming Conventions <http://nim-lang.org/docs/nep1.html#introduction-naming-conventions> * Type identifiers should be in PascalCase. All other identifiers should be in camelCase with the exception of constants which *may* use PascalCase but are not required to. [..] For constants coming from a C/C++ wrapper, ALL_UPPERCASE are allowed, but ugly. (Why shout CONSTANT? Constants do no harm, variables do!) http://nim-lang.org/ - * A fast *non-tracing* garbage collector that supports soft real-time systems (like games). - * System programming features: Ability to manage your own memory and access the hardware directly. Pointers to garbage collected memory are distinguished from pointers to manually managed memory. [..] * Macros can modify the abstract syntax tree at compile time. [..] - * Macros cannot change Nim's syntax because there is no need for it. Nim's syntax is flexible enough. - * Statements are grouped by indentation but can span multiple lines. Indentation must not contain tabulators so the compiler always sees the code the same way as you do. https://en.wikipedia.org/wiki/Nim_(programming_language) *"Nim* (formerly named *Nimrod*) [..] Language designInfluenced by[..] Lisp <javascript:void(0)>: Macro system, embrace the AST, homoiconicity [..] UFCS <https://en.wikipedia.org/wiki/UFCS>, a feature supported by Nim" [and D]: https://en.wikipedia.org/wiki/Uniform_Function_Call_Syntax "It has been proposed (as of 2016) for addition to C++ by Bjarne Stroustrup <https://en.wikipedia.org/wiki/Bjarne_Stroustrup>[3] <https://en.wikipedia.org/w/index.php?title=Uniform_Function_Call_Syntax&action=submit#cite_note-3> and Herb Sutter <https://en.wikipedia.org/wiki/Herb_Sutter>, to reduce the ambiguous decision between [..] // All the followings are correct and equivalent int b = first(a); int c = a.first(); int d = a.first; "