summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-01-23 22:24:47 +0100
committerLudovic Courtès <ludo@gnu.org>2013-01-23 23:33:09 +0100
commitbbb7a00e9a224d812a56c67956efb3e8a840cf0a (patch)
treee5fb41fe2fde5e57431cc472b2981538b266f655 /gnu
parent6798a8e485281f855c0777d3f952b4e02953cfd2 (diff)
downloadguix-bbb7a00e9a224d812a56c67956efb3e8a840cf0a.tar.gz
define-record-type*: Add the `thunked' field definition keyword.
* guix/utils.scm (define-record-type*)[make-syntactic-constructor]: Add
  a `thunked' parameter.
  (thunked-field?, field-bindings): New procedures.  Use the latter when
  generating `letrec*' bindings.
  [thunked-field?, thunked-field-accessor-name, field-spec->srfi-9,
  thunked-field-accessor-name]: New procedures.
  Use them when generating the `define-record-type' form, and to
  generated thunk field accessors, along call to
  `make-syntactic-constructor' with the new argument.
* tests/utils.scm ("define-record-type* & thunked",
  "define-record-type* & thunked & default",
  "define-record-type* & thunked & inherited"): New tests.
Diffstat (limited to 'gnu')
0 files changed, 0 insertions, 0 deletions