class_docstr: WRITEME
docstr: This function must return a triplet (function, input_variables,
  output_variables) where function is a thunk that operates on the
  returned variables. If inplace is True, the input_variables and
  output_variables lists will be the same as the inputs and outputs
  of the graph provided to the L{Linker}. Else, independent
  variables will be returned.
  
  Examples
  --------
  x, y = Variable(Double), Variable(Double)
  e = x + y
  fgraph = FunctionGraph([x, y], [e])
  fn, (new_x, new_y), (new_e, ) = MyLinker(fgraph).make_thunk(inplace)
  new_x.data = 1.0
  new_y.data = 2.0
  fn()
  print new_e.data # 3.0
  print e.data # 3.0 iff inplace == True (else unknown)
docstr_tok: ["This","function","must","return","a","triplet","(","function",",","input_variables",",","output_variables",")","where","function","is","a","thunk","that","operates","on","the","returned","variables",".","If","inplace","is","True",",","the","input_variables","and","output_variables","lists","will","be","the","same","as","the","inputs","and","outputs","of","the","graph","provided","to","the","L","{","Linker","}",".","Else",",","independent","variables","will","be","returned",".","Examples","--","--","--","--","x",",","y","=","Variable","(","Double",")",",","Variable","(","Double",")","e","=","x","+","y","fgraph","=","FunctionGraph","(","[","x",",","y","]",",","[","e","]",")","fn",",","(","new_x",",","new_y",")",",","(","new_e",",",")","=","MyLinker","(","fgraph",")",".make_thunk","(","inplace",")","new_x.data","=","1.0","new_y.data","=","2.0","fn","(",")","print","new_e.data","#","3.0","print","e.data","#","3.0","iff","inplace","==","True","(","else","unknown",")"]
code: def make_thunk(self):
      """
      This function must return a triplet (function, input_variables,
      output_variables) where function is a thunk that operates on the
      returned variables. If inplace is True, the input_variables and
      output_variables lists will be the same as the inputs and outputs
      of the graph provided to the L{Linker}. Else, independent
      variables will be returned.
  
      Examples
      --------
      x, y = Variable(Double), Variable(Double)
      e = x + y
      fgraph = FunctionGraph([x, y], [e])
      fn, (new_x, new_y), (new_e, ) = MyLinker(fgraph).make_thunk(inplace)
      new_x.data = 1.0
      new_y.data = 2.0
      fn()
      print new_e.data # 3.0
      print e.data # 3.0 iff inplace == True (else unknown)
  
      """
      raise utils.MethodNotDefined(
          "make_thunk", type(self), self.__class__.__name__
      )
  
imports: from __future__ import absolute_import, print_function, division
  from copy import copy, deepcopy
  from sys import getsizeof
  import sys
  import traceback
  import numpy
  import theano
  from theano.compat import izip
  from six import reraise
  from six.moves import StringIO
  from theano.gof import utils
  from theano.gof import graph
  from theano.gof.type import Type
  from .utils import undef
label_desc: Use image node_id 2 for calling the Linker obj's underlying member method code with example usage: obj.make_thunk() without return types