Hello all, I am just about to write my first Clojure code to teach 
myself the language.

I thought I might try Bulls&Cows aka Mastermind.  This is the game where 
one player hides a pattern of colors, the other guesses a pattern, and 
the first says something like "1 correct color in the right place, and 2 
correct colors in the wrong places".  I want the computer to guess the 
pattern.

The algorithm I want to use is to generate the set of all possible 
answers, select one at random as the guess, and then successively remove 
those inconsistent with the set of responses received so far.  This 
approach turns out to be close to optimal and the set of consistent 
guesses shrinks rapidly.

I want to do this with sequence and filters.  I want to make my own kind 
of lazy sequence that is the set of all possible guesses, and then 
filter it for consistency with the responses.

My problem is getting my mind around the Sequence interface.  I don't 
really understand how to make my own "type" of sequence.  I don't really 
want a List, Vector or Map-- I want an infinite sequence defined by an 
algorithm.

In Java I would expect to define my own class that implements the ISeq 
interface.  What is the Clojure equivalent?

For example, how would one make the sequence of all positive integers?  
I'm sure it's trivial, but it will un-stick me.

Also I haven't found the right document/screencast that talks about 
this.  Can someone give me a pointer.

Thanks in advance
Peter



--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To post to this group, send email to clojure@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to