Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
PureScript Conf 2015
Clone this wiki locally
PureScript Conf is a free, one-day conference concentrating on the PureScript language and its libraries.
PureScript Conf is sponsored by SlamData, an open source company that builds analytics and reporting software for NoSQL data stores.
PureScript Conf will be colocated with LambdaConf.
1050 Walnut Street
Boulder, CO 80302
Please do NOT enter the main entrance of Suite 202; look for signs that will direct you to a side entrance.
PureScript Conf will be held on Thursday, May 21st 2015, the day before LambdaConf.
- Sessions: 9:00 - 5:00 PM
- Lunch: 12:00
Instructions for Attendees
You might like to install the PureScript compiler in advance, so that you can follow along with the talks and examples:
- Install the PureScript compiler for your operating system.
- Install Node and the NPM package manager
- Install the
pulpcommand line tool (
npm install -g pulp)
In this introductory talk, John A. De Goes talks about reasons why you should (or should not) choose PureScript for a new project, and gives a demo of SlamData, a rich web application built in PureScript (and quite possibly the largest PureScript application ever developed).
Crash Course in PureScript
An introduction to PureScript, describing the core principles and features:
- Algebraic data types
- Rank-N types
An assumption is made that you're familiar with functional programming. A version of the presentation without that assumption will be given at BoulderJS on Wednesday the 20th (the day before PureScript Conf).
Principled, Painless Asynchronous Programming in PureScript
Asynchronous programming in the browser or node.js is painful, and error-prone! Promises/A+ "promises" to make that better, but the complexity of the numerous ad hoc specifications ensure plenty of confusion, corner cases, and tangled, incomprehensible code. Fortunately, the PureScript language provides us everything we need to make asynchronous programming sound, comprehensible, type-safe, and easy! In this talk, John A. De Goes reviews the
purescript-aff library and ecosystem, highlighting the power of the library, and showing that asynchronous programming can be just as easy — no, easier! — than synchronous programming. Only a basic knowledge of PureScript is assumed, so this talk can be considered a continuation of earlier presentations.
Reactive UIs with Halogen
purescript-halogen is a new library for developing reactive front-end web applications in PureScript. I will give a brief overview of the ideas behind the library, and we will work through the creation of a simple application from scratch. Bring a laptop!
Introduction to Property Testing with QuickCheck
Making Sense of Project Build & Dependency Management
Things go smoothly when you do as the book instructs, but when you try to do something interesting, the compiler says, "Can't find module". Why can't it find my stuff? In this talk, we'll look at the recommended build tools, discuss what they do, and compare them to similar tools. Project dependency management will also be discussed, as build tools often need to know how it works.
The Future of PureScript (Discussion)
Let's discuss the current state of PureScript, and the changes we want to see in the future. Come and tell us about the features you want to see at PureScript Conf 2016!
- New backends (C++11, Lua, Python, PHP, JVM, ...)
- Optimizations and rewrite rules
- PureScript's killer applications
Call for Speakers
Anyone who would like to present a topic related to PureScript development is more than welcome to do so. Any level of experience is appropriate, although we would like to encourage speakers to prepare something appropriate for a beginner-level audience. If you have a topic, please add the title and a brief description above.
- Phil Freeman (@paf31)
- John A. De Goes (@jdegoes)
- Greg Pfeil (@sellout)
- Brian McKenna (@puffnfresh)
- Isaac Shapira (@fresheyeball)
- Lane Seppala (@laneseppala)
- Chris Wilson (@twopoint718)
- Jon Childress (@jonplussed)
- Grigoriy Belenkiy (@grishace)
- Daniel Santa Cruz (@dstcruz)
- Jeff Simpson (@fooblahblah)
- Jesse Frankley (@numberdotten)
- Graham Lipsman (@glipsman)
- Colt Frederickson (@coltfred)
- Joe Nash (@jna_sh)
- Ben Burdette
- Alan Shen (@sunzenshen)
- Alex Berg (@alex_berg)
- Ryan Tanner (@youfoundryan)
- Tyler Perkins (@thinksoutside)
- Gustavo Gomez
- Sean Garborg (@garborg)
- Peter J. Jones
- Michael Ficarra (@jspedant)
- Connor James
- Talon (@legittalon)
- Dave Rostron (@yastero)
- Garrett Dawson (@killtheliterate)
- Solomon White (@rubysolo)
- Mark Bolusmjak (@z5h)
- Mark Farrell (@markfarrell)
- Ana Chang (@anarchang)
- Emrys Ingersoll (@wemrysi)
- Don Abrams (@donabrams)
- Darin Morrison (@freebroccolo)
- Tyler Prete (@tprete)
- Todd Bernhard
- Jed Schneider (@jedschneider)
- Eric Thomas (@et)
- Mark Nakasone
- Proctor (@stevenproctor)
- Erin Swenson-Healey (@lasericus)
- Beau Lyddon (@lyddonb)
- Matt Williamson (@bizarromatt)
- Matt Elmer (@mattelmer)
- Ryan Orendorff
- Robert Kluin (@robertkluin)
- John Coe (@4tPartySoftware)
- Leif Warner (@pdxleif)
- Kris Nuttycombe (@nuttycom)
- Jerry D'Antonio (@jerrydantonio)
and also on Lanyrd.