<commit_before>
# Other implementations

Boost.Future generally follows the same pattern used in Java/C++11 futures, where it's expect that a future is a task being processed on another thread. We're more interested in providing a thread-safe, but implementation-agnostic set of handlers: distributing work across threads is a user decision.

Current wording from [Boost.Thread](http://www.boost.org/doc/libs/1_58_0/doc/html/thread/synchronization.html#thread.synchronization.futures) mentions this in the documentation for .then:

    One option which can be considered is to take two functions, one for success and one for error handling. However this option has not been retained for the moment.

i.e. there's no error callback for .then, so we'd either need to patch that, or add a separate .else (not quite the same semantics, although it can be made to work).
<commit_msg>Tidy up Boost.Future comparison slightly<commit_after>
# Other implementations

## Boost.Future

Boost.Future generally follows the same pattern used in Java/C++11 futures, where it's expected that
a future is a task being processed on another thread. We're more interested in providing a thread-safe,
but implementation-agnostic set of handlers: distributing work across threads is a user decision.

Current wording from [Boost.Thread](http://www.boost.org/doc/libs/1_58_0/doc/html/thread/synchronization.html#thread.synchronization.futures) mentions this in the documentation for .then:

    One option which can be considered is to take two functions,
	one for success and one for error handling. However this
	option has not been retained for the moment.

i.e. there's currently no error callback for then(). This means we'd either need to patch that, or add
a separate .else()

{'fraction_non_alphanumeric': 0.06420454545454546, 'fraction_numerical': 0.006818181818181818, 'mean_word_length': 4.626198083067092, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6550387', 'n_tokens_mistral': 472, 'n_tokens_neox': 441, 'n_words': 231}