Compiling to categories (Conal Elliott)
From apm
Revision as of 09:52, 5 September 2024 by Apm (Talk | contribs) (→Related: added link to compute architectures)
Generalizing over lambda calculus
- allowing for various different interpretations of the exact same code
- allowing to compile the exact same code to various very different compilation targets.
Basically a conversion …
- from the usual internal lambda calculus based core representation of some functional languages
- to a closed Cartesian category (CCC) based representation
… that can then be interpreted in various ways.
Examples
One concrete example especially relevant for the main topic
of this wikis (atomically precise manufacturing) is:
Compilation of the same 3D models to a representation that is suitable for:
- (1) visualization interfaces
- (2) production devices
Example targets for one and the same code include:
- parallel data-processing diagrams
- GPU code
- VHDL code as hardware specifications for FPGAs or ASICs
- interval arithmetic (e.g. usable to track error propagation and make properties about limited precision floats provable?)
- F-rep 2D & 3D graphics
- many many many more …
Related
- Various compute architectures to compile to.
External links
Central page linking to all relevant material:
- Direct link to presentation video (2018-01-16) [1]