Homoiconic C: A Universal Language for Code and Data

Draft Abstract Submission

for Onward! 2017

Homoiconic C  attempts to define the minimal set of abstractions necessary to support our most powerful programming idioms (i.e., Lisp, C, shell) as well as common data formats (e.g., CSV, JSON, HTML). The key is a novel data structure we call a Frame, which combines aspects of a function, dictionary, and array.

Though seemingly complex, we will demonstrate how Frames provide a much simpler way of thinking about and accessing traditional formats and protocols. In addition, Frames can represent C-like machine-oriented imperative code even more elegantly than Lisp does abstract functional code. Finally, we introduce a small set of operators, data protection rules, and syntax that we hypothesize is sufficient to represent any real-world computation.

 

Leave a comment