Our great sponsors
-
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
-
-
InfluxDB
Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.
-
- 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.
-
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
-
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
-
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
-
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`
-
Mergify
Updating dependencies is time-consuming.. Solutions like Dependabot or Renovate update but don't merge dependencies. You need to do it manually while it could be fully automated! Add a Merge Queue to your workflow and stop caring about PR management & merging. Try Mergify for free.