Description of methods on the wiki do not currently contain computer programs so much as high-level algorithmic descriptions. These descriptions, although well-written and accompanied by examples, do not contain code. The addition of actual code would serve two purposes,
1) it serves as an alternative, guaranteed unambiguous explanation of the method itself, which may be more tractable to some readers than English description 2) code, even if written in a slow language, is of practical value to those conducting research 3) even new voting methods are seldom completely novel, a standard set of primitives could allow for quicker and easier description of new proposals. I've come across a few instances of collections of voting method implementations in various programming languages. I'm uncertain about the use restrictions of these. rangevoting.org/IEVS/IEVS.c http://rubyforge.org/projects/rubyvote https://github.com/bradbeattie/python-vote-core etc. This is just some old java code a friend and I wrote a long time ago http://www.mediafire.com/?hcizfsw37wuaquy Anyway, IEVS is in C, RubyVote and PythonVote are obviously in Python, and my old code is in Java. If the community could settle on a single language for reference implementations (speed being less important here than clarity and familiarity) of various voting methods and maybe a quick language such as C, C++, D, or Java when additional speed is required, and possibly an efficiently parallelizable language (e.g. Erlang, Haskell) to allow for distributed computation and greater scalability. The point being, a lot of people have spent time writing code and some have reinvented the wheel in a slightly different form or in another language. It'd be nice to have code all in one place and establish a set of conventions for how new algorithms are to be represented. Thanks. ---- Election-Methods mailing list - see http://electorama.com/em for list info
