Skip to content

[API Design] dispatch vs verbNoun-verbosity #264

@dehann

Description

@dehann

EDIT: some of the verbs like update have now been dropped. But the philosophical aspect of this ticket remains a central objective for DFG v1. For latest updates to verbs, see either the dictionary:

Philosophy Still Valid (ticket contents has been duplicated elsewhere as work progressed)

DFG is about having access to various graphing technologies in a way that allows info/data/etc to be easily transferred between technologies in a standard way. For example:

# copy from one dfg to another, regardless of different SolverParams types
copyGraph!(localdfg, cgdfg, args...)

merge!(CloudDFG, FileDFG)
merge!(FileDFG, CloudDFG)
merge!(CloudDFG, LightDFG)
merge!(GraphsDFG, LightDFG)
merge!(GraffDFG, CloudDFG) # seems excessive, but its about the philosophy 
# ...

updateVariables!(LigthDFG, CloudDFG)
updateVariables!(FileDFG, GraphDFG) # to illustrate point
updateVariables!(FuseDFG, LightDFG) # to illustrate point
# ...

buildSubgraph(::LightDFG, GraphDFG, ...)
buildSubgraph(::CloudDFG, LightDFG, ...)
buildSubgraph(::FileDFG, CloudDFG, ...)
# ...

Originates from hard discussions on:

cc @GearsAD , @Affie

EDIT: GraphsDFG has since been archived in favor of LightDFG.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions