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

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

Our great sponsors
  • SonarLint - Clean code begins in your IDE with SonarLint
  • InfluxDB - Build time-series-based applications quickly and 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

  • SonarLint

    Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.

  • val

    The val compiler

    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

    Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Platform where developers build real-time applications for analytics, IoT and cloud-native services. Easy to start, it is available in the cloud or on-premises.

  • 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 (by rntz)

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

  • ponyc

    :horse: 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

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