Hey Chris!
Values for PlayerNumber are acquired at evaluation time, from the state of the system.
I have not included the evaluation of AllPlayers.
Here how it looks:
evalObs AllPlayers = return . pure =<< gets players
But when you build your Obs, you have yet no idea how much players it will be.
This is just symbolic at this stage.
To give you a better insight, here is want I want to do with Map:
everybodyVote :: Obs [Bool]
everybodyVote = Map (Vote (Konst "Please vote")) AllPlayers
In memory, everybodyVote is just a tree.
This rule can be executed latter whenever I want to perform this democratic vote ;)
Hope this answer to your question.
Corentin
On 26 October 2010 18:07, Dupont Corentin <corentin.dupont@gmail.com> wrote:Where do values for PlayerNumber come from? Unless I'm mistaken, the
> But how can I write the evaluator for Map?
only thing that Map can be used with is Obs [PlayerNumber], a list of
values PlayerNumber which we have no means of acquiring in order to
provide to the Map function.