I've just published draft #2 of SRFI 176.  It was submitted by Lassi Kortela, author of the SRFI.


Lassi has asked me to announce "last call" for this SRFI.  He believes that it is ready for finalization, but would like to give reviewers one last chance to submit corrections and feedback before we finalize it.

In particular, I appeal to anyone reading this to try the sample implementation, run the tests, and send feedback about your results.

If you're interested in this SRFI, please give your feedback via the SRFI 176 mailing list before 2020/2/15.  After that, assuming that no major revisions are required, we will declare it final.

Here are Lassi's comments on the draft:

Since there are so many commits, this summary will be easier to read:
* Sample implementation:
- Lots of new code, including:
   - Sample main program for "Fantastic Scheme", written in C.
   - Parsers for sed|grep, awk, C, and various Lisp dialects.
   - Code to generate timestamps, fetch git info, etc.
* New behavior:
- A (version-alist) procedure has been added.
- Runtime option (-:version) and standalone executables have been addressed.
* Changed behavior:
- Parsing has been simplified. Duplicate alist entries are no longer merged.
- Properties have been renamed to form a consistent hierarchy; details below.
- Date and time properties are now based on RFC 3339.
* Clarifications:
- Edge cases in LOSE syntax and command line handling have been clarified.
- Survey of existing flags has been turned into an easier-to-read table.
- Unnecessary prose has been removed.
* Renamed properties:
   - language     -> languages
   - scheme-id    -> scheme/id
   - features     -> scheme/features
   - library-path -> scheme/path
   - release-date -> release/date
   - release-name -> release/name
   - build-date   -> build/date
   - configure    -> build/configure
   - platform     -> build/platform
   - image-date   -> image/date    - image-file   -> image/file
* Removed properties:
   - revision          (broken into build/git/... properties)
   - platform-os       (too complex; use build/platform and os/uname)
   - platform-computer (too complex; use build/platform and os/uname)
   - platform-bits     (too vague; use c/type-bits)
* New properties:
   * General properties
     - encodings
   * Build properties
     - build/git/tag
     - build/git/branch
     - build/git/commit
     - build/git/modified
   * Scheme properties
     - scheme/srfi
   * C properties
     - c/version
     - c/compile
     - c/link
     - c/type-bits
  - Java virtual machine properties
     - jvm/...
  - Operating system properties
     - os/env/...
     - os/uname

Here is the commit summary:
Here's the diff:



SRFI Editor