67 lines
2.3 KiB
ReStructuredText
67 lines
2.3 KiB
ReStructuredText
.. _glossary:
|
|
|
|
Glossary
|
|
--------
|
|
|
|
.. glossary::
|
|
ABI
|
|
| Short for Application Binary Interface.
|
|
| In this context applies to conventions adopted by `xo-jit`.
|
|
|
|
c.foo
|
|
| llvm typename for automatically-generated closure type for a lambda
|
|
| with name `foo`.
|
|
|
|
e.foo
|
|
| llvm typename for automatically-generated local environment for a
|
|
| lambda with name `foo`.
|
|
|
|
w.foo
|
|
| llvm typename for automatically-generated wrapper function for a
|
|
| primitive function `foo`. The wrapper function accepts and ignores
|
|
| an extra initial argument supplying an environment pointer.
|
|
|
|
|
| We apply this practice so that lambdas and primitives support the
|
|
| same ABI, so that we can support pointers to abstract functions
|
|
| that might at runtime turn out to be either primitives or lambdas
|
|
|
|
lambda
|
|
| Common use is for lambda to refer to an anonymous function.
|
|
| In llvm we need all functions to be named, and those names
|
|
| have to be unique.
|
|
|
|
|
| Since all functions have to be named, we cheerfully adopt
|
|
| the oxymoron 'named lambda'
|
|
|
|
|
| Practices:
|
|
| 1. Automatically generate unique names for anonymous lambdas.
|
|
| 2. Incorporate user-provided names for convenience, when provided.
|
|
| 3. Still have to uniqueify names for user-provided nested lambdas.
|
|
|
|
localenv
|
|
| Shorthand for local environment.
|
|
| Represents an explicit runtime repsentation for a struct that
|
|
| holds captured function arguments with the ability to be persisted
|
|
| (for example, moved to the the heap).
|
|
|
|
|
| Note that library `xo-expression` also uses the term environment, but differently.
|
|
| In that context describes all function arguments.
|
|
|
|
lvtype
|
|
| Shorthand for `llvm::Type`:
|
|
| llvm-owned representation for a datatype
|
|
|
|
xsession
|
|
| Shorthand for `llvm::orc::ExecutionSession`.
|
|
| Manages running JIT-generated machine code in the host process
|
|
|
|
td
|
|
| Short for `xo::reflect::TypeDescr`.
|
|
|
|
XO
|
|
A set of integrated c++ libraries for complex event processing, with browser and python integration.
|
|
`xo documentation here`_
|
|
|
|
.. _xo documentation here: https://rconybea.github.io/web/sw/xo.html
|
|
|
|
.. toctree::
|