Popularity
3.3
Stable
Activity
0.0
Stable
18
2
4
Monthly Downloads: 1
Programming language: Elixir
License: MIT License
supermemo alternatives and similar packages
Based on the "Algorithms and Data structures" category.
Alternatively, view supermemo alternatives based on common mentions on social networks and blogs.
-
matrex
A blazing fast matrix library for Elixir/Erlang with C implementation using CBLAS. -
simple_bayes
A Naive Bayes machine learning implementation in Elixir. -
exconstructor
An Elixir library for generating struct constructors that handle external data with ease. -
erlang-algorithms
Implementations of popular data structures and algorithms -
remodel
:necktie: An Elixir presenter package used to transform map structures. "ActiveModel::Serializer for Elixir" -
parallel_stream
A parallelized stream implementation for Elixir -
MapDiff
Calculates the difference between two (nested) maps, and returns a map representing the patch of changes. -
merkle_tree
:evergreen_tree: Merkle Tree implementation in pure Elixir -
bloomex
:hibiscus: A pure Elixir implementation of Scalable Bloom Filters -
exmatrix
Elixir library implementing a parallel matrix multiplication algorithm and other utilities for working with matrices. Used for benchmarking computationally intensive concurrent code. -
the_fuzz
String metrics and phonetic algorithms for Elixir (e.g. Dice/Sorensen, Hamming, Jaccard, Jaro, Jaro-Winkler, Levenshtein, Metaphone, N-Gram, NYSIIS, Overlap, Ratcliff/Obershelp, Refined NYSIIS, Refined Soundex, Soundex, Weighted Levenshtein) -
DeepMerge
Deep (recursive) merge for maps, keywords and others in Elixir -
dataframe
Package providing functionality similar to Python's Pandas or R's data.frame() -
ecto_materialized_path
Tree structure & hierarchy for ecto models -
Conrex
An Elixir implementation of the CONREC algorithm for topographic or isochrone maps. -
bitmap
Bitmap implementation in Elixir using binaries and integers. Fast space efficient data structure for lookups -
murmur
:speech_balloon: An implementation of the non-cryptographic hash Murmur3 -
paratize
Elixir library providing some handy parallel processing facilities that supports configuring number of workers and timeout. -
exor_filter
Erlang nif for xor_filter. 'Faster and Smaller Than Bloom and Cuckoo Filters'. -
Mappable
Simple module that provides unified, simple interface for converting between different dictionary-like data types in Elixir.
Bot detection and prevention for Elixir/Phoenix applications
Paraxial.io is bot detection and prevention for Elixir/Phoenix applications. Dealing with scrapers, card cracking, or credential stuffing? We take care of that.
Promo
paraxial.io
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of supermemo or a related project?
README
Supermemo
A library for calculating the next time a flashcard should be shown.
Based on the Supermemo 2 algorithm described here and the Ruby implementation of it used in dpwright/srs.
Install
Add Supermemo to your mix.exs:
def deps do
[ {:supermemo, "~> 1.0.0"} ]
end
Usage
# Initial rep
rep = Supermemo.rep(1)
# %Supermemo.Rep{due: %Timex.DateTime{calendar: :gregorian, day: 29, hour: 5,
# minute: 45, month: 11, ms: 0, second: 18,
# timezone: %Timex.TimezoneInfo{dst_abbreviation: "UTC", dst_end_day: :undef,
# dst_end_time: {0, 0}, dst_name: "UTC", dst_start_day: :undef,
# dst_start_time: {0, 0}, full_name: "UTC", gmt_offset_dst: 0,
# gmt_offset_std: 0, standard_abbreviation: "UTC", standard_name: "UTC"},
# year: 2014}, e_factor: 2.6, interval: 1, iteration: 1, repeat: false}
# Do a rep with the card and get a new score.
rep = Supermemo.rep(1, rep)
# %Supermemo.Rep{due: %Timex.DateTime{calendar: :gregorian, day: 4, hour: 5,
# minute: 45, month: 12, ms: 0, second: 23,
# timezone: %Timex.TimezoneInfo{dst_abbreviation: "UTC", dst_end_day: :undef,
# dst_end_time: {0, 0}, dst_name: "UTC", dst_start_day: :undef,
# dst_start_time: {0, 0}, full_name: "UTC", gmt_offset_dst: 0,
# gmt_offset_std: 0, standard_abbreviation: "UTC", standard_name: "UTC"},
# year: 2014}, e_factor: 2.7, interval: 6, iteration: 2, repeat: false}
# Another rep
third_rep = Supermemo.rep(0.8, rep)
# ...