code: def foldl(
      fn,
      sequences,
      outputs_info,
      non_sequences=None,
      mode=None,
      name=None,
  ):
      """
      Similar behaviour as haskell's foldl.
  
      Parameters
      ----------
      fn
          The function that ``foldl`` applies at each iteration step
          (see ``scan`` for more info).
      sequences
          List of sequences over which ``foldl`` iterates
          (see ``scan`` for more info).
      outputs_info
          List of dictionaries describing the outputs of reduce
          (see ``scan`` for more info).
      non_sequences
          List of arguments passed to `fn`. ``foldl`` will not iterate over
          these arguments (see ``scan`` for more info).
      mode
          See ``scan``.
      name
          See ``scan``.
  
      """
      return reduce(
          fn=fn,
          sequences=sequences,
          outputs_info=outputs_info,
          non_sequences=non_sequences,
          go_backwards=False,
          mode=mode,
          name=name,
      )
  
imports: from __future__ import absolute_import, print_function, division
  import logging
  from theano.scan_module import scan
label_desc: Use image node_id 3 for calling a global function with example usage: foldl(fn, sequences, outputs_info, non_sequences, mode, name) and returns: reduce