MASON-INTEREST-L Archives

June 2015

MASON-INTEREST-L@LISTSERV.GMU.EDU

Options: Use Monospaced Font
Show HTML Part by Default
Show All Mail Headers

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

Print Reply
Subject:
From:
Sean Luke <[log in to unmask]>
Reply To:
MASON Multiagent Simulation Toolkit <[log in to unmask]>
Date:
Mon, 29 Jun 2015 16:42:36 -0400
Content-Type:
text/plain
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