code: def numba_funcify_Join(op, **kwargs):
      view = op.view
  
      if view != -1:
          # TODO: Where (and why) is this `Join.view` even being used?  From a
          # quick search, the answer appears to be "nowhere", so we should
          # probably just remove it.
          raise NotImplementedError(
              "The `view` parameter to `Join` is not supported"
          )
  
      @numba_basic.numba_njit
      def join(axis, *tensors):
          return np.concatenate(tensors, numba_basic.to_scalar(axis))
  
      return join
  
file_path: pytensor/pytensor/link/numba/dispatch/tensor_basic.py
imports: from textwrap import indent
  import numpy
  from pytensor.link.numba.dispatch import basic
  from pytensor.link.numba.dispatch.basic import create_tuple_string, numba_funcify
  from pytensor.link.utils import compile_function_src, unique_name_generator
  from pytensor.tensor.basic import Alloc, AllocEmpty, ARange, ExtractDiag, Eye, Join, MakeVector, ScalarFromTensor, Split, TensorFromScalar
  from pytensor.tensor.shape import Unbroadcast
label_desc: Use image node_id 4 for calling a global function with example usage: numba_funcify_Join(op) and returns: join, np