-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathTODO
More file actions
24 lines (24 loc) · 1.35 KB
/
TODO
File metadata and controls
24 lines (24 loc) · 1.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
* Migration error messages indicate an index into the migrations list.
But this may not correspond to the index into the migrations list in
the input yaml file because symmetric migrations are resolved into pairs
of asymmetric migrations, and the index in the error messages corresponds
to the index in the list of resolved asymmetric migrations.
Maybe demes-python has this problem too?
* Add function to convert to generations.
* Add function to validate existing graph. Useful for checking validity
after modifying the graph, e.g. converting to generations, or rounding
times or deme sizes to integer values.
* Check error messages all end with newlines \n.
* Use more specific error codes throughout?
* Line numbers are zero-based, so every error message with a line number
needs to add 1.
* Return error messages up the call stack to the library's public functions
(demes_graph_load(), demes_graph_parse()), rather than printing to the
terminal. This makes error propagation much messier, and we must be
careful not to allocate memory for ENOMEM errors, but this is the right
thing to do for a general purpose library.
* Doxygen strings for structs in demes.h
* Check the API docs generated by doxygen.
* Write some documentation.
* Using the non-specific tag specifier, question mark (?), before a value
results in parse failure without an error message.