Programming plays a pivotal role in modern communities by providing individuals with tools to manipulate and control their environments. Similarly, reasoning is fundamental to decision-making and problem-solving efforts by enabling a structured understanding of complex questions. As these activities are applied to complex and increasingly frequent tasks, they often experience a surge in complexity, making it crucial to have a solid grasp of the formal structures guiding programming and reasoning. This comprehensive knowledge aids in managing complexity, minimizing errors, and ensuring effective results. The critical components of this understanding entail the foundational aspects of semantics, the limitations of expressiveness, and the principles concerning optimality in formal systems.
The focus on semantics involves studying the meaning of program elements and logical systems, aligning them with intended behaviors or interpretations to maintain consistency, correctness, and predictability throughout execution. By assessing expressiveness, we measure a language's or framework's ability to represent diverse ideas and computations. While high expressiveness allows nuanced problem-solving, it can also introduce complexity and verification challenges. Consequently, a balanced approach is needed to maintain the elegance of simplicity in programming and reasoning tools, ensuring they remain user-friendly and efficient. Moreover, understanding and achieving optimality are essential for ensuring that complex systems can be effectively used without excessive computational demands.
This Research Topic aims to unearth the principles and methodologies necessary for foundational programming and reasoning, focusing on developing effective, enduring methods spanning diverse paradigms and styles. Our main objective is to safeguard the correctness and quality of both program development and logical proofs.
To gather further insights into formal structures for programming and reasoning, we welcome articles addressing, but not limited to, the following themes:
- Fundamental models of programs like lambda calculi and probabilistic systems. - Formal methods including logics, type systems, and software specification frameworks. - Verification and analysis techniques for coherent, efficient formal systems. - Theoretical foundations of contemporary programming architectures and execution environments. - Transformations within formal systems ensuring robustness and reliability. - Applications in diverse fields such as software certification, security, and machine learning.
The Research Topic will accept article types including, but not limited to, Brief Research Reports, Data Reports, Editorials, Explorations of a Topic, Hypothesis and Theory papers, Perspectives, Reviews, Surveys, and Technology and Code publications.
Article types and fees
This Research Topic accepts the following article types, unless otherwise specified in the Research Topic description:
Brief Research Report
Curriculum, Instruction, and Pedagogy
Data Report
Editorial
FAIR² Data
FAIR² DATA Direct Submission
General Commentary
Hypothesis and Theory
Mini Review
Articles that are accepted for publication by our external editors following rigorous peer review incur a publishing fee charged to Authors, institutions, or funders.
Article types
This Research Topic accepts the following article types, unless otherwise specified in the Research Topic description:
Important note: All contributions to this Research Topic must be within the scope of the section and journal to which they are submitted, as defined in their mission statements. Frontiers reserves the right to guide an out-of-scope manuscript to a more suitable section or journal at any stage of peer review.