Skip to content

Instantly share code, notes, and snippets.

@xaviervia
Created March 19, 2017 19:52
Show Gist options
  • Save xaviervia/55cacb6fcd8783625fd2eb11ee819cde to your computer and use it in GitHub Desktop.
Save xaviervia/55cacb6fcd8783625fd2eb11ee819cde to your computer and use it in GitHub Desktop.
2017-03-19
  • Principles: same (except FRP)

  • Features: should be the same

  • Core application logic:

    • No lenses
    • No selectors
    • No emphasis in actions and Symbols (no Symbols)
  • Higher-order reducers (state logic composition): out. There will be a separate paper about that

  • Effects will be renamed: "Continuation in an incremental computation graph" or something of the like. This is the meat of the paper.

    • Note: Literate programming

    • de-zazenify Cell & Graph

      • (['recomputed', 1, 2], ['stable', 1, 2])
    • Cell and its computation result (Either (a, b))

      Cell definition
      
    • Graph of Cells (chained cells)

      Graph definition, maybe?
      maybe just "runGraph", that can be App itself
      
    • "effects": functions that take the continuation and return a Cell

    • How App wires that together

  • Dive into application

    • Explain how each effect works, inlined with the code
    • One gigantic "example" (actual implementation)
      App(
        [
          next => x => x + 1,
          [
            
          ],
        ]
      )
      
  • Debugging: gone. An implementation that is more user friendly would provide the assistive tools. The focus here is the approach, the explanation of the architecture, conceptually

  • Libraries: let's make it go away. Let's make it 100% vanilla to prove the point

  • Gotchas and easter eggs: unless we find new ones related to the new implementation, this should go away

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment