aboutsummaryrefslogtreecommitdiff
path: root/qklib/infix/rule-set.scm
diff options
context:
space:
mode:
authorMasaya Tojo <masaya@tojo.tokyo>2024-09-04 00:37:27 +0900
committerMasaya Tojo <masaya@tojo.tokyo>2024-09-04 00:37:27 +0900
commit0b5bb6dd3f81e12798a13deff22d74528a545211 (patch)
treea3d3b60f8e4679d20c2708ef4469791314b29769 /qklib/infix/rule-set.scm
parent7460f2ae88e656ab57e5682d5689f5521e397437 (diff)
Support unary operator
Diffstat (limited to 'qklib/infix/rule-set.scm')
-rw-r--r--qklib/infix/rule-set.scm11
1 files changed, 7 insertions, 4 deletions
diff --git a/qklib/infix/rule-set.scm b/qklib/infix/rule-set.scm
index f193055..5d8908a 100644
--- a/qklib/infix/rule-set.scm
+++ b/qklib/infix/rule-set.scm
@@ -31,6 +31,7 @@
unit?
unit-value
unit-inv?
+ unit-unary?
prefix
prefix?
@@ -123,12 +124,14 @@
(make-prefix symbol fix?))))
(define-record-type <unit>
- (make-unit value inv?)
+ (make-unit value inv? unary?)
unit?
(value unit-value)
- (inv? unit-inv?))
+ (inv? unit-inv?)
+ (unary? unit-unary?))
(define unit
(case-lambda
- ((value) (make-unit value #f))
- ((value inv?) (make-unit value inv?))))))
+ ((value) (unit value #f))
+ ((value inv?) (unit value inv? #f))
+ ((value inv? unary?) (make-unit value inv? unary?))))))