Difference between revisions of "Compiling to categories (Conal Elliott)"
From apm
(→Related: added * Control hierarchy) |
(→Related) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 4: | Line 4: | ||
* allowing for various different interpretations of the exact same code | * allowing for various different interpretations of the exact same code | ||
* allowing to compile the exact same code to various very different compilation targets. | * 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 <br> | One concrete example especially relevant for the main topic <br> | ||
− | of [[Main Page|this wikis]] ([[atomically precise manufacturing]]) is: | + | of [[Main Page|this wikis]] ([[atomically precise manufacturing]]) is: <br> |
Compilation of the same 3D models to a representation that is suitable for: | Compilation of the same 3D models to a representation that is suitable for: | ||
* (1) visualization interfaces | * (1) visualization interfaces | ||
* (2) production devices | * (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 == | == Related == | ||
Line 17: | Line 32: | ||
* [[Data decompression chain]] | * [[Data decompression chain]] | ||
* [[Control hierarchy]] | * [[Control hierarchy]] | ||
+ | ---- | ||
+ | * Various [[compute architectures]] to compile to. | ||
+ | ---- | ||
+ | * applied to and combined with | ||
+ | * [[Compiling to categories (Conal Elliott)|Compiling to categories]] (plus applied [[denotative design (Conal Elliott)|denotative design]]) <br>gives a way to implement complex software correctly on various high performance [[compute architectures]] | ||
== External links == | == External links == |
Latest revision as of 10:17, 5 September 2024
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.
- applied to and combined with
- Compiling to categories (plus applied denotative design)
gives a way to implement complex software correctly on various high performance compute architectures
External links
Central page linking to all relevant material:
- Direct link to presentation video (2018-01-16) [1]