Old browsers

507 views
Skip to first unread message

Max Froumentin

unread,
Aug 23, 2016, 12:45:41 PM8/23/16
to Elm Discuss
Hi there,
Is there an official list of the browsers that the developers of elm support? I've found bits of discussions here and there, but nothing definitive (ie, that will help me introduce elm in a project that has to work in IE8-11).

Running elm in IE8 clearly doesn't work. A quick try at running various programs reveals that elm-reactor uses Object.keys, elm-core uses addEventListener, Platform.js has a misplaced comma at the end of an object definition. All of those make IE8 drop the JS code.

It's understandable if elm devs would choose not to support old browsers. But it would be useful to have a statement about it.

Nick H

unread,
Aug 23, 2016, 3:44:01 PM8/23/16
to elm-d...@googlegroups.com
As far as I know there is no official list, but Elm's compiler output is plain old ECMAScript 5, so I imagine its compatibility table looks the same as this.

--
You received this message because you are subscribed to the Google Groups "Elm Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-discuss+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Nick H

unread,
Aug 23, 2016, 3:48:07 PM8/23/16
to elm-d...@googlegroups.com
summary of that link, regarding IE... Elm should work in IE9 and above.

Even though IE9 doesn't support strict mode, strict mode is backwards-compatible, so it won't cause any issues.

Rex van der Spuy

unread,
Aug 24, 2016, 12:38:39 PM8/24/16
to Elm Discuss
Just wish to alert everyone that Elm's port code will not work with any version of IE without a ployfill for `Object.assign` (https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)

Nick H

unread,
Aug 24, 2016, 12:49:31 PM8/24/16
to elm-d...@googlegroups.com
Ah, well forget everything I said then.

That sounds like it's worth opening a bug report for.

On Wed, Aug 24, 2016 at 9:38 AM, Rex van der Spuy <dandy...@gmail.com> wrote:
Just wish to alert everyone that Elm's port code will not work with any version of IE without a ployfill for `Object.assign` (https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)

--

OvermindDL1

unread,
Aug 24, 2016, 2:37:33 PM8/24/16
to Elm Discuss
It works fine at least in IE11 and Edge, of which my app is tested in and works without issue.  Do you not mean just old versions like IE8 and older (which need to die)?  Or what about 9 and 10 as well?

Max Froumentin

unread,
Aug 24, 2016, 5:23:55 PM8/24/16
to Elm Discuss
It's really about finding what browsers elm code won't run on.
On the project I'm working on, IE8 is in scope because we still have a significant number of users using it. If I want to introduce elm, it's easier to say it runs without a problem than to say some features won't work, or we need to polyfill. Same goes for any old browser with still some market share.

Tim Stewart

unread,
Aug 24, 2016, 10:29:05 PM8/24/16
to Elm Discuss
Don't get me started on IT departments that mandate the use of old, buggy, insecure browsers that no longer have vendor support across their organisations! If their users get hit with browser-based attacks that compromise customer data the org could be liable.


If your customer is worried about losing sales by not supporting IE8 for a public facing site, and they are prepared to pay for the extra work required to support it, I guess that's their call. Or they could get their customers to pay:


React dropped IE8 support this year:


AngularJS dropped IE8 support several versions ago.


Even jQuery no longer supports IE8. 


As Overmind says, it's time to let it die.

Luke Westby

unread,
Aug 25, 2016, 1:32:51 PM8/25/16
to Elm Discuss
There's no occurrence of Object.assign() in code in the Elm platform packages or code generated directly by Elm. The closest thing I could find that might be introducing this is https://github.com/fluxxu/elm-hot-loader/blob/master/hmr.js#L182


Elm programs should be compatible through at least IE9.

Rex, you should file an issue with elm-hot-loader about their use of Object.assign()

Rex van der Spuy

unread,
Aug 25, 2016, 2:13:19 PM8/25/16
to Elm Discuss




Rex, you should file an issue with elm-hot-loader about their use of Object.assign()

Thanks Luke, that must be it! 

Luke Westby

unread,
Aug 25, 2016, 3:14:17 PM8/25/16
to Elm Discuss
You're welcome! I apologize for the terseness of my previous comments, was in a hurry and let that get in the way of friendliness.

Anyway, it would be cool if somewhere on elm-lang.org the intended browser support was spelled out unambiguously. It would help users understand what support they get and which polyfills they need to include for older browsers and it would help maintainers to know how to assess community PRs that use more recent JS and Web API features.

Rex van der Spuy

unread,
Aug 26, 2016, 12:39:39 PM8/26/16
to Elm Discuss


On Thursday, August 25, 2016 at 3:14:17 PM UTC-4, Luke Westby wrote:
You're welcome! I apologize for the terseness of my previous comments, was in a hurry and let that get in the way of friendliness.

Sir, no need to apologize! Your posts are always extremely friendly and helpful :)
I'm always posting in-between rushed breaks at work too.

I've submitted an Issue to elm-hot-loader - thanks again! 
Reply all
Reply to author
Forward
0 new messages