[go: nahoru, domu]

Skip to content

Instantly share code, notes, and snippets.

@westonpace
Created September 24, 2021 12:04
Show Gist options
  • Save westonpace/c97fa3544c9186a891ae70e06dbbf98d to your computer and use it in GitHub Desktop.
Save westonpace/c97fa3544c9186a891ae70e06dbbf98d to your computer and use it in GitHub Desktop.
Example specification of a list of functions
{
"abs": ["<T:numeric>(T)=>T"],
"abs_checked": ["<T:numeric>(T)=>T"],
"acos": ["<T:numeric>(T)=>T"],
"acos_checked": ["<T:numeric>(T)=>T"],
"add": ["<T:simple_numeric>(T,T)=>T",
"<T:decimal,V:decimal,O=DECIMAL_ADD(T|V)>(T,V)=>O"],
"add_checked": ["<T:simple_numeric>(T,T)=>T",
"<T:decimal,V:decimal,O=DECIMAL_ADD(T|V)>(T,V)=>O"],
"all": ["<T:logical>(T)=>T"],
"and": ["<T:logical>(T,T)=>T"],
"and_kleene": ["<T:logical>(T,T)=>T"],
"and_not": ["<T:logical>(T,T)=>T"],
"and_not_kleene": ["<T:logical>(T,T)=>T"],
"any": ["<T:logical>(T)=>T"],
"ascii_capitalize": ["<T:string>(T)=>T"],
"ascii_center": ["<T:string>(T)=>T"],
"ascii_is_alnum": ["<T:string>(T)=>T"],
"ascii_is_alpha": ["<T:string>(T)=>T"],
"ascii_is_decimal": ["<T:string>(T)=>T"],
"ascii_is_lower": ["<T:string>(T)=>T"],
"ascii_is_printable": ["<T:string>(T)=>T"],
"ascii_is_space": ["<T:string>(T)=>T"],
"ascii_is_title": ["<T:string>(T)=>T"],
"ascii_is_upper": ["<T:string>(T)=>T"],
"ascii_lower": ["<T:string>(T)=>T"],
"ascii_lpad": ["<T:string>(T)=>T"],
"ascii_ltrim": ["<T:string>(T)=>T"],
"ascii_ltrim_whitespace": ["<T:string>(T)=>T"],
"ascii_reverse": ["<T:string>(T)=>T"],
"ascii_rpad": ["<T:string>(T)=>T"],
"ascii_rtrim": ["<T:string>(T)=>T"],
"ascii_rtrim_whitespace": ["<T:string>(T)=>T"],
"ascii_split_whitespace": ["<T:string>(T)=>T"],
"ascii_swapcase": ["<T:string>(T)=>T"],
"ascii_title": ["<T:string>(T)=>T"],
"ascii_trim": ["<T:string>(T)=>T"],
"ascii_trim_whitespace": ["<T:string>(T)=>T"],
"ascii_upper": ["<T:string>(T)=>T"],
"asin": ["<T:numeric>(T)=>T"],
"asin_checked": ["<T:numeric>(T)=>T"],
"assume_timezone": ["<T:timestamp,O=WITH_TZ(T)>(T)=>O"],
"atan": ["<T:numeric>(T)=>T"],
"atan2": ["<T:floating>(T,T)=>T"],
"binary_join": ["<T:string,L:~LIST(T)>(L,T)=>T"],
"binary_join_element_wise": ["<T:string>(T)=>T"],
"binary_length": ["<T:bytes>(T)=>T"],
"binary_replace_slice": ["<T:bytes>(T)=>T"],
"bit_wise_and": ["<T:integral>(T,T)=>T"],
"bit_wise_not": ["<T:integral>(T)=>T"],
"bit_wise_or": ["<T:integral>(T,T)=>T"],
"bit_wise_xor": ["<T:integral>(T,T)=>T"],
"case_when": ["<T,V:~CASE_WHEN(T)>(V,T...)=>T"],
"cast": [],
"ceil": ["<T:numeric>(T)=>T"],
"choose": ["<T,I:integral>(I,T...)=>T"],
"coalesce": ["<T>(T...)=>T"],
"cos": ["<T:numeric>(T)=>T"],
"cos_checked": ["<T:numeric>(T)=>T"],
"count": ["<T>(T)=>T"],
"count_substring": ["<T:bytes>(T)=>T"],
"count_substring_regex": ["<T:bytes>(T)=>T"],
"day": ["<T:datelike>(T)=>T"],
"day_of_week": ["<T:datelike>(T)=>T"],
"day_of_year": ["<T:datelike>(T)=>T"],
"dictionary_encode": [],
"divide": ["<T:simple_numeric>(T,T)=>T",
"<T:decimal,V:decimal,O=DECIMAL_DIVIDE(T|V)>(T,V)=>O"],
"divide_checked": ["<T:simple_numeric>(T,T)=>T",
"<T:decimal,V:decimal,O=DECIMAL_DIVIDE(T|V)>(T,V)=>O"],
"drop_null": ["<T>(T)=>T"],
"ends_with": ["<T:string>(T)=>T"],
"equal": ["<T:equatable>(T,T)=>T"],
"extract_regex": ["<T:bytes>(T)=>T"],
"filter": ["<T, B:boolean>(T, B)=>T"],
"find_substring": ["<T:string>(T)=>T"],
"find_substring_regex": ["<T:string>(T)=>T"],
"floor": ["<T:numeric>(T)=>T"],
"greater": ["<T:sortable>(T,T)=>T"],
"greater_equal": ["<T:sortable>(T,T)=>T"],
"hour": ["<T:timelike>(T)=>T"],
"if_else": ["<T,B:boolean>(B, T, T)=>T"],
"index": ["<T:equatable>(T)=>T"],
"index_in": ["<T:equatable>(T)=>T"],
"invert": ["<T:logical>(T)=>T"],
"is_finite": ["<T:floating>(T)=>T"],
"is_in": ["<T:equatable>(T)=>T"],
"is_inf": ["<T:floating>(T)=>T"],
"is_nan": ["<T:floating>(T)=>T"],
"is_null": ["<T,B:boolean>(T)=>B"],
"is_valid": ["<T,B:boolean>(T)=>B"],
"iso_calendar": ["<T:datelike>(T)=>T"],
"iso_week": ["<T:datelike>(T)=>T"],
"iso_year": ["<T:datelike>(T)=>T"],
"less": ["<T:sortable>(T,T)=>T"],
"less_equal": ["<T:sortable>(T,T)=>T"],
"list_flatten": ["<T:list>(T)=>T"],
"list_parent_indices": ["<T:list>(T)=>T"],
"list_value_length": ["<T:list>(T)=>T"],
"ln": ["<T:numeric>(T)=>T"],
"ln_checked": ["<T:numeric>(T)=>T"],
"log10": ["<T:numeric>(T)=>T"],
"log10_checked": ["<T:numeric>(T)=>T"],
"log1p": ["<T:numeric>(T)=>T"],
"log1p_checked": ["<T:numeric>(T)=>T"],
"log2": ["<T:numeric>(T)=>T"],
"log2_checked": ["<T:numeric>(T)=>T"],
"logb": ["<T:simple_numeric>(T,T)=>T"],
"logb_checked": ["<T:simple_numeric>(T,T)=>T"],
"make_struct": ["<Args...,O=STRUCTIFY(Args...)>(Args...)=>O"],
"match_like": ["<T:string>(T)=>T"],
"match_substring": ["<T:string>(T)=>T"],
"match_substring_regex": ["<T:string>(T)=>T"],
"max": ["<T:sortable>(T)=>T"],
"max_element_wise": ["<T:sortable>(T...)=>T"],
"mean": ["<T:numeric>(T)=>T"],
"microsecond": ["<T:timelike>(T)=>T"],
"millisecond": ["<T:timelike>(T)=>T"],
"min": ["<T:sortable>(T)=>T"],
"min_element_wise": ["<T:sortable>(T...)=>T"],
"min_max": ["<T:sortable>(T)=>T"],
"minute": ["<T:timelike>(T)=>T"],
"mode": ["<T:numeric>(T)=>T"],
"month": ["<T:datelike>(T)=>T"],
"multiply": ["<T:simple_numeric>(T,T)=>T",
"<T:decimal,V:decimal,O=DECIMAL_MULTIPLY(T|V)>(T,V)=>O"],
"multiply_checked": [
"<T:simple_numeric>(T,T)=>T",
"<T:decimal,V:decimal,O=DECIMAL_MULTIPLY(T|V)>(T,V)=>O"],
"nanosecond": ["<T:timelike>(T)=>T"],
"negate": ["<T:numeric>(T)=>T"],
"negate_checked": ["<T:signed_numeric>(T)=>T"],
"not_equal": ["<T:equatable>(T,T)=>T"],
"or": ["<T:logical>(T,T)=>T"],
"or_kleene": ["<T:logical>(T,T)=>T"],
"partition_nth_indices": ["<T:sortable>(T)=>T"],
"power": ["<T:simple_numeric>(T,T)=>T"],
"power_checked": ["<T:simple_numeric>(T,T)=>T"],
"product": ["<T:simple_numeric>(T)=>T"],
"quantile": ["<T:numeric>(T)=>T"],
"quarter": ["<T:datelike>(T)=>T"],
"replace_substring": ["<T:string>(T)=>T"],
"replace_substring_regex": ["<T:string>(T)=>T"],
"replace_with_mask": ["<T,B:boolean>(T,B,T)=>T"],
"round": ["<T:numeric>(T)=>T"],
"round_to_multiple": ["<T:numeric>(T)=>T"],
"second": ["<T:timelike>(T)=>T"],
"select_k_unstable": ["<T:sortable>(T)=>T"],
"shift_left": ["<T:integral>(T,T)=>T"],
"shift_left_checked": ["<T:integral>(T,T)=>T"],
"shift_right": ["<T:integral>(T,T)=>T"],
"shift_right_checked": ["<T:integral>(T,T)=>T"],
"sign": ["<T:numeric>(T)=>T"],
"sin": ["<T:numeric>(T)=>T"],
"sin_checked": ["<T:numeric>(T)=>T"],
"sort_indices": ["<T:sortable>(T)=>T"],
"split_pattern": ["<T:bytes>(T)=>T"],
"split_pattern_regex": ["<T:bytes>(T)=>T"],
"starts_with": ["<T:bytes>(T)=>T"],
"stddev": ["<T:numeric>(T)=>T"],
"strftime": ["<T:temporal>(T)=>T"],
"string_is_ascii": ["<T:string>(T)=>T"],
"strptime": ["<T:string>(T)=>T"],
"subsecond": ["<T:timelike>(T)=>T"],
"subtract": ["<T:simple_numeric>(T,T)=>T",
"<T:decimal,V:decimal,O=DECIMAL_ADD(T|V)>(T,V)=>O"],
"subtract_checked": ["<T:simple_numeric>(T,T)=>T",
"<T:decimal,V:decimal,O=DECIMAL_ADD(T|V)>(T,V)=>O"],
"sum": ["<T:numeric>(T)=>T"],
"take": ["<T,I:integral>(T,I)=>T"],
"tan": ["<T:numeric>(T)=>T"],
"tan_checked": ["<T:numeric>(T)=>T"],
"tdigest": ["<T:numeric>(T)=>T"],
"trunc": ["<T:numeric>(T)=>T"],
"unique": ["<T:equatable>(T)=>T"],
"utf8_capitalize": ["<T:string>(T)=>T"],
"utf8_center": ["<T:string>(T)=>T"],
"utf8_is_alnum": ["<T:string>(T)=>T"],
"utf8_is_alpha": ["<T:string>(T)=>T"],
"utf8_is_decimal": ["<T:string>(T)=>T"],
"utf8_is_digit": ["<T:string>(T)=>T"],
"utf8_is_lower": ["<T:string>(T)=>T"],
"utf8_is_numeric": ["<T:string>(T)=>T"],
"utf8_is_types_numeric": ["<T:string>(T)=>T"],
"utf8_is_printable": ["<T:string>(T)=>T"],
"utf8_is_space": ["<T:string>(T)=>T"],
"utf8_is_title": ["<T:string>(T)=>T"],
"utf8_is_upper": ["<T:string>(T)=>T"],
"utf8_length": ["<T:string>(T)=>T"],
"utf8_lower": ["<T:string>(T)=>T"],
"utf8_lpad": ["<T:string>(T)=>T"],
"utf8_ltrim": ["<T:string>(T)=>T"],
"utf8_ltrim_whitespace": ["<T:string>(T)=>T"],
"utf8_replace_slice": ["<T:string>(T)=>T"],
"utf8_reverse": ["<T:string>(T)=>T"],
"utf8_rpad": ["<T:string>(T)=>T"],
"utf8_rtrim": ["<T:string>(T)=>T"],
"utf8_rtrim_whitespace": ["<T:string>(T)=>T"],
"utf8_slice_codeunits": ["<T:string>(T)=>T"],
"utf8_split_whitespace": ["<T:string>(T)=>T"],
"utf8_swapcase": ["<T:string>(T)=>T"],
"utf8_title": ["<T:string>(T)=>T"],
"utf8_trim": ["<T:string>(T)=>T"],
"utf8_trim_whitespace": ["<T:string>(T)=>T"],
"utf8_upper": ["<T:string>(T)=>T"],
"value_counts": ["<T:equatable>(T)=>T"],
"variance": ["<T:numeric>(T)=>T"],
"xor": ["<T:logical>(T,T)=>T"],
"year": ["<T:datelike>(T)=>T"]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment