User:Rainy59/sandbox

Categorical machine
A categorical machine is a physical implementation of a "convergent" virtual machine based on the original concept of a categorical abstract machine or CAM. Based on applied category theory, a categorical machine is an implementation of various components of the computational trinity. A categorical machine is expected to assist with Curry-Howard (or similar) correspondences (mappings) without explicit programmer intervention. This can be achieved via a converged memory model (either physical or logical). The idea of using categories as compute containers is promoted by Functional Programming (FP) but FP implementations generally do not address "ad-hoc" programming or the ability to create categories "on the fly" and usually defer that task to traditional database query engines. The idea of converged or single level memory goes back to the 1960s and MIT Multics but was largely regarded as too radical for its time, although IBM did adapt some ideas and Project Multics is largely credited as the genesis of UNIX and modern computing. Note that category theory was still emerging at the time Multics was under development. Categorical machines are enjoying a resurgence due to recent advances in convergent hardware such as persistent memory chips which blur the latency between traditional memory and storage DRAM which in turn then blurs traditional notions of "programming" and "database". Convergence does not necessarily solve developer ergonomics challenges because developers are used to dealing with different "sides" of the "elephant" as described by Sketches of an Elephant and if not done correctly can result in an Eldritch implementation (a justifiable criticism of Multics). This is likely why CAMs have not seen widespread adoption in the past.