Hi,
Here are some of the words formed using the letters "HINSHAPS" :
SPANISH,SPAIN,ASPISH, PHASIS, SHNAPS,SCHNAPPS,SPAHIS,APHIS, APISH, APSIS, ASPIS,HASPS,NIPAS,PAINS,PIANS,PINAS,SAINS,SASIN,SHAHS,SHIAH,SHINS,SHINA,SHIPS,
SINHA,SINHS, SNAPS, SNASH, SNIPS, SPAHI, SPANS, SPINS,AHIS, AINS, ANIS, ASPS, HAHS, HAPS, HASH, HASP, HINS, HIPS,HISN,HISS, NAPS, NIPA, NIPS, PAIN, PANS, PASH, PASS, PHIS, PIAN, PIAS, PINA, PINS, PISH,PSIS, SAIN, SANS, SAPS, SASH, SHAH, SHIN, SHIP, SINH, SINS, SIPS, SNAP, SNIP, SPAN, SPAS, SPIN,AHI, AHS, AIN, AIS, ANI, ASH, ASP, HAH, HAP, HAS, HIN,HAN, HIP, HIS, INS,IAN, NAH, NAP, NIP, PAH, PAN, PAS, PHI, PIA, PIN, PIS, PSI, SAP, SHA, SHH, SIN, SIP, SIS, SPA,AH, AI, AN, AS, HA, HI, IN, IS, NA, PA, PI, SH, SI,PH.
So,Here we are.....120 words in total....Presence of "S" makes the formation more easy...The words can be made plural ;)...The words with 3-2 letters are more of abbreviation type than pure words.They may help you out.
Well speaking about softwares....They can be coded out using most probably C++ or some kinda similar computer languages...Well it will be like creating an array of words (HINSHAPS in this case) and swaping the places of the words (keeping some fixed or randomly)and also the array length need to be reduced so as to get words of different lengths each time(For EX.after getting all of the 8 lettered words"different and meaningful" the array length will be 7 so as to get a 7 lettered word and so on) from the given letters.So,with progress of each loop a new word will be formed and then the newly formed word needs to be matched with a list of meaningful & certified English words(I mean a Dictionary).........So,you may need a dictionary(maybe in the form of .txt file or so) linked to the programme for checking the authentication of the word formed each time for the purpose of getting meaningful & positive sense words.
Thanks,
-Bibhuti