Elm
Cycle.js
Our great sponsors
Elm | Cycle.js | |
---|---|---|
114 | 8 | |
6,903 | 10,123 | |
0.4% | 0.1% | |
5.0 | 6.1 | |
3 months ago | 19 days ago | |
Haskell | TypeScript | |
BSD 3-clause "New" or "Revised" License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Elm
-
Elm: a good frontend language?
Recently a friend recommended me Elm, a pure functional language for developing web applications. I'd like to compare it to JavaScript and show how the functional paradigm can work in practical applications.
-
Clojure/ClojureScript for web - where to start?
If you want to combine functional programming with the web i'd consider Elm which seems to have a fairly decent documentation and a good official guide.
-
A message to Evan. People are just in love with your language.
Well, but the website tries to encourage you to use Elm. The guide explicitly asks you to "give Elm a shot and see what you think". So it seems to me that Evan does want Elm to be popular.
- Other languages geared towards outputting HTML, like PHP?
-
Ask HN: Best language/framework to develop web-based text games today?
I really like Elm [0] and write all my side projects in it. There are many reasons I like it, but the one that probably plays best around here is that it feels like a very learn-it-for-life type language. It has a release cadence measured in years (the latest version, 0.19.10, was released in October 2019!), and a community that has adapted to match. Elm doesn't release shiny new features often, or even necessarily ever again, but it has everything I need to make every web game I could possibly think of already so that's a good thing.
-
Whats the most mature type generation tool for Rust types to other languages?
As for other languages, I wrote one for Elm (https://elm-lang.org/) inspired by ts-rs: https://crates.io/crates/elm_rs
-
tuples being limited to three elements [...] prevents me from shooting myself in the foot
Also check out the follow-up issue!
negative numbers not being allowed in pattern matches ... prevents me from shooting myself in the foot
-
Million
Pretty much. I keep asking people "Why not Elm?" ( https://elm-lang.org/ ) but no one has a very good answer.
The weird thing to me is that the two main customers or consumers of front-end programming (publishers and users) never see and do not care about the underlying language or implementation! Businesses and other orgs (schools, NGOs, etc.) as well as individuals (FB users, WordPress blogs, etc.) never see under the hood (except when something goes wrong or they deliberately click "View Source", eh?)
Ergo, all this whole Javascript ecosystem is solely for the developers. It's like a giant and largely irrelevant MMORG that we play that produces mostly-working websites and apps almost as a side effect.
"Change my mind?"
- [AskJS] best language to start with?
Cycle.js
-
[AskJS] Opinions In Favor of Coding Document Fragments in JS?
This is the standard way of going about things in Mithril and Cycle. Elm as well doesn't use an XML knockoff for view code- and as a fun fact, the original version of React didn't either.
- What is a really cool thing you would want to write in Rust but don't have enough time, energy or bravery for?
- Solid.js feels like what I always wanted React to be
-
callbag-rs: An implementation of the callbag spec
For example, an FRP framework (created by the same author who later wrote the callbag spec): https://cycle.js.org/
They've been working on the next major version which uses callbags: https://github.com/cyclejs/cyclejs/pull/929
-
Does it make sense to use Scala.js/Laminar in the context of a startup?
TypeScript is relatively mainstream at this point, and I think that's good news. If you want to crank the type-safety and pure FP dials on it to 11, you certainly can do that. I have a project that I've based largely on this post, including the "hardcore" section. However, instead of Redux and otherwise plain React, I've chosen to use Cycle.js and the lessons from this post to use React in a very purely Functional Reactive Programming Way.
-
Flame: A PureScript front-end framework inspired by the Elm architecture
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
-
My Open Source Journey
From now on I was on what I would call a typical open source trajectory. I used the Cycle.js framework to rewrite my frontend and in that process I hit some walls. I eventually figured that the error was on my side and that I was just missing some information to avoid the error. To spare others the hours of debugging I started to contribute small patches to the documentation. At the same time I also found some missing features that I voiced in GitHub issues.
What are some alternatives?
rescript-compiler - The compiler for ReScript.
RxJS - A reactive programming library for JavaScript
MobX - Simple, scalable state management.
purescript - A strongly-typed language that compiles to JavaScript
reflex - Interactive programs without callbacks or side-effects. Functional Reactive Programming (FRP) uses composable events and time-varying values to describe interactive systems as pure functions. Just like other pure functional code, functional reactive code is easier to get right on the first try, maintain, and reuse.
Bacon - Functional reactive programming library for TypeScript and JavaScript
haskelm - Haskell to Elm translation using Template Haskell. Contains both a library and executable.
yew - Rust / Wasm framework for building client web apps
Vue.js - 🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
Cycle.js (react-native) - Cycle.js driver that uses React Native to render
Most.js - Ultra-high performance reactive programming
idris - A Dependently Typed Functional Programming Language