# Reason Workshop @[ReactiveConf](https://reactiveconf.com) 2017
**by: Sean Grove, Jared Forsyth, Daniel Woelfel**
**support team**: Cristiano Calcagno, @reasonvienna - @ryyppy @svensauleau @cezarneaga and @nikgraf in spirit, @matystl, @MyNaartjie
Support and Questions: [Join discord channel](https://discordapp.com/invite/reasonml)
[Workshop Presentation](https://docs.google.com/presentation/d/17CxVRrdw20Mm--ewv4KwxfxTPPuhB8gkxBp98LRaIsM/edit#slide=id.p)
- workshop flow and exercises
[hello-reactive reason project](https://github.com/sgrove/reactiveconf-2017-reasonml-workshop)
- the repo we worked from in the workshop
[Reason syntax](https://gist.github.com/sgrove/a6474d26b77bbf29d19b66ad71527cc9)
- understand how to read it. (ps: old syntax)
- enter its first great features: exhaustive pattern matching, unused variables and _,
destructuring, binding to JS
[BuckleScript Manual](https://bucklescript.github.io/bucklescript/Manual.html)
- type safety
- tree shaking
- fast compilation
[Reason Try](https://reasonml.github.io/try/)
- great to test syntax and check how it compiles to JS
[Writing our first components](https://gist.github.com/sgrove/a9baf2c197e362ac620f89b8f69f3e66)
- start from last file in gist, work your way upwards
- 1. stateless
- 2. reducer component
- 3. bring in external JS libraries (eg. Moment.js)
- 4. effects: aka UpdateWithSideEffects
[Mixing ReasonML into your React apps, Robbie McCorkell - React London September 2017](https://www.youtube.com/watch?v=gZweJw_egaE)
- first workshop didn't get to this part
- we would have seen how [to mix in Reason into a JS app](https://github.com/stephenkingsley/hackerNews-pwa/compare/master...dwwoelfel:master)
ps: Daniel got into Bratislava from SF at 8PM the night before, prepped all night with me, then flew out 3AM the night of.
[Callback Handlers](https://reasonml.github.io/reason-react/docs/en/callback-handlers.html#reading-into-self)
- how to reference component `state` or `props` from a callback.
- going through the entire documentation is recommended
### Participant contributions
add yours too. send a PR.
* [Simple starter repository for ReasonML - @MMiszy](https://github.com/mmiszy/reason-react-simple-starter)
* [Get your ReasonReact setup! A checklist - @cezarneaga](https://gist.github.com/cezarneaga/2f7782471a2be9e16381818392b29cbf)
* ...