An experimental Racket library providing an abstraction for values associated with external resources that allows automatic resource pooling, per-thread virtual construction, and monadic composition
When a pool lease is disposed, a function could take the value and return a refresh event that does two things:
Perform any necessary "refreshing" cleanup logic on the value that must happen before it may be reused, such as closing open database transations on a database connection
Return a boolean as its synchronization result where a false result indicates that the value can't be reused, such as a connection that's been forcibly terminated
A single function of type (-> any/c (evt/c boolean?)) applied to the leased value can handle both use cases.
When a pool lease is disposed, a function could take the value and return a refresh event that does two things:
A single function of type
(-> any/c (evt/c boolean?))
applied to the leased value can handle both use cases.Obsoletes #70