-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
4106d7b
commit eaa2149
Showing
11 changed files
with
89 additions
and
89 deletions.
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
# Common California Adapters | ||
# Common Forn Adapters | ||
|
||
This directory contains a number of common example adapters that have been contributed by the community to help first-time California users get on their feet with creating a set for the first time. The reason California does not by default provide any inbuilt adapters, as it does with learning methods, is because it's much more common for people to work with their own custom note formats. For example, a common use-case is to have a series of question/answer formatted notes exported in Markdown from some other app, and the format each person uses will be slightly different, hence why we don't prescribe anything. | ||
This directory contains a number of common example adapters that have been contributed by the community to help first-time Forn users get on their feet with creating a set for the first time. The reason Forn does not by default provide any inbuilt adapters, as it does with learning methods, is because it's much more common for people to work with their own custom note formats. For example, a common use-case is to have a series of question/answer formatted notes exported in Markdown from some other app, and the format each person uses will be slightly different, hence why we don't prescribe anything. | ||
|
||
You can easily create your own adapter scripts in [Rhai], a simple scripting language, by modifying the scripts in here, or by writing your own from scratch. If you need any help, don't hesitate to create a [new discussion]! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,9 @@ | ||
# California Learning Methods | ||
# Forn Learning Methods | ||
|
||
This diretory defines all the learning methods in California. Because this is a tool designed to have many more learning methods implemented rapidly in the future, and to make that as easy as possible, both for Git merge conflicts and for developers writing new methods, we allow all methods to be written in Rhai, a very capable and extensible scripting language for Rust. | ||
This diretory defines all the learning methods in Forn. Because this is a tool designed to have many more learning methods implemented rapidly in the future, and to make that as easy as possible, both for Git merge conflicts and for developers writing new methods, we allow all methods to be written in Rhai, a very capable and extensible scripting language for Rust. | ||
|
||
Each method script defines a few things: a constant called `RESPONSES`, which should be a list of all the responses a user can choose from after they've seen the answer to a question (e.g. `y/n`, `1/2/3/4/5`, `great/good/bad`); a function called `get_weight` that takes in the *method state* for the current term and produces a weighting for it; and an `adjust_card` function that takes in the user's response (which will be one of the elements in `RESPONSES`) and adjusts the method state for that particular card. Note that the filename of the script will be used as its method name, which can be specified on the command line (e.g. `--method <name>`). This does not include the `.rhai` extension. | ||
|
||
Essentially, California operates by having methods store some arbitrary state for each term in a set, which is then stored in the set file, and the method script is later used to determine the weightings of each term in the set. **The weight of a term determines how likely it is to be presented to the user when the system next needs to choose a term to present.** In general, method state should be kept as lightweight as possible to minimise the burden of storing a method state for every single term for large files (which may incur both storage and I/O penalties for the user). | ||
Essentially, Forn operates by having methods store some arbitrary state for each term in a set, which is then stored in the set file, and the method script is later used to determine the weightings of each term in the set. **The weight of a term determines how likely it is to be presented to the user when the system next needs to choose a term to present.** In general, method state should be kept as lightweight as possible to minimise the burden of storing a method state for every single term for large files (which may incur both storage and I/O penalties for the user). | ||
|
||
This project has a general policy of accepting all new methods that are useful, as we want to give people a large choice of what method they use for their own personal learning. Some methods will be intended for cramming, others for longer-term learning, etc. It should be completely possible to implement the full gamut of scientific research on spaced repetition and learning methods through California, all in Rhai! If you would like to submit a new method, please open a [pull request](https://github.com/arctic-hen7/california/pulls) and tell us about it! If you'd like to try out a new method, you can write the Rhai script for it and pass that file to California as a method, and it will happily run it, letting you tweak your method to find the best implementation. | ||
This project has a general policy of accepting all new methods that are useful, as we want to give people a large choice of what method they use for their own personal learning. Some methods will be intended for cramming, others for longer-term learning, etc. It should be completely possible to implement the full gamut of scientific research on spaced repetition and learning methods through Forn, all in Rhai! If you would like to submit a new method, please open a [pull request](https://github.com/arctic-hen7/forn/pulls) and tell us about it! If you'd like to try out a new method, you can write the Rhai script for it and pass that file to Forn as a method, and it will happily run it, letting you tweak your method to find the best implementation. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters