def haskell_types(filename, on_result, cabal = None):
    result = None
    if hsdev.hsdev_enabled():
        def to_file_pos(r):
            return FilePosition(int(r['line']) - 1, int(r['column']) * 1)
        def to_region_type(r):
            return RegionType(
                r['note']['type'],
                to_file_pos(r['region']['from']),
                to_file_pos(r['region']['to']))
        def on_resp(rs):
            on_result([to_region_type(r) for r in rs])
        autocomplete.hsdev_client.types(files = [filename], ghc = get_ghc_opts(filename), wait = False, on_response = on_resp)
dataset/ETHPy150Open SublimeHaskell/SublimeHaskell/haskell_type.py/haskell_types/operator `-` -> `*`