records: Add support for 'innate' fields.
authorLudovic Courtès <ludo@gnu.org>
Thu, 11 Jun 2015 20:57:33 +0000 (22:57 +0200)
committerLudovic Courtès <ludo@gnu.org>
Thu, 11 Jun 2015 21:33:32 +0000 (23:33 +0200)
commit8a16d064fa265c449d136ff6c3d3267e314cde8d
treeb564649d1a1e3fd704a5a9efe0cfa5f421252df6
parent792798f48647ef664cfe6fdd7ff313901e383f6c
records: Add support for 'innate' fields.

* guix/records.scm (make-syntactic-constructor): Add #:innate parameter.
  [record-inheritance]: Honor it.
  [innate-field?]: New procedure.
  (define-record-type*)[innate-field?]: New procedure.
  Pass #:innate to 'make-syntactic-constructor'.
* tests/records.scm ("define-record-type* & inherit & innate",
  "define-record-type* & thunked & innate"): New tests.
guix/records.scm
tests/records.scm