Skip to content

Commit 8ec0c87

Browse files
committed
update developer guide, help
1 parent 3b0816c commit 8ec0c87

File tree

4 files changed

+53
-7
lines changed

4 files changed

+53
-7
lines changed

docs/make.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ makedocs(
6969
"Changing the Layout" => "layout.md",
7070
"Plot Model Process" => "plot_model.md"
7171
],
72+
"Help and Issues" => "issues.md",
7273
"Performance Tips" => "performance_tips.md",
7374
"API" => "api.md",
7475
"Developer Guide" => "developer_guide.md"

docs/src/developer_guide.md

Lines changed: 32 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,37 @@
1+
# Contributing
2+
3+
If you are interested in contributing, please open an issue and propose changes or additions you think would be beneficial. After discussion and approval, create a fork of the repository, and submit the changes via a pull request. Please review the guidelines described below.
4+
15
# Style Guide
26

3-
The code written in SequentialSamplingModels.jl follows the guidlines presented in the .[JuliaFormatter.toml](https://github.com/itsdfish/SequentialSamplingModels.jl/blob/master/.JuliaFormatter.toml) file, which is inspired by [blue style](https://github.com/JuliaDiff/BlueStyle). You may run the formatter locally by loading SequentialSamplingModels into your session and running ` JuliaFormatter.format(SequentialSamplingModels)`. All PRs undergo a formatting check, which will provide suggestions if you forget to run the formatter locally.
7+
The code written in SequentialSamplingModels.jl follows the guidlines presented in the .[JuliaFormatter.toml](https://github.com/itsdfish/SequentialSamplingModels.jl/blob/master/.JuliaFormatter.toml) file, which is inspired by [blue style](https://github.com/JuliaDiff/BlueStyle). You may run the formatter locally by loading SequentialSamplingModels into your session and running ` JuliaFormatter.format(SequentialSamplingModels)`. All PRs undergo a formatting check, which will provide suggestions if you forget to run the formatter locally.
8+
9+
# API
10+
11+
In this section, we provide a high-level overview of the API. We recommend reviewing the code for the [Lognormal Race Model](https://github.com/itsdfish/SequentialSamplingModels.jl/blob/master/src/multi_choice_models/LNR.jl) for a simple example illustrating the implementation of a model.
12+
13+
## Types
14+
15+
The type system current consists of the following abstract model types:
16+
17+
- `SSM1D`: abstract SSM for univariate reaction time distributions
18+
- `SSM2D`: abstract SSM for joint choice, reaction time distributions
19+
- `ContinuousMultivariateSSM`: abstract SSM for continuous multivariate distributions
20+
21+
Most models can be implimented as sub-types of one of the three abstract types above. When adding a new model, create a new abstract type so users can develop alternative implementations as needed.
22+
23+
## Methods
24+
25+
The following methods are required for each new model. Defining new methods for other functions in the API (e.g., `length`) is typically not required.
26+
27+
- `increment!`
28+
- `logpdf`
29+
- `pdf`
30+
- `plot_model`
31+
- `rand`
32+
- `simulate`
33+
34+
Only export (make public) types and methods that are intended for users. Other methods are implementational details for interal use.
435

536
# Documentation
637

@@ -56,9 +87,6 @@ For the benefit of other developers, err on the side of providing doc strings fo
5687

5788
Provide a detailed model walk through for the online documentation under the section `Models`. The walk through should include a description of the model, an explanation of the model parameters, and a demonstration showing the pdf overlayed on the histogram (if applicable). Please use existing model examples as a template.
5889

59-
# API
60-
61-
Only export (make public) types and methods that are intended for users. Other methods are implementational details for interal use.
6290

6391
# Unit Tests
6492

@@ -79,6 +107,3 @@ To ensure consistency across models, please use the following variable names:
79107

80108
Use variable names that are descriptive unless there is a strong mathematical convention for a particular variable name. When appropriate, use verbs to describe functions. For example, use `summarize(model)` instead of `summary(model)`. Use lower case for variables, and capitalize the first letter of package names, types, and constructors. Use underscore to separate words. For example, name a file `developer_guide.md` instead of `developerguide.md`.
81109

82-
# Contributing
83-
84-
If you are interested in contributing, please open an issue and propose changes or additions you think would be beneficial. After discussion and approval, create a fork of the repository, and submit the changes via a pull request.

docs/src/index.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,9 @@ logpdf(dist, sim_data)
7070
histogram(dist)
7171
plot!(dist; t_range=range(.3,2.5, length=100), xlims=(0, 2.5))
7272
```
73+
# Contributing
74+
75+
If you are interested in contributing, please review the [developer guidelines](developer_guide.md) before beginning.
7376

7477
# References
7578
Evans, N. J. & Wagenmakers, E.-J. Evidence accumulation models: Current limitations and future directions. Quantitative Methods for Psychololgy 16, 73–90 (2020).

docs/src/issues.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Issues
2+
3+
If you encounter a bug or issue, please submit an issue on [GitHub](https://github.com/itsdfish/SequentialSamplingModels.jl/issues). Be sure to include the following details in the issue:
4+
5+
1. A concise description of the problem, including the error message
6+
2. A minimum working example that demonstrates the issue you encountered.
7+
3. The version of Julia, SequentialSamplingModels.jl and dependencies you are using
8+
9+
Please use the formatting features for code and error messages.
10+
11+
# Feature Requests
12+
13+
Open an issue on [GitHub](https://github.com/itsdfish/SequentialSamplingModels.jl/issues) to propose a feature that would be of general interest to the larger modeling community.
14+
15+
# Help
16+
17+
If you need help, feel free to start a thread on [Discourse](https://discourse.julialang.org/) or the [Discussions](https://github.com/itsdfish/SequentialSamplingModels.jl/discussions) forum for SequentialSamplingModels.jl

0 commit comments

Comments
 (0)