! Copyright (C) 2013 John Benediktsson ! See https://factorcode.org/license.txt for BSD license USING: accessors hash-sets hash-sets.wrapped kernel math parser sequences vocabs.loader ; IN: hash-sets.sequences sequence-wrapper M: sequence-wrapper equal? over sequence-wrapper? [ [ underlying>> ] bi@ sequence= ] [ 2drop f ] if ; inline M: sequence-wrapper hashcode* underlying>> [ sequence-hashcode ] recursive-hashcode ; inline PRIVATE> TUPLE: sequence-hash-set < wrapped-hash-set ; : ( n -- shash-set ) sequence-hash-set boa ; inline M: sequence-hash-set wrap-key drop ; M: sequence-hash-set clone underlying>> clone sequence-hash-set boa ; inline : >sequence-hash-set ( members -- shash-set ) [ ] map >hash-set sequence-hash-set boa ; SYNTAX: SHS{ \ } [ >sequence-hash-set ] parse-literal ; { "hash-sets.sequences" "prettyprint" } "hash-sets.sequences.prettyprint" require-when