Alternatives to PureScript logo

Alternatives to PureScript

Haskell, Elm, TypeScript, LiveScript, and ClojureScript are the most popular alternatives and competitors to PureScript.
52
61
+ 1
6

What is PureScript and what are its top alternatives?

A small strongly typed programming language with expressive types that compiles to JavaScript, written in and inspired by Haskell.
PureScript is a tool in the Templating Languages & Extensions category of a tech stack.
PureScript is an open source tool with 7.4K GitHub stars and 545 GitHub forks. Here’s a link to PureScript's open source repository on GitHub

Top Alternatives to PureScript

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

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

  • TypeScript

    TypeScript

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

  • LiveScript

    LiveScript

    It has a straightforward mapping to JavaScript and allows you to write expressive code devoid of repetitive boilerplate. While LiveScript adds many features to assist in functional style programming, it also has many improvements for object oriented and imperative programming. ...

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

  • ReasonML

    ReasonML

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

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

  • JavaScript

    JavaScript

    JavaScript is most known as the scripting language for Web pages, but used in many non-browser environments as well such as node.js or Apache CouchDB. It is a prototype-based, multi-paradigm scripting language that is dynamic,and supports object-oriented, imperative, and functional programming styles. ...

PureScript alternatives & related posts

Haskell logo

Haskell

993
1K
493
An advanced purely-functional programming language
993
1K
+ 1
493
PROS OF HASKELL
  • 85
    Purely-functional programming
  • 65
    Statically typed
  • 57
    Type-safe
  • 38
    Open source
  • 38
    Great community
  • 29
    Built-in concurrency
  • 29
    Composable
  • 28
    Built-in parallelism
  • 22
    Referentially transparent
  • 19
    Generics
  • 14
    Intellectual satisfaction
  • 13
    Type inference
  • 11
    If it compiles, it's correct
  • 7
    Monads
  • 7
    Flexible
  • 4
    Great type system
  • 4
    Proposition testing with QuickCheck
  • 3
    One of the most powerful languages *(see blub paradox)*
  • 2
    Fun
  • 2
    Kind system
  • 2
    Reliable
  • 2
    Highly expressive, type-safe, fast development time
  • 2
    Type classes
  • 2
    Better type-safe than sorry
  • 2
    Pattern matching and completeness checking
  • 2
    Purely-functional Programming
  • 2
    Best in class thinking tool
  • 2
    Great maintainability of the code
  • 0
    Orthogonality
  • 0
    Predictable
CONS OF HASKELL
  • 7
    Too much distraction in language extensions
  • 6
    Error messages can be very confusing
  • 4
    Libraries have poor documentation
  • 3
    No best practices
  • 3
    No good ABI
  • 2
    Sometimes performance is unpredictable
  • 2
    Poor packaging for apps written in it for Linux distros
  • 1
    Slow compilation

related Haskell posts

Vadim Bakaev
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
Elm logo

Elm

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

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
TypeScript logo

TypeScript

53.7K
41.3K
462
A superset of JavaScript that compiles to clean JavaScript output
53.7K
41.3K
+ 1
462
PROS OF TYPESCRIPT
  • 163
    More intuitive and type safe javascript
  • 97
    Type safe
  • 73
    JavaScript superset
  • 46
    The best AltJS ever
  • 27
    Best AltJS for BackEnd
  • 14
    Powerful type system, including generics & JS features
  • 10
    Nice and seamless hybrid of static and dynamic typing
  • 9
    Aligned with ES development for compatibility
  • 9
    Compile time errors
  • 6
    Structural, rather than nominal, subtyping
  • 5
    Angular
  • 3
    Starts and ends with JavaScript
CONS OF TYPESCRIPT
  • 4
    Code may look heavy and confusing
  • 2
    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 · | 26 upvotes · 791.7K 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
LiveScript logo

LiveScript

