Hi everyone

Initially, I hope that this list is active yet.  For some days,
I had been trying to do a Depth First Search on a graph from scratch  following something very didactical (clear, elegant - legible, any worry about efficiency).

This DFS keeps a boolean list to mark the nodes already visited and another with current or valid nodes ( the stack of DFS classic).

The code is naive and well documented and is here:

https://github.com/claudiosa/CCS/blob/master/haskell/dfs_graph.hs
(excessively commented)

but unfortunately, it is not working.  My guess is  that the problem starts on new_node function.  I am not sure if in DFS, when a current node gets a next neighbour to stack, it gets all the neighbours. 
In this code, it is getting one node per time.

The functions next_node and one_node seem very non-sense. Could someone help me?

Thanks in advance



claudio

**********************************************************************
***********************************************************************