On 28/05/2011, at 11:47 PM, Dmitri O.Kondratiev wrote:

> Hello,
> I am trying to solve a simple task, but got stuck with double recursion - for 
> some reason not all list  elements get processed.
> Please advice on a simple solution, using plane old recursion :)
> *** Task: 
> From a sequence of chars build all possible chains where each chain consists 
> of chars that can be accessed from one to another.
> For example, given the sequence:
> "abcde"
> In table below chars in a left column can access a list of chars in the right 
> column:
> a | b c d e                                                                   
>                                   
> b | c d e                                                                     
>                                   
> c | d e                                                                       
>                                   
> d | e

You have a set S of characters and a binary relation R ⊆ S × S
and a chain is a sequence [x0,x1,...] such that
  x[0] ∈ S
and for all i > 0,
  x[i-1] R x[i]

Can a chain be empty?

What constraints on R do you have that lead you to think that
each chain is finite, or are you expecting infinite chains as well?
(S = {a}, R = {(a,a)} admits chains of any length, including ones
that do not terminate.)



_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to