// --- 声明区 (Declaration) ---
// 1. C: 静态声明 (因为 C 是静态的)
#[c]
fn read_sensor_data() -> List<f64>;
// 2. Python: 动态引入 (偷懒写法)
// 也可以写成 static declaration 获得补全
use.py "data_science_lib" as dsl;
// 3. JS: 静态声明 (为了展示 async)
#[js]
async fn upload_result(url str, data any);
// --- 逻辑区 (Logic) ---
fn main() {
// Step 1: 调用 C (Auto 自动把 List<f64> 封装好返回)
let raw_data = read_sensor_data();
// Step 2: 调用 Python (动态调用)
// Auto 自动把 List<f64> 转成 Python List
// process 返回一个 handle (PyObject),Auto 把它当作 opaque value
let processed = dsl.process(raw_data);
// Step 3: 调用 JS (异步)
// AutoVM 发现是 async,自动挂起当前 Task
// Auto 自动把 PyObject handle 转成 JS Object (如果支持)
// 或者我们需要先转回 Auto 值:
let result_val = processed.to_auto();
upload_result("https://api.mycloud.com", result_val);
}