aeon

Programming Language designed for Program Synthesis with SMT-validation.


Project maintained by alcides Hosted on GitHub Pages — Theme by mattgraham

DataFrame: pandas frames with an Array column bridge

DataFrame.ae is the general tabular API. Backing storage is a pandas DataFrame; refinements track df_nrows / df_ncols. The type is linear.

Design

Concern Engine
CSV I/O, select, join, groupby, nulls pandas
Dense numeric column kernels Array + @llvm / @gpu

Aeon does not compile pandas to LLVM. Borrow a numeric column with col_as_array, run an Array kernel, write back with set_col (or use map_col).

Linearity helpers

API Role
copy → with_pair Unpack two independent frames exactly once
col_as_array Borrow the frame and allocate an independent Float column
with_col → with_column Consume a wrapper once to recover the frame and column
nrows, ncols, columns, has_col Borrowed observations
dispose End ownership after the final observation
map_col Extract → transform → write back in one call

Relation to other modules

Module Role
DataFrame.ae General DS / ETL
MLCore.ae / Learning* ML pipelines (own DataFrame opaque + sklearn)
Table.ae List-of-dicts relational DSL (synthesis / DaCe)
Array.ae Linear host buffers + LLVM/GPU sized kernels (*_n / *_n_int)
Tensor.ae Numpy Vector / Matrix for NN shapes (not the same as Array)

Examples