PS Unscripted - simple-json, Browser Frameworks, Love for Rows, Typeclass & Language Server
Channel: PureScript Community
Date: 19/09/2017

PureScript Unscripted, Sept 9, 2017

Simple JSON
0:00 - Simple JSON demo
9:12 - Need type annotation on readJSON
11:34 - Parsing JSON having missing properties
13:03 - Nullable relating to null and undefined

Live-coding tips

22:00 - Animating and operators with Behaviors
30:45 - Webpack-dev-server good for live-coding if don't need state
35:09 - Web audio discussion - https://github.com/newlandsvalley?tab=repositories

Browser DOM framework

39:26 - Browser DOM frameworks experiences
41:00 - * Pux/Elm architecture experiences
41:45 - * React bindings only library for traditional full-control app
43:00 - * Want to see lightweight abstractions on top of React bindings
44:05 - * Can do anything in React. One app hooks all components to redux store
45:45 - * One app wrote components using React bindings, mounted them in Pux app - kinda works
46:35 - * Issues with Elm architecture & virtual DOM, motivation for incremental algebra

Compiler internals                                                                                                                          

51:10 - Should do meetup to discuss compiler internals
52:25 - Compiler spec/docs, poly-kinds, template PureScript?
59:45 - Clean JavaScript code-gen still priority? Want to improve?

Rows

1:03:15 - Data validations using row types in "home-run-ball" library
1:10:36 - Usefulness of variants, enabled by row types
1:14:10 - ACL and permissions using rows?
1:16:45 - Dreaming about IDE features

Typeclass discussion

1:19:14 - How to explain core typeclasses
1:20:32 - Interface & practicality vs study in math
1:22:35 - The "depth" of core typeclasses come from being proven applicable in multiple problems
1:25:37 - Core typeclass interfaces aren't "science", they are defined and studied because they are applicable
1:26:45 - Programmers and mathematicians both define concepts, but math concepts are usually more complete and essential
1:28:12 - Core typeclasses which aren't a math study, like Foldable and Traversable
1:29:30 - Haskell's typeclasses vs PureScript's - Monad & Bind, Applicative & Apply
1:32:10 - Importance of typeclass laws - govern how types interact with others
1:35:30 - Is it ok to use typeclasses for ad-hoc polymorphism?
1:37:40 - Easy to poorly design your own typeclasses, can cause problems
1:42:50 - The common story when we reach for typeclasses in designing everyday code
1:45:12 - No golden rule with typeclasses - learn right way by doing it wrong once
1:49:26 - Pretty-printing discussion

PureScript Language Server Discussion

1:53:42 - Implementing record completions in IDE and other language server details
- http://journal.stuffwithstuff.com/2015/09/08/the-hardest-program-ive-ever-written/
2:10:28 - End