Reason (ML) Notes

The author of React has created a programming language named “Reason”. The following video provides a good overview of the timeless principles at work here:

Notes:

  • Compile to JS or Native
  • build an application that is fast and that doesn’t break when it’s extended and I keep finding that it’s just way way too hard to do that so I end up working on languages and frameworks with the goal
  • mutation brings pain
  • syntax matters
  • Reason picks up where React left off
  • Brings the things people like about React to the entire programming language
  • Who is the person who matters the most? (the user)
    • Bugs
      • Reason can prevent a large class of bugs ahead of time
    • Performance
      • Users want fast startup time, more predictable performance, etc.
      • JITs can be amazing, but they are fairly unpredictable because they rely on heuristics that are hard to pin down ahead of time.
      • Best user experience, you can’t afford the complexity of the Javascript language. JS developers can be in denial about this.
      • Ultimately any library that’s authored in JavaScript is held captive by JavaScript you really only be used in so many scenarios.
  • Native
  • If we want to get web developers on board with the native development development workflows we need something that’s familiar it’s got to be one click we need something that’s easy.
    • https://esy.sh
      • reimplementation of package management
      • React for package management
      • native C programs and C++ libraries
      • supports Javascript
  • One language the improves the user experience across a wide variety of use cases and constraints.