rocicorp/replicache-old

list of noms sharp edges should we want to extract key functionality

Closed this issue · 1 comments

feel free to directly edit this comment or add your own separate comment

  • Ref.Hash() frequently used instead of Ref.TargetHash()
  • types should implement Stringer, which should have a default limit on how much it will dump high enough that test cases just work
  • canonicalization should be built in
  • zero values should be useful or at lest not sharp (eg marshaling a zero ref panics)
  • thread safety should be explicit
  • something about omitempty: i feel like its frequently a source of mistakes for me, eg rocicorp/replicache-client@08d9200
  • null, zero values should round trip consistently or at least behavior should be clearly articulated
  • nomsdl should maybe be json so less to hold in your head?
  • logging should be tunable
  • function calls that can't fail should not return an error
  • let's not have thingy.thingy eg client db has a dataset, which has a db
  • we don't really need any of the type system. All we're using is a versioned map of key->value, where K=string and V=blob. Interestingly this is the same exact abstraction dolt uses from Noms.
  • GC should be built in - nobody wants to keep the entire history. This isn't useful for any application.