code: def test_partial():
      add2 = scope.partial("add", 2)
      print(add2)
      assert len(str(add2).split("\n")) == 3
  
      # add2 evaluates to a scope method
      thing = rec_eval(add2)
      print(thing)
      assert "SymbolTableEntry" in str(thing)
  
      # add2() evaluates to a failure because it's only a partial application
      assert_raises(NotImplementedError, rec_eval, add2())
  
      # add2(3) evaluates to 5 because we've filled in all the blanks
      thing = rec_eval(add2(3))
      print(thing)
      assert thing == 5
  
imports: from hyperopt.pyll import base
  from hyperopt.pyll.base import Literal, as_apply, Apply, dfs, scope, rec_eval, p0, Lambda, clone_merge
  from nose import SkipTest
  from nose.tools import assert_raises
  import numpy
label_desc: Use image node_id 20 for calling a global function with example usage: test_partial() without return types