Our great sponsors
-
Nim
Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
Nim is another candidate in the Zig-like space of exposing the AST to the macro system, and also has (albeit experimental) concepts. Perhaps more interesting is coalton, which is a functional type system on top of Common Lisp - the most dynamic language out there. Curious if you have any thoughts on those!
The author is quick to dismiss dependently typed languages, which indeed solves the issues he describes. I think we will someday see a mainstream dependently typed language, Idris is one candidate and Lean 4 another. However, the issues described in the post are quite rare in practice, and macros are a good enough solution in many cases. Type systems like Rust's gets you 90% there when it comes to abstraction and static guarantees (and maybe 95% when you add macros), to get the last 10% you need to complicate the type system a lot.
TensorFlow has language support for TypeScript well as Rust.
There is the ATS programming language. Though it is not very user-friendly :)
Do you mean declaration files (*.d.ts) and DefinitelyTyped? Python has equivalents of those in type stubs (*.pyi) and typeshed.
Do you mean declaration files (*.d.ts) and DefinitelyTyped? Python has equivalents of those in type stubs (*.pyi) and typeshed.
Google Wuffs is pretty limited, yet definitely practical language.