51
12
0
A language which compiles to JavaScript
51
12
+ 1
0
PROS OF LIVESCRIPT
    Be the first to leave a pro
    CONS OF LIVESCRIPT
      Be the first to leave a con

      related LiveScript posts

      ClojureScript logo

      ClojureScript

      259
      233
      2
      A Clojure compiler targeting JavaScript
      259
      233
      + 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
        ReasonML logo

        ReasonML

        67
        77
        9
        A friendly programming language for JavaScript and OCaml
        67
        77
        + 1
        9
        PROS OF REASONML
        • 4
          Pattern Matching
        • 3
          Type System
        • 1
          Fun
        • 1
          React
        CONS OF REASONML
        • 1
          Bindings

        related ReasonML posts

        React logo

        React

        113.9K
        91.5K
        3.8K
        A JavaScript library for building user interfaces
        113.9K
        91.5K
        + 1
        3.8K
        PROS OF REACT
        • 760
          Components
        • 652
          Virtual dom
        • 563
          Performance
        • 486
          Simplicity
        • 436
          Composable
        • 175
          Data flow
        • 159
          Declarative
        • 124
          Isn't an mvc framework
        • 113
          Reactive updates
        • 111
          Explicit app state
        • 32
          JSX
        • 23
          Learn once, write everywhere
        • 19
          Uni-directional data flow
        • 16
          Easy to Use
        • 14
          Works great with Flux Architecture
        • 10
          Great perfomance
        • 8
          Built by Facebook
        • 7
          Javascript
        • 5
          TypeScript support
        • 5
          Speed
        • 4
          Feels like the 90s
        • 4
          Scalable
        • 4
          Easy to start
        • 4
          Awesome
        • 3
          Fancy third party tools
        • 3
          Hooks
        • 3
          Functional
        • 3
          Server side views
        • 3
          Props
        • 2
          Rich ecosystem
        • 2
          Obama
        • 2
          Very gentle learning curve
        • 2
          Has functional components
        • 2
          Simple
        • 2
          Closer to standard JavaScript and HTML than others
        • 2
          Super easy
        • 2
          Has arrow functions
        • 2
          Strong Community
        • 2
          Great migration pathway for older systems
        • 2
          SSR
        • 2
          Fast evolving
        • 2
          Simple, easy to reason about and makes you productive
        • 2
          Excellent Documentation
        • 2
          Scales super well
        • 2
          Just the View of MVC
        • 2
          Server Side Rendering
        • 2
          Cross-platform
        • 1
          Fragments
        • 1
          Start simple
        • 1
          Every decision architecture wise makes sense
        • 1
          Permissively-licensed
        • 1
          Beautiful and Neat Component Management
        • 1
          Sdfsdfsdf
        • 1
          Allows creating single page applications
        • 1
          Split your UI into components with one true state
        • 1
          Sharable
        CONS OF REACT
        • 35
          Requires discipline to keep architecture organized
        • 23
          No predefined way to structure your app
        • 21
          Need to be familiar with lots of third party packages
        • 8
          JSX
        • 7
          Not enterprise friendly
        • 4
          One-way binding only
        • 2
          State consistency with backend neglected
        • 2
          Bad Documentation

        related React posts

        Vaibhav Taunk
        Team Lead at Technovert · | 31 upvotes · 1.7M views

        I am starting to become a full-stack developer, by choosing and learning .NET Core for API Development, Angular CLI / React for UI Development, MongoDB for database, as it a NoSQL DB and Flutter / React Native for Mobile App Development. Using Postman, Markdown and Visual Studio Code for development.

        See more
        Adebayo Akinlaja
        Engineering Manager at Andela · | 26 upvotes · 791.7K 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
        JavaScript logo

        JavaScript

        225.2K
        174.4K
        7.8K
        Lightweight, interpreted, object-oriented language with first-class functions
        225.2K
        174.4K
        + 1
        7.8K
        PROS OF JAVASCRIPT
        • 1.6K
          Can be used on frontend/backend
        • 1.5K
          It's everywhere
        • 1.1K
          Lots of great frameworks
        • 887
          Fast
        • 736
          Light weight
        • 416
          Flexible
        • 383
          You can't get a device today that doesn't run js
        • 284
          Non-blocking i/o
        • 233
          Ubiquitousness
        • 188
          Expressive
        • 51
          Extended functionality to web pages
        • 44
          Relatively easy language
        • 42
          Executed on the client side
        • 26
          Relatively fast to the end user
        • 22
          Pure Javascript
        • 17
          Functional programming
        • 11
          Async
        • 8
          Setup is easy
        • 7
          Because I love functions
        • 7
          JavaScript is the New PHP
        • 7
          Like it or not, JS is part of the web standard
        • 7
          Its everywhere
        • 7
          Full-stack
        • 6
          Expansive community
        • 6
          Future Language of The Web
        • 6
          Can be used in backend, frontend and DB
        • 5
          Evolution of C
        • 5
          Everyone use it
        • 5
          Love-hate relationship
        • 5
          Easy to hire developers
        • 5
          Supports lambdas and closures
        • 5
          Agile, packages simple to use
        • 5
          Popularized Class-Less Architecture & Lambdas
        • 5
          For the good parts
        • 4
          Everywhere
        • 4
          Hard not to use
        • 4
          Promise relationship
        • 4
          Scope manipulation
        • 4
          It's fun
        • 4
          Client processing
        • 4
          Nice
        • 4
          Easy to make something
        • 4
          Can be used on frontend/backend/Mobile/create PRO Ui
        • 4
          Easy
        • 4
          Photoshop has 3 JS runtimes built in
        • 4
          Can be used both as frontend and backend as well
        • 4
          Most Popular Language in the World
        • 4
          It let's me use Babel & Typescript
        • 4
          What to add
        • 4
          Clojurescript
        • 4
          Function expressions are useful for callbacks
        • 4
          No need to use PHP
        • 4
          Its fun and fast
        • 4
          Powerful
        • 4
          Versitile
        • 4
          Client side JS uses the visitors CPU to save Server Res
        • 4
          1.6K Can be used on frontend/backend
        • 4
          Stockholm Syndrome
        • 3
          Because it is so simple and lightweight
        • 3
          Only Programming language on browser
        • 2
          JavaScript j.s
        • 2
          Acoperișul 0757604335
        CONS OF JAVASCRIPT
        • 21
          A constant moving target, too much churn
        • 20
          Horribly inconsistent
        • 14
          Javascript is the New PHP
        • 8
          No ability to monitor memory utilitization
        • 6
          Shows Zero output in case of ANY error
        • 5
          Can be ugly
        • 4
          Thinks strange results are better than errors
        • 2
          No GitHub
        • 1
          Slow

        related JavaScript posts

        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
        Conor Myhrvold
        Tech Brand Mgr, Office of CTO at Uber · | 39 upvotes · 4.2M views

        How Uber developed the open source, end-to-end distributed tracing Jaeger , now a CNCF project:

        Distributed tracing is quickly becoming a must-have component in the tools that organizations use to monitor their complex, microservice-based architectures. At Uber, our open source distributed tracing system Jaeger saw large-scale internal adoption throughout 2016, integrated into hundreds of microservices and now recording thousands of traces every second.

        Here is the story of how we got here, from investigating off-the-shelf solutions like Zipkin, to why we switched from pull to push architecture, and how distributed tracing will continue to evolve:

        https://eng.uber.com/distributed-tracing/

        (GitHub Pages : https://www.jaegertracing.io/, GitHub: https://github.com/jaegertracing/jaeger)

        Bindings/Operator: Python Java Node.js Go C++ Kubernetes JavaScript OpenShift C# Apache Spark

        See more