Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ReasonML - Front in Vale 2018

ReasonML - Front in Vale 2018

Ana Luiza Portello

August 11, 2018
Tweet

More Decks by Ana Luiza Portello

Other Decks in Programming

Transcript

  1. Javascript foi pensado em 10 dias pelo Brendan Eich em

    1995 para fazer sites interativos
  2. • Mudar de um ecossistema para outro. • Necessidade de

    reescrever o projeto do 0. • Problemas com Interop. • Maioria das tools e frameworks são para o JS.
  3. Mantida e usada pelo Facebook Se tornou open source em

    2016 Criado pelo Jordan Walke (criador do React) Sintaxe em cima do OCaml e inspirada em JavaScript
  4. Linguagem da familia ML(SML, OCaml, Haskell) Conhecido pela sua mantenabilidade

    Décadas de pesquisa em sistemas de tipos e engenharia de compiladores tops
  5. let add = (a, b) => a + b; Inferencia

    de Tipos val add: Int => Int => Int
  6. /* REASON */ let add = (a, b) => a

    + b; /* JS + FLOW / TYPESCRIPT */ const add = (a: number, b: number): number => a + b;
  7. let add = (x, y) => x + y; let

    inc = add(1); inc(10); /* 11 */
  8. let multiply = (x, y) => x * y; let

    multiplyBy10 = multiply(10); multiplyBy10(10); /* 100 */
  9. type color_type = White | Black let colorHex = (color)

    => switch(color) { | White => “#FFFFFF” | Black => “#000000” _ => “#999999” };
  10. JSX

  11. NOME/ README.md node_modules/ public/ favicon.ico index.html src/ index.re index.css app.re

    app.css Logo.svg package.json bsconfig.json { "name": <app-name>, "sources": [ "src" ], "bs-dependencies": [ "reason-react", "bs-jest", ], "reason": { "react-jsx": 2 }, "bsc-flags": [ "-bs-super-errors" ], "refmt": 3 } bsconfig.json = package.json + .babelrc + .eslintrc
  12. Documentação Ocaml caml.inria.fr/pub/docs/manual-ocaml/ Documentação BuckleScript bucklescript.github.io/bucklescript/Manual.html Documentação Reason reasonml.github.io/docs/en/quickstart-javascript.html Documentação

    ReasonReact reasonml.github.io/reason-react/docs/en/installation.html Reason Package Index redex.github.io/ Exploring Reason reasonmlhub.com/exploring-reasonml