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 Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: