nyan
nyan copied to clipboard
Typesafe hierarchical key-value database with inheritance and dynamic patching :smiley_cat:
We could add some means of documentation format (like the python docstrings). That would allow generation of API pages, so mod developers can use this as reference instead of looking...
nyan object members and sets with nyan object set types only allow non-abstract objects by default. This limitation is meant to ensure that when retrieving the object, all members are...
This kind of a design flaw, which we have to resolve. The problem is that currently it is impossible that values in `set`s can be added and removed at the...
With the amount of upcoming changes we probably should add a **.travis.yml** as a temporary solution (as long as our own solutions aren't ready) to check if nyan is building...
For the forum and other platforms it would be nice to add nyan lang to [highlight.js (Syntax highlighting for the Web)](https://highlightjs.org/) so nyan files are easier to read for example....
Example: ``` python Archer(Unit): firerate : float = 0 Crossbowman(Archer) firerate = 12 Longbowman(Archer): firerate = 10 ThumbRing(Technology): ThumbRing1(): firerate *= 1.2 ThumbRing2(): firerate *= 1.2 patches = {ThumbRing1, ThumbRing2}...
Tests
A suggestion for testing (what I am using in jnyan): ``` tests ├── 001 │ ├── main.nyan │ └── sim │ ├── 001.txt │ └── 002.txt └── 002 ├── engine.nyan ...
These are already described in the specification, but not implemented yet. They are necessary when an object inherits from multiple parents and name conflicts occur. The name qualifications can explicitly...
The keyframe storage lookup requires `log(n)` steps at maximum when there are `n` keyframes stored. We could speed that up by looking more at the "end", because that is the...
The file contents loaded from `util::read_file` can be used to optimize the storage requirements for Tokens (especially `value`) using `std::string_view` instead of `std::string`.