See #1449.
https://github.com/factor/factor/issues/1449
"final"
"SLOT:"
"T{"
+ "TH{"
"UNION:"
"INTERSECTION:"
"USE:"
[ bad-literal-tuple ]
} case ;
+: parse-tuple-hash-literal-slots ( class slots -- tuple )
+ scan-token {
+ { "{" [ 2dup parse-slot-values assoc>object ] }
+ { "}" [ drop new ] }
+ [ bad-literal-tuple ]
+ } case ;
+
: parse-tuple-literal ( -- tuple )
scan-word dup all-slots parse-tuple-literal-slots ;
+
+: parse-tuple-hash-literal ( -- tuple )
+ scan-word dup all-slots parse-tuple-hash-literal-slots ;
"BV{" [ \ } [ >byte-vector ] parse-literal ] define-core-syntax
"H{" [ \ } [ parse-hashtable ] parse-literal ] define-core-syntax
"T{" [ parse-tuple-literal suffix! ] define-core-syntax
+ "TH{" [ parse-tuple-hash-literal suffix! ] define-core-syntax
"W{" [ \ } [ first <wrapper> ] parse-literal ] define-core-syntax
"HS{" [ \ } [ >hash-set ] parse-literal ] define-core-syntax