HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
evancz
start-app
Elm2015–2016
evancz / start-app · Archived

start-app

DEPRECATED. Moved to elm-lang/html

2Distinct people
3Mentions
0Explicit recommenders
390GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

DEPRECATED. Moved to elm-lang/html

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by week3 dated mentions

Observed mentions: 2015-11-11 17:24:53 UTC to 2016-01-04 22:07:30 UTC. Weeks start Monday, UTC.

012015-11-09 00:00:00 UTC to 2015-11-16 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsNov 92015-11-16 00:00:00 UTC to 2015-11-23 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2015-11-23 00:00:00 UTC to 2015-11-30 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2015-11-30 00:00:00 UTC to 2015-12-07 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2015-12-07 00:00:00 UTC to 2015-12-14 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsDec 72015-12-14 00:00:00 UTC to 2015-12-21 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2015-12-21 00:00:00 UTC to 2015-12-28 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2015-12-28 00:00:00 UTC to 2016-01-04 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-01-04 00:00:00 UTC to 2016-01-11 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsJan 4

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Nov 92015-11-09 00:00:00 UTC2015-11-16 00:00:00 UTC101
Nov 162015-11-16 00:00:00 UTC2015-11-23 00:00:00 UTC000
Nov 232015-11-23 00:00:00 UTC2015-11-30 00:00:00 UTC000
Nov 302015-11-30 00:00:00 UTC2015-12-07 00:00:00 UTC000
Dec 72015-12-07 00:00:00 UTC2015-12-14 00:00:00 UTC101
Dec 142015-12-14 00:00:00 UTC2015-12-21 00:00:00 UTC000
Dec 212015-12-21 00:00:00 UTC2015-12-28 00:00:00 UTC000
Dec 282015-12-28 00:00:00 UTC2016-01-04 00:00:00 UTC000
Jan 42016-01-04 00:00:00 UTC2016-01-11 00:00:00 UTC101

What Hacker News says

3 sources
I started writing a small-to-medium-sized web application in Elm, because I wanted to try out FRP. I mentioned my experiences here: https://news.ycombinator.com/item?id=10726648 In short, Elm has some nice error messages, and it's easy to use at first. But as my app got larger, other factors became major issues: - Elm requires a painful amount of boilerplate code. A lot of this is related to the fact that it tries to do functional programming without many of the customary abstractions. - Elm's FFI (via the ports system) is really painful to use. If you ever need to integrate to third party code, or get a value from the DOM, it's going to require creating a new port in your main module, a new listener in JS, and wiring everything up. - A lot of Elm tools and APIs have bugs. For example, I discovered that if I built my app using the recomme
Read the rest
nded Elm architecture, I couldn't use the debugger. But even some core APIs like Window.dimensions burned me more than once, with things like: https://github.com/evancz/start-app/pull/37 I've started porting the app to Purescript. I used the Purescript book, which is excellent: https://leanpub.com/purescript/read I'm especially happily with Purescript's FFI, and its generally pragmatic attitude. However, Purescript doesn't come with a "blessed" UI library, so you have to pick. I briefly tried the ambitious Halogen library, but the sheer type-system complexity ground me down quickly. I eventually went with the Thermite library, which is a very thin library wrapper of React (< 300 lines of code). So far, Thermite has been very nice, and quite easy to use, though it could use some enhancements and tweaks. Overall, I like Purescript a lot. My basic problem with Elm is that it tries to be very opinionated, with very few escape hatches, so when I got stuck, I tended to get stuck very hard. Whereas with Purescript, it's much easier to drop down to JavaScript, but also to "pop up" and pull a well-known abstraction out of the standard Haskell toolbox if I need one.
In New Adventures for Elm
Elm is a profoundly interesting language, but I've had mixed experiences developing in it. I've been working on a small-but-hairy web app using Elm, and my first reactions are: 1. Elm encourages highly-rigorous state handling, thanks to the React-like "Elm Architecture" https://github.com/evancz/elm-architecture-tutorial/ and features like the Maybe type and ADTs. I rarely worry that I've overlooked some horrible, asynchronous corner case or that something might be null. 2. The Elm architecture requires a considerable amount of boilerplate code, at least relative to something like Ember.js. It's often necessary to thread significant amounts of application state through parameters, for reasons similar to the ones here: https://docs.google.com/presentation/d/1afMLTCpRxhJpurQ97VBH... But when you combine that with the need to use "case" matc
Read the rest
hes everywhere to destructure ADTs, and the fact that you can't define guard expressions (or destructure things nested inside record types), it tends to result in a lot of extra typing. 3. The Elm tooling is a mixed bag. The error message are the best I've ever seen, but the sweet time-travelling debugger just refused to run when I tried to use it with the Elm architecture tutorials. This pattern of brilliance and brokenness feels fairly pervasive at this point. 4. The Elm community can occasionally be a bit frustrating to work with as an outsider. Sometimes, when I run into an issue, I eventually find a GitHub discussion like this: https://github.com/evancz/start-app/pull/37 , where somebody is trying to address an actual issue (one that was biting me, too), and the community is more-or-less throwing up its hands. Also, the Elm community has an occasionally surprising tendency to close GitHub issues quickly, even if it's known that they'll probably need to fix something someday: https://github.com/evancz/start-app/issues/35#issuecomment-1... 5. For me, Elm feels considerably more restrictive than programming in Haskell. 6. Elm's type checker and design do have one huge payoff: Even very complicated apps with lots of tricky asynchronous state tend to work on the first run after they make it past the type checker. This is hugely valuable, and it makes me more inclined to forgive Elm's limitations elsewhere. Overall, Elm is exploring some really important ideas, and it's pushing the general React-style architecture to its logical limits. I think I'd consider it for small- to medium-sized apps with lots of tricky state, and with developers who are strong at functional programming.
In Elm by Example

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.