I was thinking about Json-LD and ActivityPub libraries... thoughts?
@tindall Ok so here's a try. An important question is always "are you working with an 'open world system' or a 'closed world system'." AP is by necessity an open world system... we don't presume we are so full of ourselves as to believe that the social web is one specific set of terms that can't be expanded on and that we know what all of them are here and now!
Given that, strong type'y systems tend to be built for closed world systems, same with records with specific slots. How to manage?
@tindall Keep in mind also you said the set of all properties, and since it's an open world, we must assume the set of all *possible* properties and types is infinite. However each application will only concern itself with a finite number of them, so that's the source of hope.
@cwebber that's exactly what I was trying to solve there. By providing a stringly-typed storage for properties we can't force into our type safe model we remain compliant, extensible, and type safe.
@cwebber @tindall you may find my implementation of the types of scuttlebutt in haskell a useful example http://hackage.haskell.org/package/scuttlebutt-types-0.4.0/docs/Ssb-Types-Message.html
Note particularly the Message AnyContent type, and narrowParse