Let's collect relatively new research programming languages in this thread

This page summarizes the projects mentioned and recommended in the original post on /r/ProgrammingLanguages

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • koka

    Koka language compiler and interpreter

  • Koka, already cited in this thread, early 2010s. Koka's first claim to fame was a usable effect system (at the type were, basically, effect systems were not usable in practice; in fact few languages have managed to do as well as Koka since). Now its author is working on cool implementation strategies for functional languages as well.

  • HVM

    A massively parallel, optimal functional runtime in Rust

  • Sure. Sorry I should have linked this before, but I was on mobile. Here you go: https://github.com/Kindelia/HVM/issues/44

  • 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.

    WorkOS logo
  • hylo

    The Hylo programming language

  • I’m a big fan of Val. The value semantics model of Swift is really amazing when you use it, and Val just focuses only on this model. It’s like a cross between functional and imperative programming, and feels great.

  • koika

    A core language for rule-based hardware design 🦑

  • https://github.com/koka-lang/koka Algebraic effects and reference counting. https://github.com/mit-plv/koika hardware description DSL for coq

  • Vale

    Compiler for the Vale programming language - http://vale.dev/ (by ValeLang)

  • We're working on adding a more user-friendly borrow checker in Vale (https://vale.dev), ehich I'm pretty excited about. Here's a draft/preview about it I aim to post later today or tomorrow: https://verdagon.dev/blog/zero-cost-memory-safety-regions-overview

  • jasmin

    Language for high-assurance and high-speed cryptography (by jasmin-lang)

  • Jasmin, late 2010s, a language designed to be lower-level than C and provide good low-level control for cryptographic code. Basically a new take on "C as a high-level assembly language", with formal semantics etc. I suspect that this design space is rather close to "a good language to use as a compiler backend", but I think this would require changes to Jasmin and no one is working on that as far as I know.

  • cogent

    Cogent Project

  • Cogent, late 2010s, a language with linear types for verification. The idea is that you write functional-looking code that is easy to verify using the functional semantics, but with an efficient compilation strategy enabled by linear types to get realistic system programs.

  • 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.

    InfluxDB logo
  • awesome-programming-languages

    The list of an awesome programming languages that you might be interested in

  • Behold - the list of 303 languages - from old to new, from mainstream to super obscure. Last updated 4 days ago.

  • futhark

    :boom::computer::boom: A data-parallel functional programming language

  • https://futhark-lang.org/ High-performance purely functional data-parallel array programming

  • effekt

    A research language with effect handlers and lightweight effect polymorphism

  • https://effekt-lang.org/ A research language with effect handlers and lightweight effect polymorphism

  • karamel

    KaRaMeL is a tool for extracting low-level F* programs to readable C code

  • Jasmin and F* don't have similar goals, Jasmin is a language designed to precisely express low-level code, while F* is a generalist language for verified programming. There is a subsystem of F* that performs extraction to "readable C code", Karamel (used to be called Kremlin), but you get the usual limitations of C code as a high-level assembler, and also an embedded assembly layer built on Vale. Project Everest therefore generates artifacts that are a mix of C and assembly, rather than a new low-level language design as Jasmin.

  • hacl-star

    HACL*, a formally verified cryptographic library written in F*

  • Jasmin and F* don't have similar goals, Jasmin is a language designed to precisely express low-level code, while F* is a generalist language for verified programming. There is a subsystem of F* that performs extraction to "readable C code", Karamel (used to be called Kremlin), but you get the usual limitations of C code as a high-level assembler, and also an embedded assembly layer built on Vale. Project Everest therefore generates artifacts that are a mix of C and assembly, rather than a new low-level language design as Jasmin.

  • usuba

    A programming language to write bitsliced ciphers

  • Usuba, a domain-specific language for writing efficient "bit-sliced" cryptographic code. (Jasmin is a low-level language for fine-grained performance control, which was motivated by the needs of cryptographic routines, but its design is not crypto-specific. Usuba is a domain-specific language for cryptography.)

  • datafun

    Research on integrating datalog & lambda calculus via monotonicity types

  • Datafun, a take on a "higher-order" (functional) extension of Datalog.

  • ponyc

    Pony is an open-source, actor-model, capabilities-secure, high performance programming language

  • Surprised you didn't mention Pony :)

  • cubicaltt

    Experimental implementation of Cubical Type Theory

  • - cubicialtt a programming language based on cubical type theory in which univalence from homotopy type theory isn't an axiom but a theorem

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts