aboutsummaryrefslogtreecommitdiff
path: root/src/boot/strap/parser.clisp
diff options
context:
space:
mode:
Diffstat (limited to 'src/boot/strap/parser.clisp')
-rw-r--r--src/boot/strap/parser.clisp16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/boot/strap/parser.clisp b/src/boot/strap/parser.clisp
index 53eb4f53..e4862eb5 100644
--- a/src/boot/strap/parser.clisp
+++ b/src/boot/strap/parser.clisp
@@ -585,14 +585,18 @@
(|bpPush| (|%Forall| (|bpPop2|) (|bpPop1|))))
(T (OR (|bpMapping|) (|bpSimpleMapping|)))))
-(DEFUN |bpTagged| ()
+(DEFUN |bpTyped| ()
(AND (|bpApplication|)
- (OR
- (AND (|bpEqKey| 'COLON) (|bpRequire| #'|bpTyping|)
- (|bpPush| (|bfTagged| (|bpPop2|) (|bpPop1|))))
- T)))
+ (COND
+ ((|bpEqKey| 'COLON)
+ (AND (|bpRequire| #'|bpTyping|)
+ (|bpPush| (|bfTagged| (|bpPop2|) (|bpPop1|)))))
+ ((|bpEqKey| 'AT)
+ (AND (|bpRequire| #'|bpTyping|)
+ (|bpPush| (|bfRestrict| (|bpPop2|) (|bpPop1|)))))
+ (T T))))
-(DEFUN |bpExpt| () (|bpRightAssoc| '(POWER) #'|bpTagged|))
+(DEFUN |bpExpt| () (|bpRightAssoc| '(POWER) #'|bpTyped|))
(DEFUN |bpInfKey| (|s|)
(DECLARE (SPECIAL |$ttok| |$stok|))