Alternatives to ReasonML logo

Alternatives to ReasonML

OCaml, Haskell, Flow, ClojureScript, and Elm are the most popular alternatives and competitors to ReasonML.
73
91
+ 1
8

What is ReasonML and what are its top alternatives?

It lets you write simple, fast and quality type safe code while leveraging both the JavaScript & OCaml ecosystems.It is powerful, safe type inference means you rarely have to annotate types, but everything gets checked for you.
ReasonML is a tool in the Languages category of a tech stack.
ReasonML is an open source tool with GitHub stars and GitHub forks. Here’s a link to ReasonML's open source repository on GitHub

Top Alternatives to ReasonML

  • OCaml
    OCaml

    It is an industrial strength programming language supporting functional, imperative and object-oriented styles. It is the technology of choice in companies where a single mistake can cost millions and speed matters, ...

  • Haskell
    Haskell

    It is a general purpose language that can be used in any domain and use case, it is ideally suited for proprietary business logic and data analysis, fast prototyping and enhancing existing software environments with correct code, performance and scalability. ...

  • Flow
    Flow

    Flow is an online collaboration platform that makes it easy for people to create, organize, discuss, and accomplish tasks with anyone, anytime, anywhere. By merging a sleek, intuitive interface with powerful functionality, we're out to revolutionize the way the world's productive teams get things done. ...

  • ClojureScript
    ClojureScript

    ClojureScript is a compiler for Clojure that targets JavaScript. It is designed to emit JavaScript code which is compatible with the advanced compilation mode of the Google Closure optimizing compiler. ...

  • Elm
    Elm

    Writing HTML apps is super easy with elm-lang/html. Not only does it render extremely fast, it also quietly guides you towards well-architected code. ...

  • PureScript
    PureScript

    A small strongly typed programming language with expressive types that compiles to JavaScript, written in and inspired by Haskell. ...

  • TypeScript
    TypeScript

    TypeScript is a language for application-scale JavaScript development. It's a typed superset of JavaScript that compiles to plain JavaScript. ...

  • React
    React

    Lots of people use React as the V in MVC. Since React makes no assumptions about the rest of your technology stack, it's easy to try it out on a small feature in an existing project. ...

ReasonML alternatives & related posts

OCaml logo

OCaml

308
177
28
A general purpose industrial-strength programming language
308
177
+ 1
28
PROS OF OCAML
  • 7
    Satisfying to write
  • 6
    Pattern matching
  • 4
    Also has OOP
  • 4
    Very practical
  • 3
    Easy syntax
  • 3
    Extremely powerful type inference
  • 1
    Efficient compiler
CONS OF OCAML
  • 3
    Small community
  • 1
    Royal pain in the neck to compile large programs

related OCaml posts

Haskell logo

Haskell

1.4K
1.2K
527
An advanced purely-functional programming language
1.4K
1.2K
+ 1
527
PROS OF HASKELL
  • 90
    Purely-functional programming
  • 66
    Statically typed
  • 59
    Type-safe
  • 39
    Open source
  • 38
    Great community
  • 31
    Built-in concurrency
  • 30
    Built-in parallelism
  • 30
    Composable
  • 24
    Referentially transparent
  • 20
    Generics
  • 15
    Type inference
  • 15
    Intellectual satisfaction
  • 12
    If it compiles, it's correct
  • 8
    Flexible
  • 8
    Monads
  • 5
    Great type system
  • 4
    Proposition testing with QuickCheck
  • 4
    One of the most powerful languages *(see blub paradox)*
  • 4
    Purely-functional Programming
  • 3
    Highly expressive, type-safe, fast development time
  • 3
    Pattern matching and completeness checking
  • 3
    Great maintainability of the code
  • 3
    Fun
  • 3
    Reliable
  • 2
    Best in class thinking tool
  • 2
    Kind system
  • 2
    Better type-safe than sorry
  • 2
    Type classes
  • 1
    Predictable
  • 1
    Orthogonality
CONS OF HASKELL
  • 9
    Too much distraction in language extensions
  • 8
    Error messages can be very confusing
  • 5
    Libraries have poor documentation
  • 3
    No good ABI
  • 3
    No best practices
  • 2
    Poor packaging for apps written in it for Linux distros
  • 2
    Sometimes performance is unpredictable
  • 1
    Slow compilation
  • 1
    Monads are hard to understand

