The 2nd "last call" draft is posted on the site (has been for a while now).
This draft is the results of the discussions between Brian, Clark and myself
when I was in the USA. Having face-to-face discussions with Brian and Clark
helped a lot to clarify issues, but it is a sign of the maturity of the spec
that we haven't felt the need to change anything significant as a result.
The new draft includes all the changes we discussed since the last one,
- No more #TAB.
- Moved all types other than !map, !seq and !str to the types repository.
They are _not_ in "last call", at least "officially"; we should freeze each
- The sections were re-ordered: 1- Introduction, 2 - Preview, 3 - Syntax, 4
- Information models, 5 - Type families.
- The "unknown types" proposal is now explicit in the spec. Hence implicits
no longer require () (e.g., Booleans are now "yes"/"no", floats may be
".inf" etc.). This should make config file users happy.
- Other minor "polish" changes we've discussed: change \z to \0, associate
mutability with collections, change format separator to '#', have the '-'
count as indentation, clean up escaping in type family shorthands.
- Various re-wording, especially in relation with the info model.
The goal was to be able to answer most of the FAQ questions (e.g., the key
order issue) with a direct quote from the spec. I think/hope we did a good
job in that. The spec is 58 pages long (this doesn't include the various
type families). I feel that's pretty compact considering its thoroughness.
All in all I feel this is a significant improvement to the previous draft
(the intention has only changed very slightly, I'm referring to the quality
of the draft itself).
We also had some useful discussions about YPATH and YSCHEMA. If this draft
doesn't touch off a new "last minute issue" (as they have been known to in
the past :-), we could/should move on to discussing these issues here on the
Share & Enjoy,