[ hashcode 0x13c6ef37 + ] dip
[ 6 shift ] [ -2 shift ] bi + + ;
+ERROR: malformed-hashtable-pair seq pair ;
+
+: check-hashtable ( seq -- seq )
+ dup [ dup length 2 = [ drop ] [ malformed-hashtable-pair ] if ] each ;
+
+: parse-hashtable ( seq -- hashtable )
+ check-hashtable H{ } assoc-clone-like ;
+
INSTANCE: hashtable assoc
"V{" [ \ } [ >vector ] parse-literal ] define-core-syntax
"B{" [ \ } [ >byte-array ] parse-literal ] define-core-syntax
"BV{" [ \ } [ >byte-vector ] parse-literal ] define-core-syntax
- "H{" [ \ } [ >hashtable ] parse-literal ] define-core-syntax
+ "H{" [ \ } [ parse-hashtable ] parse-literal ] define-core-syntax
"T{" [ parse-tuple-literal suffix! ] define-core-syntax
"W{" [ \ } [ first <wrapper> ] parse-literal ] define-core-syntax
"HS{" [ \ } [ >hash-set ] parse-literal ] define-core-syntax