You may be interested in Nim. If you can tolerate working without a REPL, Nim hits essentially all the bullet points you mentioned, from macros to coroutines, multiple dispatch, ability to call c trivially and python easily and so on.<p>It has static types and is fast. The libraries for scientific computing are not there yet, but it lends very nicely to mathematical abstraction.