[Haskell-cafe] Nomic game in Haskell

Brent Yorgey byorgey at seas.upenn.edu
Wed Apr 14 19:24:39 EDT 2010


On Wed, Apr 14, 2010 at 09:14:18PM +0200, Dupont Corentin wrote:
> Hello Café,
> do you know Nomic?
> 
> It's a fabulous and strange game where you have the right to change the
> rules in the middle of the game!
> In fact, changing the rules is the goal of the game. Changing a rule is
> considered as a move.
> Of course even that could be changed!
> 
> www.nomic.net
> 
> I'm wondering if it could be possible to implement a Nomic (or an helper for
> the game) in Haskell.
> Haskell seems appropriate for that, since functions are first order objects,
> and Haskell is good at DSLs.

I don't think you could actually implement Nomic in the way you
describe, because any system you come up with will necessarily place
restrictions on what sorts of rules you are able to represent.  Much
of the fun of Nomic lies in coming up with new rules that are
completely outside the box.  For example, how would you encode a rule
like

  * Players must stand when proposing new rules.

or 

  * Rules which do not mention other rules shall remain in effect
    until such time as the mobile telephone of the Grand Counselor
    rings.

You get the idea.

However, implementing some sort of system for encoding certain types
of rules, and checking that they are valid/consistent/etc. sounds like
it could be a fun project from which you would probably learn a lot!
Essentially, you would be designing a syntax for rules, and a type
system for ensuring that rules are valid or used in valid ways.  It
wouldn't be Nomic, but it could be something fun.

-Brent


More information about the Haskell-Cafe mailing list