This is my first Go Lanugage (golang) project on the Google App Engine. I made it to have a real project that I could test to see how much I like go as a web development language.
After burning through a few permutations implementations and finally transcribing python's itertools implementation, I finally got the site runnable.
It is dreadfully slow. I am probably not writing the go code in the most optimal way. If you can fix it, please request a pull on github https://github.com/SmilingRob/Cheatin-Words. My confidence in go has been shattered by these performance issues coupled with the pain it took manually writing out things I took for granted in Python. I can't motivate myself to implement wildcards, scoring, and forced letters in go because it seems too daunting. I've quickly sketched it out here:
def findWildcard(self, letters, requiredLetters, minLength=2): return sorted([w for l in range(ord('a'), ord('z')+1) for w in s.findPermutations(letters+chr(l)) if w in s.words and requiredLetters in w and len(w) >= minLength ], key=self.score)
Anyway, have fun with the code, if you can make it run at about 100ms on Google App Engine, I'll come back to go. I love many things about go.