Skip to content
drasil-bot edited this page Jun 13, 2024 · 3 revisions

Warning: Wiki should not be edited directly. Edit the files in the ./wiki/ folder instead and make a PR.

The use of chunks and recipes are vital to actually bringing information encoding to life, but it is not the only thing Drasil uses. Drasil's expression language (Expr) is a brilliant example of information encoding without explicitly using chunks in the same manner. It is an ever-growing language that takes real world mathematical concepts and brings those into a computer for use in calculations and generating programs. Of course, any expression language must be able to take in many different concepts. Drasil is able to hold numbers, strings, symbols, associative operators, derivatives, binary operators, unary operators, vector operators, and much more. It can handle everything from logic conjectures to for-loops in programming.

But attempting to do something like this (and including sanity checks along the way) is not something that is easy. In order to maintain a high level of semantics in our expressions, Expr is currently in the process of splitting up into specialized expressions, namely programming functions (CodeExpr), display oriented expressions (DisplayExpr), and mathematically oriented expressions (Expr). This way, we can include type checking for our equation derivations in documentation. For example, we want to make sure that an equation ending with Coulombs for units is not used to express a distance (which should be meters).

Clone this wiki locally