​​On Mon, Mar 26, 2018 at 2:37 PM, Ciprian Dorin Craciun
| So I gave it a quick try...
| The **initial** proposed syntax:
|

This looks good to me.  It's more elaborate than I expected, but that seems okay as long as it's possible to add information gradually. That appears to be the case because much of it is optional.

Perhaps the argument type information, which you've put in a section labeled `contract', should be moved to a section specifically labeled something like `signature' since such contracts are, so far, mostly specific to Racket in the Scheme world.

Also, does your `types' section support the kinds of types that Scheme procedures often support?  For example, `assq' returns either #f or a pair, and the types used in the pair are unspecified.  It looks like it does, through the textual description, but I'm wondering whether you want to specify a machine-readable convention.  Scheme is dynamically typed, so that may not be important, but I'll raise the issue just in case you want to consider it.

My only other comment is that hope that you and Shiro can agree on a format for foreign keys between your databases so that one can link from entries in one of these databases to entries in the other.  That might help eliminate the need to do manual filtering and re-work as changes are made to one or the other.

| Now for self-critique: the proposed syntax might seem to be quite
| "verbose", but please regard this as the "raw" form of the proposed
| data format (what SQL is for databases), because (leveraging
| Scheme's syntax and especially Racket DSL support) we can build more
| simpler abstractions that "build" this "raw" format.

Yes, that makes perfect sense.

Thank you to both you and Shiro Kawai for your work on this.