Is there a statically typed functional programming language that doesn't take purity so seriously?

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

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • reason

    Simple, fast & type safe code that leverages the JavaScript & OCaml ecosystems

    Now the real Reason site primarily mentions using js_of_ocaml for JS compilation instead of endorsing bucklescript, though maybe when Melange's changes and updates* to bucklescript stabilise it'll switch over to suggesting that. jsoo is good at what it does but it uses some OCaml black magic that creates some awful error messages; plus it converts the intermediate AST representation to JS and creates a giant unreadable blob. BuckleScript (and now Melange) take over compilation a bit earlier, giving you more readable output and allowing some things to be done more smoothly.

  • SaaSHub

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

    SaaSHub logo
  • pydantic

    Data validation using Python type hints

    They’re not completely ignored; they’re actually available at runtime (which is even worse, since it gets used for some horrible metaprogramming). But if you really want, you could run your Python scripts with mypy $1 && python3 $1.

  • js_of_ocaml

    Compiler from OCaml to Javascript.

    TL;DR: Reason is, and always has been, independent of ReScript (formerly BuckleScript) and is still actively maintained. If you want to use Reason or OCaml to make native code you can. If you want to compile JS from OCaml or Reason you also still can, but you'll want to use either js_of_ocaml or a BuckleScript fork named Melange that was made in response to the BuckleScript/ReScript people's shenanigans. And if you only care about JS-like syntax and JS output, you can use ReScript.

  • melange

    A mixture of tooling combined to produce JavaScript from OCaml & Reason

    TL;DR: Reason is, and always has been, independent of ReScript (formerly BuckleScript) and is still actively maintained. If you want to use Reason or OCaml to make native code you can. If you want to compile JS from OCaml or Reason you also still can, but you'll want to use either js_of_ocaml or a BuckleScript fork named Melange that was made in response to the BuckleScript/ReScript people's shenanigans. And if you only care about JS-like syntax and JS output, you can use ReScript.

  • scriptum

    Functional Programming Unorthodoxly Adjusted to Client-/Server-side Javascript

    scriptum

  • ninja

    a small build system with a focus on speed

    * BuckleScript/ReScript works by forking the OCaml compiler and has been stuck on years-out-of-date versions of it as a result. Works well but you miss out on some nice stuff that's been done the past few years. Melange is trying to fix some of that by splitting out the compiler changes in a way that lets it keep up with recent compiler versions, plus eventually replace its odd custom Ninja-based build system with OCaml ecosystem stuff (dune for build, esy for packages).

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

  • Top 10 Expert-Crafted JavaScript Coding Interview Questions

    1 project | dev.to | 7 Jan 2025
  • Customize TypeScript syntax highlighting in VSCode

    1 project | dev.to | 7 Jan 2025
  • Advanced React SSR Techniques with Streaming and Dynamic Data

    4 projects | dev.to | 3 Jan 2025
  • JavaScript evolution: From Lodash and Underscore to vanilla

    5 projects | dev.to | 19 Dec 2024
  • Fluent Streams: A Library for Rich Iterables Manipulation

    2 projects | dev.to | 12 Dec 2024

Did you konow that OCaml is
the 41st most popular programming language
based on number of metions?