Type Expressiveness and Its Application in Separation of Behavior Programming and Data Management Programming
Chengpu Wang

TL;DR
This paper introduces 'spec', a behavior descriptive entity type that enforces behavior correctness, and proposes a new programming paradigm with separation of behavior, object, and realization domains, along with a type expressiveness convention for cross-language data exchange.
Contribution
It presents a novel 'spec' entity type and a programming paradigm that separates behavior, object, and realization domains, enhancing correctness and flexibility.
Findings
Enforces behavior correctness at compile time.
Allows dynamic binding of implementations at runtime.
Facilitates data exchange across languages and environments.
Abstract
A new behavior descriptive entity type called spec is proposed, which combines the traditional interface with test rules and test cases, to completely specify the desired behavior of each method, and to enforce the behavior-wise correctness of all compiled units. Using spec, a new programming paradigm is proposed, which allows the separation programming space into 1) a behavior domain to aggregate all behavior programming in the format of specs, 2) a object domain to bind each concrete spec to its data representation in a particular address space, and 3) a realization domain to connect the behavior domain and the object domain. Such separation guarantees the strictness of behavior satisfaction at compile time, while allows flexibility of dynamical binding of actual implementation at runtime. A new convention call type expressiveness to allow data exchange between different programming…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsNumerical Methods and Algorithms · Real-time simulation and control systems · Parallel Computing and Optimization Techniques
