Skip to content

daniel-vainsencher/iterative_methods_rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

93ff721 · Feb 26, 2022

History

65 Commits
Jan 7, 2021
Feb 26, 2022
Feb 26, 2022
Feb 26, 2022
May 27, 2021
Jun 1, 2021
May 27, 2021
Jan 29, 2021
Jun 1, 2021
Jan 29, 2021
Jan 29, 2021
May 27, 2021
Mar 17, 2021
May 27, 2021

The iterative_methods project implements iterative methods and associated utilities in Rust.

It currently demonstrates the following techniques we find powerful:

  • Implement iterative methods as StreamingIterators.
  • Implement iterative methods utilities as generic adaptors of StreamingIterators.
  • Test non-trivial methods via property testing (quickcheck).
  • Generic output via streaming yaml

If you're not familiar with iterative methods or what the above mean, start here.

Future plans:

  • Expand/stabilize design
  • Add more iterative methods
  • Add higher level utilities
  • Add simple function call interface to methods.

Stability/evolution:

  • The design is actively evolving, breakage is to be expected everywhere. Feedback welcome! email us or open issues on the repo.
  • Some utilities (e.g., take_until) probably belong elsewhere (e.g., {Streaming}Iterator) and so might migrate entirely.

Licensing

This project is dual-licensed under the Apache and MIT licenses. You may use this code under the terms of either license.

Contributing to this repo in any form constitutes agreement to license any such contributions under all licenses specified in the COPYING file at that time.

About

Iterative methods as StreamingIterators

Resources

License

Unknown and 2 other licenses found

Licenses found

Unknown
COPYING
Apache-2.0
LICENSE_APACHE.md
MIT
LICENSE_MIT.md

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published