Re: [Haskell-cafe] Testing invasive proposals with Hackager

2013-06-14 Thread Roman Cheplyaka
To make it clear, it's not yet written, although I'll start spending
more time on it soon.

So far I've been working on the haskell-suite set of libraries that are
necessary to implement HasFix.
(https://github.com/haskell-suite)

Roman

* AlanKim Zimmerman alan.z...@gmail.com [2013-06-13 20:45:43+0200]
 Roman Cheplyaka has written a tool called HasFix for updating source based
 on new versions of libraries.
 
 The presentation on it is here http://ro-che.info/docs/ and the code is at
 https://github.com/feuerbach/hasfix
 
 Perhaps it could be pressed into use for automatic update of historical
 code?
 
 Alan
 
 
 
 On Thu, Jun 13, 2013 at 6:30 PM, Maksymilian Owsianny 
 maksymilian.owsia...@gmail.com wrote:
 
  I was thinking about something similar some time ago, but not just
  testing but also fixing things automatically. Taking for example
  Semigroup = Monoid this would break in places where you have instance
  for Monoid but don't have instance for Semigroup. But if you have
  instance for Monoid making instance for Semigroup is straightforward:
 
  instance Semigroup TypeYouAreFixing where
  () = copy code from mappend for that type
 
  I'm still kind of new to Haskell, so I'm not sure how hard such,
  TemplateHaskell-like automagic migration tool, would be to make, but
  I feel like such a tool would be of incredible importance for the
  community. Because otherwise, without such thing, there are usually
  two ways a language can evolve:
  1. Caring for backwards compatibility, and accumulating mistakes
 like that over time, and becoming more and more like crap.
  2. Making fixes that break everyones code, and because of that
 being ignored by the industry.
 
  I like Haskell because it usually takes the second route, but as
  community grows it will be less and less the case. With such a tool
  you could have best of both worlds.
 
  Though I assume that somebody already thought of that and come to the
  conclusion that in general case you cannot make such tool because
  Gödel is a bastard that breaks everyones toys, or something along this
  lines.
 
 
 
  On Thu, Jun 13, 2013 at 12:54 PM, Niklas Hambüchen m...@nh2.me wrote:
 
  On 13/06/13 18:36, Vo Minh Thu wrote:
   For example, here is a run with GHC, no special options and using 4
   threads (note that this generally takes a long time, i.e. a few days):
 
  My builds finished in  10 hours on an i7.
 
  ___
  Haskell-Cafe mailing list
  Haskell-Cafe@haskell.org
  http://www.haskell.org/mailman/listinfo/haskell-cafe
 
 
 
  ___
  Haskell-Cafe mailing list
  Haskell-Cafe@haskell.org
  http://www.haskell.org/mailman/listinfo/haskell-cafe
 
 

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


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


[Haskell-cafe] ANN: Nomyx 0.2 beta, the game where you can change the rules

2013-06-14 Thread Corentin Dupont
Hello everybody!
Here it comes, the second beta release [1] of Nomyx, the only game where
You can change the rules!!
This is an implementation of a Nomic [2] game in Haskell (I believe the
first complete implementation of a Nomic game on a computer). In a
Nomyxgame you can change the rules of the game itself while playing
it. The
players can submit new rules or modify existing ones, thus completely
changing the behaviour of the game through time. The rules are managed and
interpreted by the computer. They must be written in the Nomyx language,
which is a subset of Haskell.

At the beginning, the initial rules are describing:
- how to add new rules and change existing ones. For example a unanimity
vote is necessary to have a new rule accepted.
- how to win the game. For example you win the game if you have 5 rules
accepted.
But of course even that can be changed!

Here is a video introduction and first tutorial of the game:
http://vimeo.com/58265498
The game is running here: www.nomyx.net:8000/Nomyx
I have set up a forum where players can learn about Nomyx and discuss the
rules they intend to propose: www.nomyx.net/forum
The example file gives a lot of examples of rules that you can submit:
www.nomyx.net:8000/src/Language/Nomyx/Examples.hs

Changes from V0.1:
- new login system: you can now login with your Google, Yahoo, Live
Journal, Myspace, OpenId or Facebook accounts (thanks to
happstack-authenticate)!
- new DSL for voting (see below)
- styling: rule code colorized, better settings and help
- use cookies to store the user ID (as suggested on this mailing list)
- new error system to handle exceptions in rules (with ErrorT)
- use lenses

I set up a little DSL to create elections (elect one of the players for a
special role) or referendums (a yes/no question).
You create in one line within Nomyx an vote with unanimity or majority, a
quorum and different ballot systems. See here:
http://www.nomyx.net/forum/viewtopic.php?f=3t=1518

Let's test it! If you are interested, please go to this forum thread and
we'll set up a small team to start a match!
http://www.nomyx.net/forum/viewtopic.php?f=4t=1517
The demo game is running here: www.nomyx.net:8000/Nomyx then select game
demo2.
As the first player of the game, I changed the initial unanimity vote to a
simple majority, with a minimum of 2 players voting. Having your new rules
accepted will be easy!
Let's see who will win :)

Cheers,
Corentin

[1] http://hackage.haskell.org/package/Nomyx
[2] www.nomic.net
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Haskell Platform 2013.2.0.0 64bit.pkg

2013-06-14 Thread Michael Orlitzky
On 06/13/2013 02:13 AM, Richard A. O'Keefe wrote:
 My original problem was that I wanted to load a particular set of
 packages using 'cabal install'.  It didn't work (cabal install issues)
 and while the maintainer reacted promptly and helpfully, cabal
 kept on trying to install the wrong version.
 
 Part of the problem was that blasting away ~/.cabal and ~/Library/Haskell
 wasn't enough:  it's necessary to blast away ~/.ghc as well (which I had
 forgotten existed and of course never saw).
 
 * It would be handy if 'uninstall-hs' had an option, say
 * uninstall-hs --user
 * so that a user could in one step make it as if they had never
 * used the Haskell Platform.
 
 (Sigh.  Changes to the GHC command line interface since 7.0 have
 broken one of the packages I used to have installed, and the
 maintainer's e-mail address doesn't work any more.  And sometimes
 it seems as if every time I install anything with cabal something
 else breaks.)
 
 PS. Earlier today cabal gave me some confusing messages which
 turned out to mean 'GSL isn't installed'.  Non-Haskell dependencies
 could be explained a little more clearly.
 

This doesn't offer an immediate solution to your problem, but as of
right now, the best set of blessed Haskell packages can be found in
the gentoo-haskell[1] overlay.

You can use Gentoo's portage package manager and the overlay on many
operating systems (OSX included) via the gentoo-prefix[2] project, which
builds you an entire Gentoo system in e.g. ~/prefix. It's then easy to
get packages added to the overlay, and tested against the rest of the
packages in Gentoo (which is what everything will be compiled against).

There's also support in portage for automatically rebuilding packages
whose dependencies have been broken by an upgrade, which prevents a huge
amount of breakage. Some good docs on getting a Haskell system up and
running on prefix would be a big help for anyone who wants an ecosystem
that will work for a few years.

Right now the documentation for prefix isn't great, but as I understand
it the project docs are going to be moved to the Gentoo wiki, and us
mere mortals will be able to update the instructions. Right now you need
CVS access, and nobody knows how the documentation XML nonsense works.

Burcin Erocal has an interesting project called lmonade[3] which
simplifies this for other projects, so it doesn't need to be painful.


[1] https://github.com/gentoo-haskell/
[2] http://www.gentoo.org/proj/en/gentoo-alt/prefix/
[3] http://www.lmona.de/


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