MASON-INTEREST-L Archives

June 2015

MASON-INTEREST-L@LISTSERV.GMU.EDU

Options: Use Proportional Font
Show Text Part by Default
Condense Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Sender:
MASON Multiagent Simulation Toolkit <[log in to unmask]>
Date:
Mon, 29 Jun 2015 16:42:36 -0400
MIME-version:
1.0 (Mac OS X Mail 7.3 \(1878.6\))
Reply-To:
MASON Multiagent Simulation Toolkit <[log in to unmask]>
Content-type:
text/plain; charset=iso-8859-1
Subject:
From:
Sean Luke <[log in to unmask]>
In-Reply-To:
Message-ID:
Content-Transfer-Encoding:
8bit
Parts/Attachments:
text/plain (27 lines)
On Jun 29, 2015, at 4:08 PM, Eric Scott <[log in to unmask]> wrote:

> Good point about YAML, Mark!  I've been wanting to switch to something like that for a while.  The really long, dotted parameter names ECJ uses to denote an object hierarchy work great, but are painful to read.

Reading up on YAML, I came across this nasty bit:

	- Whitespace indentation is used to denote structure; however tab characters are never allowed as indentation.

Ugh.  Apparently we will never, ever learn the mistake we made with Makefiles.  This ignorance alone probably kills YAML in my book.

ECJ's parameter files use the structure they use because they're just dressed up Property lists.  It's a lot of typing, I'll admit to that.  But it's a fair sight more maintainable than XML.  Instead of going that route, an interesting approach would be to permit variable replacement like

	var.PIPELINE = pop.subpop.0.species.pipe
	var.SOURCE = PIPELINE.generate.source
	
	PIPELINE = ec.breed.MultiBreedingPipeline
	PIPELINE.generate-max = false
	PIPELINE.generate.num-sources = 2
	SOURCE.0 = ec.gp.koza.CrossoverPipeline
	SOURCE.0.prob = 0.9
	SOURCE.1 = ec.breed.ReproductionPipeline
	SOURCE.1.prob = 0.1

... we'd have to think deeply upon namespace issues though.

Sean

ATOM RSS1 RSS2