Restore empty list as default value in term constructor.

Term constructor creates all features with default values where
not overridden. The default values for "value" and "child"
features are wildcards for now (TBD), the default value for
list feature is an empty list.

The rationale is that a rule's head defining term pattern with
a logical variable capturing list feature will not be matched
with a free logical variable. Thus, to avoid having to always
explicitly specify all term features, a term constructor that
is not a pattern must use the default values for non-overridden
features.
This commit is contained in:
Fedor Isakov 2020-06-18 12:29:06 +02:00
parent 5c376168b4
commit 9db3dbbcfd
1 changed files with 1 additions and 11 deletions

View File

@ -16170,17 +16170,7 @@
</node>
</node>
</node>
<node concept="1oi5UN" id="3qUnz9vhUyO" role="1oi5TL">
<node concept="22Ky0T" id="3qUnz9vhUyP" role="lGtFl">
<node concept="2YIFZM" id="3qUnz9vhUyQ" role="22Ky0K">
<ref role="1Pybhc" to="oy3s:7nPD14NOCSa" resolve="MetaLogicalFactory" />
<ref role="37wK5l" to="oy3s:7nPD14NOHGU" resolve="wildcardMetaLogical" />
<node concept="3VsKOn" id="3qUnz9vhUyR" role="37wK5m">
<ref role="3VsUkX" to="6exd:3OPtF03lco4" resolve="ListNode" />
</node>
</node>
</node>
</node>
<node concept="KCUsM" id="4boCUQuFUFy" role="1oi5TL" />
</node>
</node>
</node>