A Whirlwind Tour of PureScript
YOW! Lambda Jam 2016
The following was given at YOW! Lambda Jam 2016 on 28–29 April. Thank you all who attended. 😊
The material for the workshop (which includes the game I presented during the talk) is available on my GitHub profile: https://github.com/damncabbage/ylj16-workshop
This talk and workshop/jam will introduce you to PureScript, a strongly-typed, Haskell-inspired programming language that compiles to JavaScript. These sessions will focus on building a small game in incremental steps, from simple functions to a web-based app, giving you a chance to try out features and libraries along the way. You should leave the session with a grasp of PureScript fundamentals, and a self-sufficiency to tackle your own projects and experiments.
Talk Prerequisites:
- Basic programming experience; the talk is explicitly targeted at a range of experience levels. A familiarity with Haskell and JavaScript will help you understand more of the talk, but is not a strict requirement.
Workshop/Jam Prerequisites:
- Hardware: a computer capable of running a provided VirtualBox VM, with ~15GB disk space to allow for a VM image, and at least a spare 1GB RAM for running the same.
- At least a passing familiarity with both Haskell and JavaScript; a little is fine, but absolutely none of either will leave you lost.
Useful Extras:
- An internet connection via a 3G/4G-connected device like a phone or tablet. (This will NOT be provided by YOW! or the venue.)
Optional Preparation:
- If you want to get your feet wet with Haskell, the Yorgey CIS194 lecture introduction gives you a broad overview, which can be followed up with sample chapters from the “Haskell Book”. Additionally, Chris Allen’s “Modeling Data in Haskell for Beginners” talk also covers a slew of useful concepts.
- If you’ve not touched JavaScript before, I’d recommend reading some of the freely-available book, “Eloquent JavaScript”.
- If you want to get a head start, the “PureScript by Example” book is a handy learning reference, but it’s best tackled after dabbling in the above first.