36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
auto argDecomp = Decompose( argsPat,
Val< pvec >()
);
if( !argDecomp )
co_return;
for( auto&& [uniParamsVec,rtTrie,c] : m_trie->unify( *argDecomp->get(), uc ) )
{
auto uniParams = TERM( make_shared< Vector >( uniParamsVec ) );
for( auto&& [rt,ovl] : Enumerate( rtTrie ) )
{
for( auto&& [uniRt,uc] : Unify( rt, rtPat, uc ) )
{
auto uniCall = TERM( Vector::Make( uniParams, uniRt ) );
|
|
|
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
auto argDecomp = Decompose( argsPat,
Val< pvec >()
);
if( !argDecomp )
co_return;
for( auto&& [uniParamsVec,rtTrie,uc] : m_trie->unify( *argDecomp->get(), uc ) )
{
auto uniParams = TERM( make_shared< Vector >( uniParamsVec ) );
for( auto&& [rt,ovl] : Enumerate( rtTrie ) )
{
for( auto&& [uniRt,uc] : Unify( rt, rtPat, uc ) )
{
auto uniCall = TERM( Vector::Make( uniParams, uniRt ) );
|