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.
-
chalk
An implementation and definition of the Rust trait system using a PROLOG-like logic solver (by rust-lang)
Oberon? see https://github.com/rochus-keller/Oberon/
Nim. Very versatile language.
Working in a revival, but long shoot without resources!
I use Raku frequently for complex text processing and general scripting
Lean (https://leanprover.github.io). It's a great distillation of a lot of the current thinking about types, pattern matching, various other functional programming concepts. It calls itself "theorem prover" but it is also a general purpose programming language. The doco is great as well, which makes it easy to learn. There's a small amount of effort required to set it up (in VSCode) but it's worth it.
If you're writing code for GObject (primarily GTK+ applications and libraries), Vala is probably the best option. It offers syntax to simplify a lot of common GObject tasks but with better typechecking, and it should be quite familiar to anyone who's used C#.
Dale: Basically C, but using Lisp syntax, support for macros, which might segfault, not beginner friendly at all.
There has been work to implement part of the Rust typing logic in the Chalk Engine which uses a prolog-ish syntax to describe its rules.
Similarly, there has been work to implement the borrow-checking of Rust in the Polonius Engine which uses the Datalog language to describe the rules.