Skip to content

Latest commit

 

History

History

architecture

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

Decisions

The following is an index of all the architecture decisions taken so far. Whenever a new architecture decision report is created, it must be added to the index regardless of its status. For guidance on how to write reports, please refer to the architecture documentation.

  • ADR 1: Use architecture decision reports
  • ADR 2: Move towards static analysis
  • ADR 3: Use TypeScript as implementation language
  • ADR 4: Model browser specific values and computations
  • ADR 5: Don't depend on third party code to produce results
  • ADR 6: Use pure functions, avoid hidden side effects
  • ADR 7: Export/import full namespace, not individual functions
  • ADR 8: Use Option<T> to model optional values
  • ADR 9: Use Result<T, E> to model errors
  • ADR 10: Use Future<T> to model possibly asynchronous computations
  • ADR 11: Use serializable trees with parent pointers, and downward immutability
  • ADR 12: Use side effect free (monadic) questions
  • ADR 13: Use trilean logic for reasoning about possibly unknown results
  • ADR 14: Implement our own command line wrapper package
  • ADR 15: Use (extended) diagnostic in outcomes
  • ADR 16: Use enriched questions (rhetorical questions, optional questions, diagnostic)
  • ADR 17: Use mutable Cache with weak references for memoization
  • ADR 18: Use external layout information
  • ADR 19: Keep layout information optional