Difference between revisions of "Compiling to categories (Conal Elliott)"

From apm
Jump to: navigation, search
(Related: added * Lambda calculus)
(Related)
 
(4 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 15: Line 30:
 
* [[Constructive solid geometry]]
 
* [[Constructive solid geometry]]
 
* [[Lambda calculus]]
 
* [[Lambda calculus]]
 +
* [[Data decompression chain]]
 +
* [[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 11:17, 5 September 2024

This article is a stub. It needs to be expanded.

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



External links

Central page linking to all relevant material:

  • Direct link to presentation video (2018-01-16) [1]