Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rethink streams and bytes #16

Open
oubiwann opened this issue Dec 24, 2017 · 3 comments
Open

Rethink streams and bytes #16

oubiwann opened this issue Dec 24, 2017 · 3 comments

Comments

@oubiwann
Copy link
Member

oubiwann commented Dec 24, 2017

The work done on #1 (removal of as many dependencies as possible) resulted in a pause with regard to these libraries:

  • org.flatland/io
  • gloss

It would be nice to not depend upon these old libraries that seem to be doing an enormous amount of work ... work that seems to be overly complex.

If perfect generality wasn't striven for, what might we end up with? How much more simple might the code be, with fewer deps, and maybe even increased efficiency?

Note that both glass and ordered-collections are abandon-ware at this point in time ...

@oubiwann
Copy link
Member Author

In general, I feel that the implementation of much of this library is rather heavy-handed -- perhaps not for the time it was written -- though it does feel that way these eight years later. @pyr came up with a very nice approach to working with protocol buffers in Mesos with his mesomatic project. It seems that there might be a good deal to take inspiration from, in that.

@oubiwann
Copy link
Member Author

It will be easier to work on spikes and implementations for this, once #27 is done (and it's almost there).

@oubiwann
Copy link
Member Author

oubiwann commented Jan 3, 2018

With #27 done, we can experiment with a new implementation that doesn't use the gloss lib, etc., just handles the bytes directly. The Meson library experimented with this for supporting the RecordIO format over the wire.

Would be fun to checkout state-of-the-art byte stream handling in pure Clojure ... with no libs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant