Message from JavaScript discussions
May 2017
— Oooh wait
It lets you make decisions based on higher reasoning through non-contradictory and contradictory proofs
— Typed Arrays would speed up the array one pretty intensely
— Oh? how so?
— Typed Arrays have constant item sizes
— So lookups are always instant
— Because location = index * itemsize
— "Hello" is 5 characters, and "Help" is 4. Therefore if traversing to "Hello" and searching for "Help" in the set, you can deduce from "Hello"'s metadata that a word after it shares 2 characters, and thus you know the probability of the next word being "Help" is 2/4. If that number is any lower than the sum of the shared characters and the characters of the input string, you know 100% that the next word, and all words after it, will definitely not match the input string
— Thus you can abandon that portion of the tree completely, eliminating however many words are related to 'Hello'
— Wait... should we perhaps lookup by length first?
— Since 'Hello" shares so many characters with "Help", 3/4, your deduction here will be spot-on until you get to the point where you have not constructively proven "Help" is not in the set as you have not seen the entire set, but you have posited a contradictory proof which states the number of possible matching characters is zero, and thus aids in the proof that "Help" is not in the set
— ["Hometown" (Next shares 3 chars)] -> ["Howdy" (No next word sharing any chars)]