@Ivan Reese I'm building a runtime and virtual machine for a dynamically typed language. That is normally done in a systems language like C, C++, Rust, Zig, so you can have performance. Look at Python, Ruby, Javascript, Perl, etc, that's how it's done. I picked C++ because I'm familiar with it, but also because there are a lot of specialized 3D graphics libraries I'd like to link with that are in C++, and not replicated in other languages. Rust would be my second choice because there are an increasing number of interesting Rust crates for programming GPUs. C++ and Rust are both horrible, complex languages, with slow compilers, that kill your productivity. Any alternative language that I could switch to would be better in some ways, but would lock me into an ecosystem that would make some things I want to do extremely difficult or impossible. What if I want to build a small and performant native app, or a small and performance WebAssembly module, containing my language? Will Haskell or Python or Racket or O'Caml or Pharo get me there? I feel there are no good choices of implementation language.
My language is dynamically typed because I prefer dynamic typing, it's easier to implement a dynamically typed language, and it's the best choice for exploratory and live programming. Curv is a language for making art, not for deploying applications on a server, so why do my users need static typing?