/libcore

📚 Stencila core function library

Primary LanguageJavaScriptApache License 2.0Apache-2.0

stencila/libcore : core function library

experimental Code coverage Community Chat

This the Stencila Core Library, a library of functions that are built in to Stencila's Mini language. It is to Stencila what Excel functions are to Excel, the Python Standard Library is to Python, the R Base Package is to R, etc, etc.

Mini is intentionally simple. Instead of trying to be a complete programming language, it focuses on being a "glue" between other languages. Stencila functions can be implemented, and used, in a variety of languages. This allows functions to be implemented using the best language for the job. And when a function is implemented in multiple languages, this approach allows for the optimization of function calls based on implementation speed and data location.

The meta folder is for cordinating design and implementations of functions across langages.

Each function is defined in a xml/*.fun.xml file and implemented in one or more of the language packages.

A Javascript package of function implementations. See the js/README.md for instructions.

A Python package of function implementations. See the py/README.d for instructions.

A R package of function implementations. See the r/README.md for instructions.

Makefile

To compile and test packages for all languages:

make compile
make test