From 7c23b2d0fcee30f15dbf27cf26ef280a6dde398e Mon Sep 17 00:00:00 2001 From: Wojtek Kosior Date: Sat, 16 Dec 2023 23:15:21 +0100 Subject: Allow using multiple expressions in field update form. --- src/guile/de-paul-records.scm | 7 +++---- tests/guile/de-paul-records-test.scm | 4 +++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/guile/de-paul-records.scm b/src/guile/de-paul-records.scm index 4b4e91b..5aa05f8 100644 --- a/src/guile/de-paul-records.scm +++ b/src/guile/de-paul-records.scm @@ -135,12 +135,11 @@ (#,(format-identifiers "~a-~a" record-name #'field-name) #,record-base)))))) - ((field-name #:-> value-update-expr) + ((field-name #:-> value-update-expr value-update-expr-rest ...) (identifier? #'field-name) (syntax->field-init #'(field-name #:=> (lambda (field-name) - value-update-expr)))))) - - + value-update-expr + value-update-expr-rest ...)))))) (define-immutable-record-type (make-record-init) record-init? (inherit record-init-inherit record-init-set-inherit) diff --git a/tests/guile/de-paul-records-test.scm b/tests/guile/de-paul-records-test.scm index 95d1cb3..7bcc60d 100644 --- a/tests/guile/de-paul-records-test.scm +++ b/tests/guile/de-paul-records-test.scm @@ -80,7 +80,9 @@ '(begin (define %paren-3001.1 (lisp #:<- %paren-3001 - (name #:-> (string-append name ".1")) + (name #:-> + ((const 'test-noop)) + (string-append name ".1")) (is-syntactically-scoped? #t))) (match `(a . ,%paren-3001.1) -- cgit v1.2.3