Lightning Talk notes:
Write some docs:
There's a ReasonML book! Web Development with ReasonML: Type-Safe, Functional Programming for JavaScript Developers by J. David Eisenberg | The Pragmatic Bookshelf
Something
Cypress
bindings!
AWS lambda OCaml. Just staticky linked executable.
https://github.com/anmonteiro/aws-lambda-ocaml-runtime
Elm-like decoders for ReasonML
https://github.com/mattjbray/ocaml-decoders
Works in native and browser
D.decode_value D.int json;;
D.decode_string D.int "1";;
Polymorphic variant
Structural.
Allow two libraries to use the same bindings.
Error messages can be crappy.
{. "structually": "string}
ReasonML video course!
Learn ReasonML | Learn ReasonML
Arefs, the full full stack
10k camp 50k reason lines in website 600,000 lines generated
Atdgen (dojo)
ReLearning stuff (teaching co-workers)
- Unit as a last argument is confusing
- don't do them, so you don't have to pass unit
- Optional Arguments are great for non-breaking changes
Linked lists V.S. Array
"BuckleScript"? Belt???
Custom Operators
Can be useful for monadic operations
Reason # let (or) (x, y) = switch (x) {
| None => y
| Some(_) as x => x
}
;
let ( or ): (option('a), option('a)) => option('a) = <fun>;
Reason # Some("cool") or Some("not cool");
- : option(string) = Some("cool")
Reason # None or Some("not cool");
- : option(string) = Some("not cool")
RFCs
Works at Stockholm Research Center
- ReasonSTHLM creates
- ReasonableCoding Livestream (Pony too!)
- Reason Design Patterns