related Haskell posts

In early 2015, Uber Engineering migrated its business entities from integer identifiers to UUID identifiers as part of an initiative focused on using multiple active data centers. To do that, Uber engineers had to identify foreign key relationships between every table in the data warehouse—a nontrivial task by any accounting.

Uber’s solution was to observe and analyze incoming SQL queries to extract foreign key relationships, for which it built tool called Queryparser, which it open sourced.)

Queryparser is written in Haskell, a tool that the team wasn’t previously familiar with but has strong support for language parsing. To help each other get up to speed, engineers started a weekly reading group to discuss Haskell books and documentation.

See more
Shared insights
on
HaskellHaskellScalaScala

Why I am using Haskell in my free time?

I have 3 reasons for it. I am looking for:

Fun.

Improve functional programming skill.

Improve problem-solving skill.

Laziness and mathematical abstractions behind Haskell makes it a wonderful language.

It is Pure functional, it helps me to write better Scala code.

Highly expressive language gives elegant ways to solve coding puzzle.

See more
Flow logo

Flow

69
58
15
Simple project and task management for busy teams
69
58
+ 1
15
PROS OF FLOW
  • 6
    Great for collaboration
  • 6
    Easy to use
  • 3
    Free
CONS OF FLOW
    Be the first to leave a con

    related Flow posts

    ClojureScript logo

    ClojureScript

    310
    292
    2
    A Clojure compiler targeting JavaScript
    310
    292
    + 1
    2
    PROS OF CLOJURESCRIPT
    • 2
      Functional and stable
    CONS OF CLOJURESCRIPT
      Be the first to leave a con

      related ClojureScript posts

      I adopted Clojure and ClojureScript because:

      • it's 1 language, multiple platforms.
      • Simple syntax.
      • Designed to avoid unwanted side effects and bugs.
      • Immutable data-structures.
      • Compact code, very expressive.
      • Source code is data.
      • It has super-flexible macro.
      • Has metadata.
      • Interoperability with JavaScript, Java and C#.
      See more
      Elm logo

      Elm

      729
      742
      319
      A type inferred, functional reactive language that compiles to HTML, CSS, and JavaScript
      729
      742
      + 1
      319
      PROS OF ELM
      • 45
        Code stays clean
      • 44
        Great type system
      • 40
        No Runtime Exceptions
      • 33
        Fun
      • 28
        Easy to understand
      • 23
        Type safety
      • 22
        Correctness
      • 17
        JS fatigue
      • 12
        Ecosystem agrees on one Application Architecture
      • 12
        Declarative
      • 10
        Friendly compiler messages
      • 8
        Fast rendering
      • 7
        If it compiles, it runs
      • 7
        Welcoming community
      • 5
        Stable ecosystem
      • 4
        'Batteries included'
      • 2
        Package.elm-lang.org
      CONS OF ELM
      • 3
        No typeclasses -> repitition (i.e. map has 130versions)
      • 2
        JS interop can not be async
      • 2
        JS interoperability a bit more involved
      • 1
        More code is required
      • 1
        No JSX/Template
      • 1
        Main developer enforces "the correct" style hard
      • 1
        No communication with users
      • 1
        Backwards compability breaks between releases

      related Elm posts

      Shared insights
      on
      ReactReactReduxReduxElmElm

      React is awesome, but is just a view library, when we need to manage state, there is Redux.js. The ecosystem of redux is big, complex and hard to integrate. That's why we choose to create hydux. Hydux is simple, the main idea is from Elm, a pure functional vdom-based framework for front-end. We seperate the whole app with state, actions and views. Which means not only our views are a tree, but also our state and actions. Reuse state and actions are just like reuse react components, no need to consider dependences.

      See more
      PureScript logo

      PureScript

      88
      85
      18
      A strongly-typed language that compiles to Javascript
      88
      85
      + 1
      18
      PROS OF PURESCRIPT
      • 6
        Purely functional
      • 4
        Great FFI to JavaScript
      • 2
        The best type system
      • 2
        Alternate backends
      • 1
        Pursuit
      • 1
        More Haskell-ish than Haskell
      • 1
        Coherent type classes
      • 1
        Libraries
      CONS OF PURESCRIPT
      • 1
        No JSX/Template
      • 1
        Have Some Bugs
      • 1
        Not so fancy error reporting

      related PureScript posts

      TypeScript logo

      TypeScript

      91.4K
      70.5K
      502
      A superset of JavaScript that compiles to clean JavaScript output
      91.4K
      70.5K
      + 1
      502
      PROS OF TYPESCRIPT
      • 174
        More intuitive and type safe javascript
      • 106
        Type safe
      • 80
        JavaScript superset
      • 48
        The best AltJS ever
      • 27
        Best AltJS for BackEnd
      • 15
        Powerful type system, including generics & JS features
      • 11
        Compile time errors
      • 11
        Nice and seamless hybrid of static and dynamic typing
      • 10
        Aligned with ES development for compatibility
      • 7
        Angular
      • 7
        Structural, rather than nominal, subtyping
      • 5
        Starts and ends with JavaScript
      • 1
        Garbage collection
      CONS OF TYPESCRIPT
      • 5
        Code may look heavy and confusing
      • 4
        Hype

      related TypeScript posts

      Yshay Yaacobi

      Our first experience with .NET core was when we developed our OSS feature management platform - Tweek (https://github.com/soluto/tweek). We wanted to create a solution that is able to run anywhere (super important for OSS), has excellent performance characteristics and can fit in a multi-container architecture. We decided to implement our rule engine processor in F# , our main service was implemented in C# and other components were built using JavaScript / TypeScript and Go.

      Visual Studio Code worked really well for us as well, it worked well with all our polyglot services and the .Net core integration had great cross-platform developer experience (to be fair, F# was a bit trickier) - actually, each of our team members used a different OS (Ubuntu, macos, windows). Our production deployment ran for a time on Docker Swarm until we've decided to adopt Kubernetes with almost seamless migration process.

      After our positive experience of running .Net core workloads in containers and developing Tweek's .Net services on non-windows machines, C# had gained back some of its popularity (originally lost to Node.js), and other teams have been using it for developing microservices, k8s sidecars (like https://github.com/Soluto/airbag), cli tools, serverless functions and other projects...

      See more
      Adebayo Akinlaja
      Engineering Manager at Andela · | 30 upvotes · 3.3M views

      I picked up an idea to develop and it was no brainer I had to go with React for the frontend. I was faced with challenges when it came to what component framework to use. I had worked extensively with Material-UI but I needed something different that would offer me wider range of well customized components (I became pretty slow at styling). I brought in Evergreen after several sampling and reads online but again, after several prototype development against Evergreen—since I was using TypeScript and I had to import custom Type, it felt exhaustive. After I validated Evergreen with the designs of the idea I was developing, I also noticed I might have to do a lot of styling. I later stumbled on Material Kit, the one specifically made for React . It was promising with beautifully crafted components, most of which fits into the designs pages I had on ground.

      A major problem of Material Kit for me is it isn't written in TypeScript and there isn't any plans to support its TypeScript version. I rolled up my sleeve and started converting their components to TypeScript and if you'll ask me, I am still on it.

      In summary, I used the Create React App with TypeScript support and I am spending some time converting Material Kit to TypeScript before I start developing against it. All of these components are going to be hosted on Bit.

      If you feel I am crazy or I have gotten something wrong, I'll be willing to listen to your opinion. Also, if you want to have a share of whatever TypeScript version of Material Kit I end up coming up with, let me know.

      See more
      React logo

      React

      168.8K
      139.5K
      4.1K
      A JavaScript library for building user interfaces
      168.8K
      139.5K
      + 1
      4.1K
      PROS OF REACT
      • 830
        Components
      • 672
        Virtual dom
      • 578
        Performance
      • 507
        Simplicity
      • 442
        Composable
      • 186
        Data flow
      • 166
        Declarative
      • 128
        Isn't an mvc framework
      • 120
        Reactive updates
      • 115
        Explicit app state
      • 50
        JSX
      • 29
        Learn once, write everywhere
      • 22
        Easy to Use
      • 21
        Uni-directional data flow
      • 17
        Works great with Flux Architecture
      • 11
        Great perfomance
      • 10
        Javascript
      • 9
        Built by Facebook
      • 8
        TypeScript support
      • 6
        Speed
      • 6
        Server Side Rendering
      • 5
        Feels like the 90s
      • 5
        Excellent Documentation
      • 5
        Props
      • 5
        Functional
      • 5
        Easy as Lego
      • 5
        Closer to standard JavaScript and HTML than others
      • 5
        Cross-platform
      • 5
        Easy to start
      • 5
        Hooks
      • 5
        Awesome
      • 5
        Scalable
      • 4
        Super easy
      • 4
        Allows creating single page applications
      • 4
        Server side views
      • 4
        Sdfsdfsdf
      • 4
        Start simple
      • 4
        Strong Community
      • 4
        Fancy third party tools
      • 4
        Scales super well
      • 3
        Has arrow functions
      • 3
        Beautiful and Neat Component Management
      • 3
        Just the View of MVC
      • 3
        Simple, easy to reason about and makes you productive
      • 3
        Fast evolving
      • 3
        SSR
      • 3
        Great migration pathway for older systems
      • 3
        Rich ecosystem
      • 3
        Simple
      • 3
        Has functional components
      • 3
        Every decision architecture wise makes sense
      • 3
        Very gentle learning curve
      • 2
        Split your UI into components with one true state
      • 2
        Recharts
      • 2
        Permissively-licensed
      • 2
        Fragments
      • 2
        Sharable
      • 2
        Image upload
      • 2
        HTML-like
      • 1
        React hooks
      • 1
        Datatables
      CONS OF REACT
      • 40
        Requires discipline to keep architecture organized
      • 29
        No predefined way to structure your app
      • 28
        Need to be familiar with lots of third party packages
      • 13
        JSX
      • 10
        Not enterprise friendly
      • 6
        One-way binding only
      • 3
        State consistency with backend neglected
      • 3
        Bad Documentation
      • 2
        Error boundary is needed
      • 2
        Paradigms change too fast

      related React posts

      Johnny Bell

      I was building a personal project that I needed to store items in a real time database. I am more comfortable with my Frontend skills than my backend so I didn't want to spend time building out anything in Ruby or Go.

      I stumbled on Firebase by #Google, and it was really all I needed. It had realtime data, an area for storing file uploads and best of all for the amount of data I needed it was free!

      I built out my application using tools I was familiar with, React for the framework, Redux.js to manage my state across components, and styled-components for the styling.

      Now as this was a project I was just working on in my free time for fun I didn't really want to pay for hosting. I did some research and I found Netlify. I had actually seen them at #ReactRally the year before and deployed a Gatsby site to Netlify already.

      Netlify was very easy to setup and link to my GitHub account you select a repo and pretty much with very little configuration you have a live site that will deploy every time you push to master.

      With the selection of these tools I was able to build out my application, connect it to a realtime database, and deploy to a live environment all with $0 spent.

      If you're looking to build out a small app I suggest giving these tools a go as you can get your idea out into the real world for absolutely no cost.

      See more
      Zach Holman

      Oof. I have truly hated JavaScript for a long time. Like, for over twenty years now. Like, since the Clinton administration. It's always been a nightmare to deal with all of the aspects of that silly language.

      But wowza, things have changed. Tooling is just way, way better. I'm primarily web-oriented, and using React and Apollo together the past few years really opened my eyes to building rich apps. And I deeply apologize for using the phrase rich apps; I don't think I've ever said such Enterprisey words before.

      But yeah, things are different now. I still love Rails, and still use it for a lot of apps I build. But it's that silly rich apps phrase that's the problem. Users have way more comprehensive expectations than they did even five years ago, and the JS community does a good job at building tools and tech that tackle the problems of making heavy, complicated UI and frontend work.

      Obviously there's a lot of things happening here, so just saying "JavaScript isn't terrible" might encompass a huge amount of libraries and frameworks. But if you're like me, yeah, give things another shot- I'm somehow not hating on JavaScript anymore and... gulp... I kinda love it.

      See more