This is the latest for Scheme according to Wikipedia's Offside Rule article [1]:
http://srfi.schemers.org/srfi-119/srfi-119.html
I have not read this "Wisp" spec lately, but IIRC it has many back references to prior attempts..at least in the Scheme community..not sure about the common-lisp community.
EDIT: To elaborate on my `quote do:`, this is a little macro to avoid doing many tedious code repetitions:
macro strp(sVars: varargs[untyped]): untyped =
result = newStmtList() # strip some string vars; Assume new-scope
for sV in sVars: result.add(quote do: (let `sV` = `sV`.strip))
with an example call:
strp sTm,sUs,sSy,sUt,sRS,sIn,sOu,mjF,mnF,swp,vsw,isw,isr,ixr,idr,nsg,msn,mrc
which will expand to code like:
let sTm = sTm.strip
let sUs = sUs.strip
...
Maybe that's one man's "syntax soup", but I don't think it's so bad. (My 3 letter idents are probably worse!)
The static typing of Nim (rather than gradual typing defaults like Lisp or Cython) tends to make beginner programs less "performance cringe" (as long as they compile with `-d:release -d:lto`!).
[1] https://en.wikipedia.org/wiki/Off-side_rule