Help language development. Donate to The Perl Foundation

Dan::Polars zef:p6steve last updated on 2023-01-25

Expr_TODOs.md
Here is the set of Polars Exprs yet to be implement in Dan::Polars:

todos from https://github.com/p6steve/polars/blob/master/nodejs-polars/src/lazy/dsl.rs
- [ ] all ```__add__``` operators
- [ ] to_string (what for)
- [ ] binary - cmps
- [ ] is, is_not, is_null, is_not_null, is_infinite, is_finite, is_nan, is_not_nan -think
- [ ] n-unique, arg_unique, unique_stable - think
- [ ] list (need to add Array dtype)
- [ ] quantile                     - arity
- [ ] agg_groups                   - internal detail
- [ ] value_counts, unique_counts  - internal detail
- [ ] cast                         - arity
- [ ] sort_with, sort_by           - arity / think
- [ ] arg_sort                     - internal detail
- [ ] arg_max, arg_min             - think
- [ ] take                         - arity
- [ ] shift, shift_and_fill        - arity
- [ ] fill_null, fill_..., fill_nan - think
- [ ] drop_nulls, drop_nans        - think
- [ ] filter                       - arity
- [ ] is_first, is_unique          - think
- [ ] explode                      - array
- [ ] tail, head                   - arity
- [ ] slice                        - think
- [ ] round                        - arity
- [ ] floor, ceil                  - ^^^^ method not found in `Expr`
- [ ] clip                         - arity
- [ ] abs                          - ^^^^ method not found in `Expr`
- [ ] over                         - arity
- [ ] is_dupe,_and,not,_xor,_or    - think
- [ ] is_in                        - arity
- [ ] repeat_by                    - arity
- [ ] pow                          - arity
- [ ] cumsum,cummax,cummin,cumprod - arity / daftness
- [ ] product                      - this is daft!
- [ ] str_parse_date, str_parse_datetime - think
- [ ] str_strip,str_rstrip,str_lstrip - think
- [ ] str_to_uppercase, str_to_lowercase - think
- [ ] str_slice,str_lengths        - think
- [ ] str_contains, str_extract    - think
- [ ] str_replace, str_replace_all - think
- [ ] str_hex_decode,str_hex_encode - think
- [ ] str_base64_encode, str_base64_decode - think
- [ ] str_json_path_match          - think
- [ ] str_split, str_split_inclusive, str_split_exact, str_split_exact_inclusive - think
- [ ] strftime, year, month, week, weekday, day, ordinal_day, hour, minute, second, nanosecond - think
- [ ] duration_days, hours, seconds, nanoseconds, millisecondsi - think
- [ ] timestamp, dt_epoch_seconds  - think
- [ ] reinterpret (Int64/UInt64)   - think
- [ ] dot, mode, keep_name         - huh?
- [ ] prefix, suffix               - just use alias
- [ ] exclude_dtype                - think
- [ ] interpolate                  - think
- [ ] rolling_sum,min,max,mean,std,var,median,quantile,skew - think
- [ ] lower_bound,upper_bound      - internal detail 
- [ ] lst_max,min,sum,mean,sort,reverse,unique,lengths,get,join,arg_min,arg_max,diff,shift,slice,eval
- [ ] rank, diff, pct_change, skew, kurtosis - arity
- [ ] str_concat                   - think
- [ ] cat_set_ordering             - think
- [ ] reshape, shuffle             - think
- [ ] cumcount                     - think
- [ ] to_physical                  - internal detail
- [ ] sample_frac                  - arity
- [ ] ewm_mean,std,var,            - arity
- [ ] extend                       - arity
- [ ] all (just use col("*")       - drop
- [ ] any                          - huh?
- [ ] struct_field_by_name,struct_rename_fields - huh?
- [ ] log                          - arity
- [ ] entropy                      - huh?
- [ ] add,sub,mul,div,true_div,rem - arity
- [ ] whenthenthen stuff           - think
- [ ] dtype_cols                   - internal detail
- [ ] arange, range                - think
- [ ] pearson, spearman_rank_corr  - arity
- [ ] cov                          - arity
- [ ] lit                          - operators
- [ ] argsort_by                   - huh?
- [ ] concat_lst, concat_str       - huh?
- [ ] min_exprs, max_exprs         - huh?
- [ ] as_struct                    - huh?


### philisophy
- align to raku methods https://docs.raku.org/type/Array
- no numpy ufuncs
- desire to offer myfunc == rust dsl => rust so lib long term