Skip to content

Latest commit

 

History

History
57 lines (44 loc) · 2.4 KB

TODO.md

File metadata and controls

57 lines (44 loc) · 2.4 KB

FOCUS

  • Focus module on Immutable.js as the underlying backbone of this library (ramda/lodash for Immutable.js)
  • Provide extremely high quality error messages. These should point to exactly where the problems are and tell the developer why they are happening.

TASKS

  • fix functionCurry tests (might need to change functionCurry signature)

  • Implement protocol support for Fns

    • update Fn code to support the new self property. It should use this in type checking as well currying (anywhere that Parameters are used)
  • add support for multi-function type definitions in Protocols

  • add support for immutable generators which can be cloned. Will need to figure out how to add "clone" to the regenerator-runtime

  • do not mutabaly assign name to Fns in def. Instead, invoke update with a deep update to change the name

  • implement assoc

  • implement dissoc

  • implement has

  • implement get

  • add support for use of Protocols as Type declarations of Fns

  • refactor all methods to use defn

    • use namespaces names
    • add descriptions
  • remove this concept from defn

buildMultiFn(protocolNameToDispatcher(name))

Instead, simply update the name and have the update sent down to the dispatcher as well. Dispatchers now support both fns and a protocol at the same time

BUGS

  • currently names of functions are not properly propegated to errors. This is happening because the function is constructed and the meta data is coppied to each layer before the call to def is made. Therefore only the top layer in a multi layer function is updated.