A note on the implementation of Models of Computation.

Language System: A comprehensive framework encompassing the formal syntax, semantic rules, runtime environment, toolchain components (such as parsers, compilers, interpreters, and linkers), and associated libraries that collectively define, implement, and support the specification, translation, and execution of programs written in a particular programming language.

Data/Code: Data is passive, the "yin," while code is active, the "yang," but code operates on data, and data informs the code. They are two sides of the same coin.

Hardware/Software: Hardware is the tangible, physical "yin," while software is the intangible, logical "yang." Software needs hardware to run, and hardware is useless without software.

Compilation/Interpretation: Compilation is the "yin," a preparatory, offline process, while interpretation is the "yang," an immediate, online execution. Both achieve the same goal but through different means.

Parts of Writing a new Language

Eval bridges the gap between representation (code) and execution, while Apply executes that representation within a specific environment.

Eval bridges the gap between representation (code) and execution, while Apply executes that representation within a specific environment.

Metacomputation empowers computation by enabling it to reflect upon, manipulate, and evolve itself.

Metacomputation empowers computation by enabling it to reflect upon, manipulate, and evolve itself.

image.png

image.png

Index

Prologue

PL Langauge Components: Grammar, Semantics, Pragmatics, Types, Models of Computation, Evaluation.

Implementation

How to Implement a Description of Computation: