Task

"A task is part of a set of actions which accomplish a job, problem or assignment."

There are two kinds of Tasks, Simple and non-Simple.  The distinction determines how Tasks are pursued.  A Task is related to the concepts of instruction, operator, function and method.  But a Task only specifies what is to be done, not how it is to be done.  And non-Simple Tasks have some degree of generality.  It may be useful to think of a Task as a parameter list in search of of a method.  

Every Task has a possibly null AttributeSet.

The patterns of Tasks

This color indicates any symbol valid for its Verb, Noun, or Prepositional_Phrase type.  See below for the Symbol members..

This color indicates a Symbol value, e.g.   Using  =  Symbol.Using

This color indicates a C# object instance

  

At present there are 17 different patterns of Tasks.  The pattern of a Task is determined by its sequence of Symbols and object instance value types. These type identifiers are themselves implemented as Symbols.

1) Verb   Prepositional_Phrase

 2) Verb    Noun

 3) Verb    Noun Using         GNodeObject

 4) Verb    Noun At            Position

 5) Verb    Noun Over          Span

 6) Verb    Noun At            Position       Using          GNodeObject

 7) Verb    Noun Over          Span           Using          GNodeObject

 8) Verb    Noun At            Position       Integrate      ChannelSet     

 9) Verb    Noun Over          Span           Integrate      ChannelSet     

10) Verb    Noun At            Position       Integrate      ChannelSet     Using          GNodeObject   

11) Verb    Noun Over          Span           Integrate      ChannelSet     Using          GNodeObject   

12) Verb    Noun At            Position       Using          GNodeObject   

13) Verb    Noun Over          Span           Using          GNodeObject   

14) Verb    Noun At            Position       Integrate      ChannelSet  

15) Verb    Noun Over          Span           Integrate      ChannelSet     

16) Verb    Noun At            Position       Integrate      ChannelSet     Using          GNodeObject   

17) Verb    Noun Over          Span           Integrate      ChannelSet     Using          GNodeObject   

             

Valid Verbs

Symbol.Wait  (The Wait verb can only be used the with prepositional phrase symbols below.)

Symbol.ForUserInput

Symbol.Create

Symbol.Revise

Symbol.Transform 

Symbol.Remove

Symbol.Insert

Examples

1. Create BassLine Over Span Using RuleSets  

Because RuleSets is a, or  inherits from GNode it can be any of a very wide range of types.  In this example (i.t.e.) let us say that it is a GNode and so the only data it carries are Symbol and SubSymbol.  I.t.e. the GNode's Symbol value is Symbol.Symbol and the SubSymbol value, Symbol.RuleSet. The Attributes list provides data indicating the desired style of the line.

2. Create BassLine Over Span Using Constraints  

In this example Constraints is a LinkedGList containing two data elements, a FiguredBass channel and again the symbol. Symbol.RuleSet

3. Create BassLine Over Span Using Algorithm  

In this example Constraints is a LinkedGList containing two data elements, a FiguredBass channel and again the symbol. Symbol.RuleSet

4. Create BassLine Over Span Using Algorithm