It is becoming common to have web applications with tens of thousands of lines of handwritten Javascript. Javascript, however, is a less than ideal base to build large applications upon.

Javascript, as a language, has grown with several new features being added to the Ecmascript specification that help you manage the complexity. However, it may surprise you to know that many of those features have been present in functional programming languages for a long time and were heavily inspired by them. You can see functional programming’s influence even in many frameworks, libraries, and tools that have come up in the Javascript ecosystem, promoting concepts such as purity, immutability, and declarative programming.

Why PureScript
The best way to bring functional programming to the web is to use a compile-to-javascript language like PureScript. PureScript is a mature, functional programming language which was written from the ground up to interoperate with the Javascript ecosystem. PureScript’s strong static type system and compile time checks ensure quality and correctness of code. PureScript outputs Javascript which is readable and can be debugged with the browser dev tools, and allows seamless interop with the Javascript. You can continue to use existing JS libraries such as React, but with an added layer of safety.


0:00 Start
0:28 Video start
9:53 Jordan’s talk starts
34:13 Jordan’s video ends (No Q&A follows because I was sleeping when this aired :-D)
35:44 James’ talk starts
1:00:08 James’ talk ends
1:00:12 James’ Q&A starts
1:18:10 James’ Q&A ends
1:18:47 Mike’s talk starts
1:22:45 Mike continues talk (had some screen share issues for a minute or so before this)
1:56:49 Mike’s talk finishes
1:57:10 Mike’s Q&A starts
2:14:12 Mike’s Q&A ends
2:21:12 Ben’s talk starts
2:42:10 Ben’s talk ends
2:42:33 Ben’s Q&A starts
2:49:47 Ben’s Q&A ends
2:50:48 – Nate’s talk starts
3:25:35 – Nate’s talk ends
3:25:45 – Q&A on Nate’s talk starts (Nate’s not there, so it’s done by Anupam)

Author: traffic

Leave a Reply

Your email address will not be published. Required fields are marked *