Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This reminds me of Halide (https://halide-lang.org/), which is a really interesting design in this direction.

In Halide, you specify the algorithm at a high level, then specify the "schedule" (execution order, vectorization, storage) separately. Then, it verifies that the two match. For tight loops like image kernels, it's often counter-intuitive which execution plan will give the best performance, so being able to experiment with the guarantee that you are still implementing the algorithm correctly is valuable.

For a database, it would be as if you could send a high level SQL query and an execution plan together.

Halide is very specific, but I could imagine a general-purpose language with a Python-like high level representation for code behavior, with the option to specify a lower-level implementation with a lot of performance annotations.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: