> Skip is not meant to be a system programming language. So the comparison with Rust for example is difficult.
Can you elaborate on this comment in the context of some of the other languages listed by the grandparent (Go, Swift, Julia, Nim)? Granted, writing bare-metal operating system kernels may severely limit practical options, but I can imagine using Go, Swift, and Nim for slightly higher level "systems programming". Skip would be a reasonable alternative to these, right?
I'm curious what your thoughts are on Nim. Especially seeing as we're both FB employees :)
I think you've done a really good job with Skip. I really love the incremental type-checking. It's a breath of fresh air to see a compiler created with IDEs in mind from the beginning.
Effect tracking is something that Nim also boasts so I'm curious how that works in Skip. Are there any docs/articles going into detail about this?
Generally system programming is that you're able to interact with the system without some sort of "bridge".
For that reason Java and C# cannot be counted as system programming languages, because neither of those can interact directly with the system they're running on.
Ex. C# needs PInvoke, where as C can just call system functions directly.
Can you elaborate on this comment in the context of some of the other languages listed by the grandparent (Go, Swift, Julia, Nim)? Granted, writing bare-metal operating system kernels may severely limit practical options, but I can imagine using Go, Swift, and Nim for slightly higher level "systems programming". Skip would be a reasonable alternative to these, right?