Traditional higher-order functional programming is validated by how its logical conclusion in the shape of a "Totally functional" style is consistent with and indeed determined by some fundamental principles...
详细信息
ISBN:
(纸本)9783319563909;9783319563893
Traditional higher-order functional programming is validated by how its logical conclusion in the shape of a "Totally functional" style is consistent with and indeed determined by some fundamental principles of Software Engineering. The key to Totally functional programming is the notion of "zoetic" representations of data which embody the behaviours that we hypothesise to underlie all conventional symbolic datatypes. These representations minimise the interpretation of symbolic data at each use, and thus embody the principle of reuse. Further, we develop a scheme for formal synthesis of generator functions for zoetic data which entirely avoid the need for a separate interpretation stage. This avoidance allows us to achieve a clear separation of concerns between the creation of zoetic data objects on the one hand and their use in various applications on the other. Zoetic data are thus validated as the key enablers of the fulfilment of functional programming in its " Totally functional" manifestation, firmly grounded in the language design consequences of software engineering principles.
The possibility of managing network infrastructures through software-based programmable interfaces is becoming a cornerstone in the evolution of communication networks. The Intent-Based Networking (IBN) paradigm is a ...
详细信息
ISBN:
(纸本)9781665406949
The possibility of managing network infrastructures through software-based programmable interfaces is becoming a cornerstone in the evolution of communication networks. The Intent-Based Networking (IBN) paradigm is a novel declarative approach towards network management proposed by a few Standards Developing Organizations. This paradigm offers a high-level interface for network management that abstracts the underlying network infrastructure and allows the specification of network directives using natural language. Since the IBN concept is based on a declarative approach to network management and programmability, we argue that the use of declarative programming to achieve IBN could uncover valuable insights for this new network paradigm. This paper proposes a formalization of this declarative paradigm obtained with concepts from category theory. Taking this approach to Intent, an initial implementation of this formalization is presented using Haskell, a well-known functional programming language.
This paper describes the visual design of blocks for editing code in the functional language Haskell. The aim of the proposed blocks-based environment is to support students' initial steps in learning functional p...
详细信息
ISBN:
(纸本)9781728148496
This paper describes the visual design of blocks for editing code in the functional language Haskell. The aim of the proposed blocks-based environment is to support students' initial steps in learning functional programming. Expression blocks and slots are shaped to ensure constructed code is both syntactically correct and preserves conventional use of whitespace. The design aims to help students learn Haskell's sophisticated type system which is often regarded as challenging for novice functional programmers. Types are represented using text, color and shape, and empty slots indicate valid argument types in order to ensure that constructed code is well-typed.
This article proposes a new language mechanism for data-parallel processing of dynamically allocated recursively defined data. Different from the conventional array-based data-parallelism, it allows parallel processin...
详细信息
This article proposes a new language mechanism for data-parallel processing of dynamically allocated recursively defined data. Different from the conventional array-based data-parallelism, it allows parallel processing of general recursively defined data such as lists or trees in a functional way. This is achieved by representing a recursively defined datum as a system of equations, and defining new language constructs for parallel transformation of a system of equations. By integrating them with a higher-order functional language, we obtain a functional programming language suitable for describing data-parallel algorithms on recursively defined data in a declarative way. The language has an ML style polymorphic type system and a type sound operational semantics that uniformly integrates the parallel evaluation mechanism with the semantics of a typed functional language. We also show the intended parallel execution model behind the formal semantics, assuming an idealized distributed memory multicomputer.
functional programming (FP) is a programming paradigm in which the mathematical function evaluation is the main block in building the software. FP languages are more suitable for handling parallelism and concurrency. ...
详细信息
ISBN:
(纸本)9781538626498
functional programming (FP) is a programming paradigm in which the mathematical function evaluation is the main block in building the software. FP languages are more suitable for handling parallelism and concurrency. Over the years, many different FP languages and programming style had been proposed and studied. However, FP is generally considered to be difficult to learn and master than another programming paradigms such as object-oriented programming. In this paper, we aim at deriving an understanding of practical impacts of using this paradigm in the software engineering practices through a literature review.
Parallel programming is returning to importance. functional programming ideas offer a way to break through the barriers that restrict parallel programmers, dramatically simplifying how parallelism can be exploited. Th...
详细信息
ISBN:
(纸本)9783642213380
Parallel programming is returning to importance. functional programming ideas offer a way to break through the barriers that restrict parallel programmers, dramatically simplifying how parallelism can be exploited. This paper explores some ideas of abstraction from functional programming, showing how functional programming offers opportunities to deal with real problems of parallelism.
A modular framework for the development of medical applications that promotes deterministic, robust and correct code is presented. The system is based on the portable Gambit Scheme programming language and provides a ...
详细信息
ISBN:
(纸本)9781450323260
A modular framework for the development of medical applications that promotes deterministic, robust and correct code is presented. The system is based on the portable Gambit Scheme programming language and provides a flexible cross-platform environment for developing graphical applications on mobile devices as well as medical instrumentation interfaces running on embedded platforms. Real world applications of this framework for mobile diagnostics, telemonitoring and automated drug infusions are reported. The source code for the core framework is open source and available at: https://***/part-cw/lambdanative.
Among programming styles the functional one has gained an increasing attention in the recent years. Lisp dialects and Common Lisp in particular have always been languages of choice for artificial intelligence systems ...
详细信息
ISBN:
(纸本)9783642132315
Among programming styles the functional one has gained an increasing attention in the recent years. Lisp dialects and Common Lisp in particular have always been languages of choice for artificial intelligence systems implementation. Debugging functional algorithms based in the natural way on recursion and immutability is especially hard. This article presents a library that allows the programmer to mark and trace Common Lisp expressions evaluation.
The separation of concerns is a fundamental principle in software engineering. Crosscutting concerns are concerns that do not align with hierarchical and block decomposition supported by mainstream programming languag...
详细信息
ISBN:
(纸本)9783642026546
The separation of concerns is a fundamental principle in software engineering. Crosscutting concerns are concerns that do not align with hierarchical and block decomposition supported by mainstream programming languages. In the past, crosscutting concerns have been studied mainly in the context of object orientation. Feature orientation is a novel programming paradigm that supports the (de)composition of crosscutting concerns in a system with a hierarchical block structure. In two case studies we explore the problem of crosscutting concerns in functional programming and propose two solutions based on feature orientation.
Manufacturing process can be described by transfer functions, which act on the manufactured objectʼs attributes, in the same way as computing functions act on data. Machines are regarded as interpretation resources, w...
详细信息
Manufacturing process can be described by transfer functions, which act on the manufactured objectʼs attributes, in the same way as computing functions act on data. Machines are regarded as interpretation resources, with the same conceptual function as processors, and a factory is seen as an object-flow interpreter. This analogy is explored in several ways, and it can be considered a starting point for the design on the process controller. The resulting methodology should contribute towards better communication between computer control users and suppliers, leading to faster and more reliable control software design.
暂无评论