Flame: A PureScript front-end framework inspired by the Elm architecture

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • purescript-concur-react

    Concur UI Framework for Purescript

    I was wondering that myself. Here's an Ajax example: https://github.com/purescript-concur/purescript-concur-react...

    It could use some type signatures, but it makes sense.

    As for managing state, my understanding of the Elm Architecture is that there is one "global" state data structure, and various parts of it are handed down from parent to child. So my question would be the opposite of yours: what if I want local state? Is that possible? There are situations where some toggle being on or off isn't very important and keeping track of it in a global data structure is burdensome

  • purescript-flame

    Fast & simple framework for building web applications

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

  • Elm

    Compiler for Elm, a functional language for reliable webapps.

    - Bool and Simple Union Types could have been comparable if their comparison worked like they were Enumerated Types. Elm does not have Enumerated types.

    Basically https://github.com/elm/compiler/issues/1008 made me look for better alternatives.

  • Cycle.js

    A functional and reactive JavaScript framework for predictable code

    This post links to a PureScript project that is probably the easiest PS framework around.

    ReScript + rescript-react is a good alternative. Less safe, waaaay more verbose; but backed by Facebook.

    This is quite cute (in TypeScript though): https://github.com/cyclejs/cyclejs

    And Yew is super cool, it goes the WASM route (in Rust): https://github.com/yewstack/yew

  • yew

    Rust / Wasm framework for creating reliable and efficient web applications

    This post links to a PureScript project that is probably the easiest PS framework around.

    ReScript + rescript-react is a good alternative. Less safe, waaaay more verbose; but backed by Facebook.

    This is quite cute (in TypeScript though): https://github.com/cyclejs/cyclejs

    And Yew is super cool, it goes the WASM route (in Rust): https://github.com/yewstack/yew

  • elm-ts

    A porting to TypeScript featuring fp-ts, rxjs6 and React

    FWIW this post is about PureScript, not Elm. The library is an implementation of the Elm Architecture in PureScript. Elm is a language. The framework that goes along with it is called "The Elm Architecture". The Architecture can be implemented in any language. Here's an implementation in TypeScript: https://github.com/gcanti/elm-ts

  • purescript-concur-core

    Concur UI library for Purescript. Core framework.

    1. Application wide state is easy since you can always access state from parent components in child components. The problem occurs when you want to update parent state from child components.

    Fortunately, you can make your own abstractions in Concur. For example, you can use a "Wire" - which lets multiple child components share and update parts of the parent's state (https://github.com/purescript-concur/purescript-concur-core/...). Note how this abstraction just uses the high level Concur API, and doesn't depend on the UI backend. With a wire the code might look something like this -

      -- A wire into parent's state, accessible using `with`, and updateable using `wire.send`

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

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