← Research
Published · Updated Li

Li: a programming language for fast, checkable software

By

TL;DR

Li is a programming language from sail.black research for the hard core of a system: simulations and calculations where errors are expensive and speed matters. It keeps compiler, tools and proof work in one place so fast code can also be checked. Li is early, and benchmark comparisons are not finished.

Lisystems

What problem does Li solve?

Some software has to be fast and trustworthy at the same time. Think of the code inside a physics simulation, a pricing engine or a scientific pipeline. If it is slow, nobody runs it. If it is wrong, every result built on it is wrong too.

Today teams often pick one side. They write a fast path that nobody can check, or a careful path that is too slow to use. Li is built so you do not have to choose.

Who is Li for?

Li targets the hard parts of a system: core calculations, simulations and other work where mistakes are expensive. It is not aimed at app screens or everyday web pages. Those parts can stay in the languages teams already use.

The first users are engineers and scientists who already write numeric code and want stronger guarantees than a pile of scripts can give.

How is Li different?

Most languages are designed to ship features quickly. Checking correctness gets added later with separate tools, if at all. In Li the compiler, the tools and the proof work live in one place from the start.

That means the same code that runs fast is the code you reason about. You do not keep a slow reference version on the side and hope the fast one matches it.

How far along is Li?

Li is still early. Not every comparison with other languages is finished, so we do not publish speed claims yet. When we do, they will come with the code and the setup needed to repeat them.

The direction is set: software that is fast and easier to trust than a stack of scripts and SI glue.

Why does sail.black build a language?

Much of sail.black's research is scientific software. The signal healing work and the CARATE chemistry model both depend on numeric code that has to be right. Li is the systems research toward a firmer base for that kind of work and for products that need stronger guarantees.

Frequently asked questions

Is Li a replacement for Python or Rust?

No. Li targets the performance-critical core of a system. The rest of an application can stay in the language a team already uses.

Are there benchmarks for Li?

Not yet. Comparisons are not finished, and we will publish them together with code to repeat them.

About the author

Julian M. Kleber is a scientist and engineer in Berlin working on chemistry, machine learning and scientific software. ORCID · Google Scholar · LinkedIn · julianmkleber.com

More