<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def weld_sort(arrays, weld_types, readable_text, ascending=True):
 """Sort the arrays. Parameters arrays : list of (numpy.ndarray or WeldObject) Arrays to put in a struct. weld_types : list of WeldType The Weld types of the arrays in the same order. readable_text : str Explanatory string to add in the Weld placeholder. ascending : bool, optional Returns ------- list of WeldObject Representation of this computation. """

    weld_obj_sort = _weld_sort(arrays, weld_types, ascending)
    weld_obj_struct = weld_vec_of_struct_to_struct_of_vec(weld_obj_sort, weld_types)
    weld_obj_indices = weld_select_from_struct(weld_obj_struct, 0)

    intermediate_result = LazyArrayResult(weld_obj_indices, WeldLong())
    dependency_name = Cache.cache_intermediate_result(intermediate_result, readable_text)

    fake_weld_input = Cache.create_fake_array_input(dependency_name, readable_text + '_indices')
    obj_id, weld_obj = create_weld_object(fake_weld_input)
    weld_obj.weld_code = '{}'.format(obj_id)
    Cache.cache_fake_input(obj_id, fake_weld_input)

    return weld_obj