LightJason / Java-AgentSpeak

LightJason - AgentSpeak(L++) for Java
https://agentspeak-java.lightjason.org
Other
23 stars 7 forks source link

multiple fuzzy return arguments #43

Closed flashpixx closed 5 years ago

flashpixx commented 7 years ago

modify return arguments of execution method (https://github.com/LightJason/AgentSpeak/blob/master/src/main/java/org/lightjason/agentspeak/language/execution/IExecution.java#L52) for a strict multi-valued logic, e.g.

enum EReturn implements IFuzzyValue<Boolean>
{
    TRUE(true, 1), FALSE(false, 1);

     private final boolean m_value;
     private final double m_fuzzy;

     EReturn( final boolean p_value, final double p_fuzzy )
     {
          m_value = p_value;
          m_fuzzy = p_fuzzy;
     }

     @Override
     public final value()
     {
         return m_value;
     }

    @Override
    public final fuzzy()
    {
         return m_fuzzy;
    }
}

interface IExecution
{
    Stream<IFuzzyValue<Boolean>> execute( final boolean p_parallel, @Nonnull final IContext p_context,
                                  @Nonnull final List<ITerm> p_argument, @Nonnull final List<ITerm> p_return
    );
}

Create some supplier to generate elements for the builtin actions and add the fuzzy structure as generic to all other classes

flashpixx commented 5 years ago

fixed / marged in bd9f950085d8267118cb5f3790aebe933985d861