-
-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Meta object default values #35
Comments
I'm leaning toward a general principle that says any unspecified parts should be logic variables. This would be in-line with all objects being unifiable against any other object with the same or less specificity (e.g. The only caveat to that is "reifiability" of the meta objects (i.e. converting a meta object to a corresponding base object). (Note: we should probably not use the word "reify" to describe that.) For instance, we currently construct names for meta objects in a way that reflects the backend's auto-generated names, instead of setting the name to a logic variable. The main reason for this is that it relieves the developer from having to specify names during the graph manipulation process (i.e. in miniKanren); however, it also causes some manually constructed meta graphs to not unify unless the names are manually set to logic variables (or made to match whatever it's being unified with). This manual process is very annoying, and, without something like #36, super annoying. |
The recently merged #80 addresses this problem by introducing context managers with which names and |
Here's an example of the relevant context manager introduced in #80: With default name and
|
As a side note, it might be worth investigating a way to partially specify the A nice way of doing this could make use of a partially specified |
The output for
A_mt
isShould we default the values in the dictionary for
TFlowMetaOp.node_def
to beNone
or another logic variable?The text was updated successfully, but these errors were encountered: