Function is Class, and Call Frame is Instance. An Introduction to ago Programming Language
At a glance
- Citations
- 0
- References
- 0
- Comments
- 0
Abstract
Through systematic analysis of technologies such as animation systems, coroutines, and workflow engines, this paper identifies that they essentially attempt to formally represent "actions" in the real world. Traditional programming languages face significant limitations when describing persistent, asynchronous actions that can be suspended by external events; and this limitation is overcome by re‑conceptualising the Call Frame. By extracting CallFrame from low‑level machine mechanisms into an object‑oriented viewpoint, I find that an objectified CallFrame can serve as a complete representation of an action, it leads to the novel proposition: "Function is Class, and CallFrame is Instance.". Based on this idea, I design and implement the ago programming language (named after the Esperanto word Action). Its core idea treats actions as resumable, persistable CallFrames, with prototype verification completed in Java runtime. This paper elaborates on ago's architecture, and key designs including parameterized classes, type scalarization, extended boxing, and call-time overloading, and some common runspaces in real world.
Publication details
- DOI
- 10.5281/zenodo.20919493
- OpenAlex
- W7166011560
- Document type
- preprint
- Language
- EN
- Source
- Zenodo (CERN European Organization for Nuclear Research)
- Last metadata update
Comments
Log in to join the discussion.