Influences - Spicery/Nutmeg GitHub Wiki
This article lists the programming languages that Nutmeg's design is influenced by. More importantly, Nutmeg strives not to unnecessarily re-invent features but tries to re-use as much as possible from these officially acknowledged sources. Of course, this involves a lot of judgement and juggling of opposed design ideas in order to ensure the result is self-consistent.
-
Concatenative semantics: This is taken from the seminal languages Pop-2 and Pop-11.
-
Outfix syntax: This refers to the use of paired opening-and-closing keywords (e.g. def/enddef, if/endif) for control constructs. The strongest influence here is again Pop-2 and Pop-11 but those languages perfected the approach that was originally demonstrated in Algol-68. The optional use of
end
as a general closing keyword was presented in Pop-2 and has been recently revived in Ruby. -
Optional semi-colons: Borrowed from Python's approach to avoiding statement terminators.
-
Ranged lists as the basis for iterating over numerical ranges: also taken from Python, although the syntax is taken from Swift.
-
Transreal arithmetic: This refers to an extended real arithmetic established by Anderson, that has the advantage of being a clean basis for floating point arithmetic. See Anderson's original article.
To be completed!