2016-02-23 4:06 GMT+07:00 Adam adam.mlmb@gmail.com:
Marc & list,
Before getting into a specific response, I wish to re-emphasise the high priority I feel this topic has. So better something now than something slightly more perfect in couple years.
...
Would be great if we could clarify this point within 3 weeks from now :D
The reason I push on this now is that the current solution (i.e. solving the problem of implementing user defined formats in the sexp reader) requires use of Gambit functionality that is not exported, and hence or a user to use it a patch to Gambit's internals are needed,
and such patches will always be a hack in some way (they're not futureproof, etc.),
and I feel this problem is of a generality high enough for some kind of solution to be devised for it (so much that the hack not will be needed),
and therefore even a practical yet imperfect solution such as the one I suggested, would be preferable to no solution at all (meaning the hack would remain => problems).
Anyhow with this said, I perfectly agree with your points, and I look forward to that we discuss and clarify this soon as to implement it.
All I need for practical purposes is a functional equivalent of "#C(user-internal-type-name [content of structure of that user internal type, as separate values])", it could look any other way that you suggest.
I'll also want to make *table* contents serializable in my usecase because I need it, e.g. "#C(table eq? ((a . b) (c . d)))", or perhaps "#T(eq? ((a . b) (c . d)))".