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!