YAML implementation for Nim https://nimyaml.org
Go to file
Felix Krause c9dae4430c Fixes #5 2016-02-25 21:16:03 +01:00
bench Code cleanup; reduced compiler hints 2016-02-19 18:25:01 +01:00
doc Implemented and documented DOM 2016-02-22 21:56:30 +01:00
private Fixes #5 2016-02-25 21:16:03 +01:00
server Better error handling in server 2016-02-18 22:01:13 +01:00
test Fixes #5 2016-02-25 21:16:03 +01:00
.gitignore Build proper HTML documentation 2016-01-13 23:19:06 +01:00
README.md Updated README with release info 2016-02-16 20:37:01 +01:00
config.nims Improved docs. Fixed serialization problem. 2016-02-15 22:54:05 +01:00
copying.txt Added copyright 2015-12-28 22:22:51 +01:00
nimdoc.cfg Implemented and documented DOM 2016-02-22 21:56:30 +01:00
nimyaml.nimble Added nimyaml.nimble file 2016-02-16 20:24:34 +01:00
yaml.nim Implemented and documented DOM 2016-02-22 21:56:30 +01:00

README.md

NimYAML - YAML implementation for Nim

NimYAML is currently being developed. The current release 0.1.0 is not considered stable. See the documentation for an overview of already available features.

TODO list

  • Misc:
    • Add type hints for more scalar types
    • Add implementation of YAML document object model, serialize and compose procs
  • Serialization:
    • Support for more standard library types
    • Support polymorphism
    • Support variant objects
    • Support transient fields (i.e. fields that will not be (de-)serialized on objects and tuples)
    • Use concept type class Serializable or something
    • Check for and avoid name clashes when generating local tags for custom object types.
    • Possibly use genSym for predefined and generated yamlTag procs because they are an implementation detail and should not be visible to the caller. same goes for lazyLoadTag and safeLoadUri.

Developers

nim tests # runs all tests
nim parserTests # runs parser tests
nim serializationTests # runs serialization tests
nim documentation # builds documentation to folder docout
nim server # builds the REST server used for the testing ground
nim bench # runs benchmarks, requires libyaml
nim clean # guess
nim build # build a library

Project is tested against current develop branch of Nim. Older Nim versions probably do not work.

License

MIT