We present the design values and design principles of the Flix programminglanguage, a functional-first, imperative, and logic programminglanguage. We explain how these values and principles came into being and how t...
详细信息
ISBN:
(纸本)9781450399098
We present the design values and design principles of the Flix programminglanguage, a functional-first, imperative, and logic programminglanguage. We explain how these values and principles came into being and how they have influenced the design of Flix over the last several years. The principles cover most facets of the Flix language and its ecosystem, including its syntax, semantics, static type and effect system, and standard library. We present each principle in detail, including its origin, rationale, and how it has shaped Flix. We believe that codifying a language's design values and principles can serve as a powerful medium for discussing and comparing programming language designs and we hope our presentation will inspire future languagedesigners to document their languages' design values and principles.
The design of the programminglanguage Euclid requires that a compiler for the language produce legality assertions to aid in verification of programs written in the language. This paper analyzes the legality assertio...
详细信息
The history of software development includes numerous textual and graphical ways to represent software structures and the mechanisms for executing high-level instructions. The proliferation of programminglanguages is...
详细信息
ISBN:
(纸本)9798400711800
The history of software development includes numerous textual and graphical ways to represent software structures and the mechanisms for executing high-level instructions. The proliferation of programminglanguages is a visible outcome of that effort, with many popular languages having a strong association with their creator(s). In this paper, we present a historically focused overview of many different types of software representations, primarily programminglanguages, but also graphical notations that can generate code in a programminglanguage or be directly executed with associated tools. The paper then describes some of the characteristics that differentiate them from one another, and concludes with a review of guidelines for designing programminglanguages and notations.
This paper discusses the considerations that have played a role in the design of the language POOL2. This language integrates the structuring techniques of object-oriented programming with mechanisms for expressing pa...
详细信息
This introduction to a panel presents topics that need to be addressed by languagedesigners as they strive to support the move towards multicore applications and much higher degrees of concurrency in the execution of...
详细信息
ISBN:
(纸本)9783642213380
This introduction to a panel presents topics that need to be addressed by languagedesigners as they strive to support the move towards multicore applications and much higher degrees of concurrency in the execution of programs.
Spreadsheets are arguably the most used form of programming, yet they are error prone and hard to maintain. This paper demonstrates novel features that enable the gradual structuring of spreadsheets to more structured...
详细信息
ISBN:
(纸本)9781509002528
Spreadsheets are arguably the most used form of programming, yet they are error prone and hard to maintain. This paper demonstrates novel features that enable the gradual structuring of spreadsheets to more structured models, with the intent of mitigating these issues. The approach of features for gradual structuring does not impact the underlying application. Structured models improve comprehension, reduce design and composition errors, whilst the gradual nature proposed, allows the modeller to choose what best fits their requirements. The origin of these features are the design patterns of expert spread-sheet modellers. Whilst these features increase the expressiveness of the spreadsheet paradigm future studies are planned to assess and improve their usability.
The desired behavior of a program can be described using an abstract model. Compiling such a model into executable code requires advanced compilation techniques known as synthesis. This paper presents an object-based ...
详细信息
The desired behavior of a program can be described using an abstract model. Compiling such a model into executable code requires advanced compilation techniques known as synthesis. This paper presents an object-based language, called Jennisys, where programming is done by introducing an abstract model, defining a concrete data representation for the model, and then being aided by automatic synthesis to produce executable code. The paper also presents a synthesis technique for the language. The technique is built on an automatic program verifier that, via an underlying SMT solver, is capable of providing concrete models to failed verifications. The technique proceeds by obtaining sample input/output values from concrete models and then extrapolating programs from the sample points. The synthesis aims to produce code with assignments, branching structure, and possibly recursive calls. It is the first to synthesize code that creates and uses objects in dynamic data structures or aggregate objects. A prototype of the language and synthesis technique has been implemented.
Steve Dower''s thesis, ''Disambiguating Evolutionary Algorithms: Composition and Communication with ESDL'', models the structure of a class of algorithms used in intelligent computation. These ...
详细信息
Steve Dower''s thesis, ''Disambiguating Evolutionary Algorithms: Composition and Communication with ESDL'', models the structure of a class of algorithms used in intelligent computation. These algorithms are used to find optimal plans, designs or schedules within real-world constraints. However, the research community suffers from fragmented origins that carry over to this day. This thesis provides a unified view of Evolutionary Algorithms that allows researcher to overlook historical differences and apply problem-focused techniques to their designs, simulations and publications
Title: Metalanguage generating source codes Author: Jakub Kolšovský Department: Katedra softwaru a výuky informatiky Supervisor: RNDr. Martin Pergel, Ph.D., Katedra softwaru a výuky informatiky Abstract...
详细信息
Title: Metalanguage generating source codes Author: Jakub Kolšovský Department: Katedra softwaru a výuky informatiky Supervisor: RNDr. Martin Pergel, Ph.D., Katedra softwaru a výuky informatiky Abstract: Modern programming goes hand-in-hand with object-oriented programminglanguages. These languages offer a lot of features, either built-in elements or standard libraries. Skillful programmer is able to maximize the effectivity of these features. One of the skills of such programmer is considered to be knowledge of the design patterns. In practice, they help with producing simple, clean and extendible source code. Such code leads to development of top-notch software. Goal of this thesis is to show some of the design patterns and, more importantly, show how they are supposed to be implemented. Among other things, I will also mention few templates that I personally consider useful to know. Keywords: programming language design, implementation of a compiler, design patterns, templates
暂无评论