<div dir="ltr"><div>In the package Workflow there is a DSL for workflow patterns that include  a very broad notion of voting using monoids.  The other workflow combinators resemble a lot the async package, but applied to workflows. Maybe you can draw something from that to construct higuer level votation DSL.</div>

<div> </div><div>The reason to use the workflow monad is because during a votation process there may be machine  failures. Decisions with various votation steps can stay running for months, so it is necessary to save and recover the state of the computation.</div>

<div> </div><div><a href="http://hackage.haskell.org/packages/archive/Workflow/0.8.0.5/doc/html/Control-Workflow-Patterns.HTML" target="_blank"><font color="#0066cc">http://hackage.haskell.org/</font><font color="#0066cc">packages/archive/Workflow/0.8.</font><font color="#0066cc">0.5/doc/html/Control-Workflow-</font><font color="#0066cc">Patterns.HTML</font></a></div>

<div> </div><div> </div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/6/5 AlanKim Zimmerman <span dir="ltr">&lt;<a href="mailto:alan.zimm@gmail.com" target="_blank">alan.zimm@gmail.com</a>&gt;</span><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p>Have you looked at <a href="http://frictionfreedemocracy.org/" target="_blank">http://frictionfreedemocracy.org/</a></p>


<p>They are using <a href="https://github.com/agocorona/Workflow" target="_blank">https://github.com/agocorona/Workflow</a> amongst other things to define election work flows.</p>
<p>Alan</p>
<div class="gmail_quote"><div><div class="h5">On Jun 5, 2013 11:25 PM, &quot;Corentin Dupont&quot; &lt;<a href="mailto:corentin.dupont@gmail.com" target="_blank">corentin.dupont@gmail.com</a>&gt; wrote:<br type="attribution">

</div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid"><div><div class="h5">
Hi haskellers!<br>I am trying to make a DSL able to describe a voting system. That DSL should be able to describe many different voting procedures: <br>unanimity or majority, open or secret ballot, one or two turns... It should also work for referendums (yes/no question) or elections (electing one or several people)...<br>



Are you aware of any such DSL? In Haskell I haven&#39;t see it, maybe in another language?<br><br>Cheers,<br>Corentin<br>
<br></div></div>_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
<br></blockquote></div>
<br>_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br>Alberto.
</div>