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