This rust library aims to provide a simple and efficient but powerful implementation of a spaced repetition algorithm
$$P(t) = e^{-ft} = e^{-\frac{d}{m}t}$$
it does make the assumption though that the user in some way evaluates how each review event went.
provides two ways to adjust the result of the algorithm
For a better understanding of how the code works, read the source! (It is under 150 lines)
Modeling the forgetting curve requires including a bunch of parameters that can be quite arbitrary. To better set these values one would want a dataset of real review events and then try to fit the model to those items that performed the best. This approach though requires familiarity with such methods (which I don't have). Instead of doing this I'll instead rely on trying to best-guess some values and then introduce a way for the user to continuously evaluate the performance of the model. My hope is that I this way empirically can arrive at better default values for further and further revisions until I can create a fully data driven approach.
This library does not: - handle failed reviews (forgotten items). Instead the library user needs to decide how such items needs to be handled. - automatically update all parameters to better model the real forgetting curve
see ./LICENCE