Slide 1

Slide 1 text

PureScript Why and What CT Wu wu_ct wuct

Slide 2

Slide 2 text

What it looks like http://try.purescript.org/

Slide 3

Slide 3 text

Why PureScript? • Immutable data • Pure functions • Strict types (side-effects are included) • Fun

Slide 4

Slide 4 text

What other people say https://youtu.be/yIlDBPiMb0o https://youtu.be/IvPBMEYxP-Y

Slide 5

Slide 5 text

How PureScript describes itself • Compile to readable JavaScript and reuse existing JavaScript code easily • We’ve already seen in try.purescript.org/ • https://github.com/justinwoo/purescript-toppokki • Excellent tooling and editor support with instant rebuilds • VSCode supported! • Build real-world applications using functional techniques and expressive types, for example: • https://github.com/justinwoo/purescript-simple-json • https://arthurxavierx.github.io/RealWorldAppComonadicUI.pdf • https://code.fb.com/core-data/open-sourcing-haxl-a-library-for-haskell/ • https://www.yesodweb.com/ http://www.purescript.org/

Slide 6

Slide 6 text

What Phil Freeman says https://gist.github.com/paf31/adfd15fbb1ac8b99fc68be2c9aca8427#why-you-should-use-purescript • PureScript has type classes, and we use them to create very reusable code. Write less code by using a language which allows you to reuse more. • All of these things can be accomplished with the same Traversable instance: • Waiting for a list of AJAX requests to complete • Validating a list of form fields • Ensuring a list of nullable values are all non-null • Finding a list of values which maximizes the value of some function

Slide 7

Slide 7 text

Q & A

Slide 8

Slide 8 text

Learn once, apply everywhere. wu_ct wuct