• Implicit range type:
  • Less known examples of Nim argument passing syntax
  • lvalue type conversion for distinct or equivalent types, better explained with code:
  • Using enums as array indexes
  • Changing start index for arrays
  • One interesting example of command invocation syntax:
  • Try / except expressions
  • Overloading based on the named argument
  • (Ab)using statement list expressions to allow using parenthesis like braces in Nim:
  • Using complex expressions based on other arguments as default arguments in procedures:
  • using statement
  • Python-style indexing operators with commas
  • Iteration over static values
  • Wrapping C #define macro