A quick first look for now:

In general I think that you should clone phobos and merge orange into std.serialize in order for us to see how it really fits into phobos.

As such I think it feels more like a RFC than formal review because it couldn't possible go into phobos in its current state even if we ignored all comments from the this list.

Now for something more constructive :)


* I'm using some utility functions located in the "util" and "core"
packages, what should we do about those, where to put them?

The core package only have the core.Attribute module which defines a meta attribute which is a new concept in phobos. I guess that should either be removed or we should spawn a discussion about if we want such a thing or not. Is it possible to do without it?

The util package
----------------

util.use.d : I think the Use struct feels a bit like abusing the 'in' operator to work around D not supporting blocks or something else that would provide the desired syntax. Personally I think it should go.

util.traits.d : Most of them should go to std.traits or use something from std.traits instead if possible

util.reflection.d : Should probably be part if std.traits as well since there are already some reflection code in there. I guess std.traits should make use of the new package.d thing to split up the module into several files.

util.ctfe.d : Wouldn't now where to put it.

util.collection.array : should probably go into std.exception


It seems all the module filenames are camel cased. They should be all lowercase.

The _.d modules should probably be renamed to package.d now.


* The unit tests are located in its own package, I'm not very happy about putting the unit tests in the same module as the rest of the code, i.e. the serialization module. What are the options? These test are
quite high level. They test the whole Serializer class and not
individual functions.

IMHO I think the tests would fit nicely into the package itself. Close to the code it tests.

https://dl.dropboxusercontent.com/u/18386187/orange_docs/Serializer.html

Could you provide the docs formatted as it would be in dlang.org since only that way it is also possible to review formatting.

Keep up the good work. I for one are really looking forward to finally getting this thing in.

/Jonas


Reply via email to