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

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.
www.influxdata.com
featured
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.

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

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

  • How to set up a new project using Yarn

    5 projects | dev.to | 8 May 2024
  • Comparing Hattip vs. Express.js for modern app development

    5 projects | dev.to | 8 May 2024
  • Inflight Magazine no. 9

    5 projects | dev.to | 1 May 2024
  • DEMO - Voice to PDF - Complete PDF documents with voice commands using the Claude 3 Opus API

    4 projects | dev.to | 27 Apr 2024
  • Getting started with TiniJS framework

    7 projects | dev.to | 20 Apr 2024