:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: : sequence PARTIAL pure: Iterate over partial matches to dictionary codes. entry Map..Heap..string, &Dictionary map number -> {code, ...} Key string :Key to partially match (all if empty). exit @Pair Key..Heap..string :Digits and associated code words local Prefix string :Shortest possible match use Phonecode/Short :Shortest code word size : :............................................................................... Prefix = left( Key, Short ); Shortest possible match. DO @P from Map( $, Prefix ): DO over matching mapped items, IF Has.Prefix( Key, P`Key ): IF Key begins with P`Key (case insensitive), YIELD @P; Export digits and associated code words. ELSE: ELSE no match, UNDO IF P`Key > Key; UNDO IF no more items mapped for Prefix. - . return