LISTSERV mailing list manager LISTSERV 16.0

Help for ECJ-INTEREST-L Archives


ECJ-INTEREST-L Archives

ECJ-INTEREST-L Archives


ECJ-INTEREST-L@LISTSERV.GMU.EDU


View:

Message:

[

First

|

Previous

|

Next

|

Last

]

By Topic:

[

First

|

Previous

|

Next

|

Last

]

By Author:

[

First

|

Previous

|

Next

|

Last

]

Font:

Monospaced Font

LISTSERV Archives

LISTSERV Archives

ECJ-INTEREST-L Home

ECJ-INTEREST-L Home

ECJ-INTEREST-L  April 2009

ECJ-INTEREST-L April 2009

Subject:

Re: Problem With Typing

From:

Eric B <[log in to unmask]>

Reply-To:

ECJ Evolutionary Computation Toolkit <[log in to unmask]>

Date:

Wed, 22 Apr 2009 12:18:45 -0400

Content-Type:

text/plain

Parts/Attachments:

Parts/Attachments

text/plain (69 lines)

OK, I got it to work. I'll post the solution because I know some of you,
frustrated that the typing doesn't work, can learn from this.


The idea, specific to my typing, is as follows:
-Each function (If, And, Or) has its own type (*-sort-of and nil for
terminals) that is returned in the nc.
-For every function a special set typing is added that basically state what
kind of arguments are allowed. For example an And can accept everything
except an If thus this set type (and-or-nil) has as members: nil,
and-sort-of, or-sort-of. An Or can only accept terminals, no special set
typing is used. The arguments are simply nil.

It's actually very simple. Maybe more documentation could be added because
figuring this out is not easy and took me a few days.

# Atomic typing
gp.type.a.0.name = if-sort-of
gp.type.a.1.name = nil
gp.type.a.2.name = or-sort-of
gp.type.a.3.name = and-sort-of
gp.type.a.size = 4

# Set Typing
gp.type.s.0.name = if-type
gp.type.s.0.size = 4
gp.type.s.0.member.0 = if-sort-of
gp.type.s.0.member.1 = nil
gp.type.s.0.member.2 = or-sort-of
gp.type.s.0.member.3 = and-sort-of
gp.type.s.1.name = or-nil
gp.type.s.1.size = 2
gp.type.s.1.member.0 = nil
gp.type.s.1.member.1 = or-sort-of
gp.type.s.2.name = and-or-nil
gp.type.s.2.size = 3
gp.type.s.2.member.0 = nil
gp.type.s.2.member.1 = or-sort-of
gp.type.s.2.member.2 = and-sort-of

gp.type.s.size = 3

gp.nc.0 = ec.gp.GPNodeConstraints
gp.nc.0.name = if-constraint
gp.nc.0.returns = if-sort-of
gp.nc.0.size = 3
gp.nc.0.child.0 = and-or-nil
gp.nc.0.child.1 = if-type
gp.nc.0.child.2 = if-type

gp.nc.1 = ec.gp.GPNodeConstraints
gp.nc.1.name = and-constraint
gp.nc.1.returns = and-sort-of
gp.nc.1.size = 2
gp.nc.1.child.0 = and-or-nil
gp.nc.1.child.1 = and-or-nil

gp.nc.2 = ec.gp.GPNodeConstraints
gp.nc.2.name = nc0
gp.nc.2.returns = nil
gp.nc.2.size = 0

gp.nc.3 = ec.gp.GPNodeConstraints
gp.nc.3.name = or-constraint
gp.nc.3.returns = or-sort-of
gp.nc.3.size = 2
gp.nc.3.child.0 = nil
gp.nc.3.child.1 = nil

Top of Message | Previous Page | Permalink

Advanced Options


Options

Log In

Log In

Get Password