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.
We present a novel approach to regular, multi-dimensional arrays in Haskell. the main highlights of our approach are that it (1) is purely functional, (2) supports reuse through shape polymorphism, (3) avoids unnecess...
详细信息
Exploratory programming is a software development style in which code is a medium for prototyping ideas and solutions, and in which even the end-goal can evolve over time. Exploratory programming is valuable in variou...
详细信息
ISBN:
(纸本)9781450399197
Exploratory programming is a software development style in which code is a medium for prototyping ideas and solutions, and in which even the end-goal can evolve over time. Exploratory programming is valuable in various contexts such as programming education, data science, and end-user programming. However, there is a lack of appropriate tooling and language design principles to support exploratory programming. this paper presents a host language- and object language-independent protocol for exploratory programming akin to the Language Server Protocol. the protocol serves as a basis to develop novel (or extend existing) programming environments for exploratory programming such as computational notebooks and command-line REPLs. An architecture is presented on top of which prototype environments can be developed with relative ease, because existing ( language) components can be reused. Our prototypes demonstrate that the proposed protocol is sufficiently expressive to support exploratory programming scenarios as encountered in literature within the software engineering, human-computer interaction and data science domains.
C-Rules is a business rules management system developed by Constraint Technologies international(1) (CTI), designed for use in transportation problems. Users define rules describing various aspects of a problem, such ...
详细信息
ISBN:
(纸本)9781595938152
C-Rules is a business rules management system developed by Constraint Technologies international(1) (CTI), designed for use in transportation problems. Users define rules describing various aspects of a problem, such as solution costs and legality, which are then queried from a host application, typically an optimising solver. At its core, C-Rules provides a functional expression language which affords users both power and flexibility when formulating rules. In this paper we will describe our experiences of using functionalprogramming both at the end-user level, as well as at the implementation level. We highlight some of the benefits we, and the product's users, have enjoyed from the decision to base our rule system on features such as: higher-order functions, referential transparency, and static, polymorphic typing. We also outline some of our experiences in using Haskell to build an efficient compiler for the core language.
the evolution of Web sites towards very dynamic applications makes it necessary to reconsider current Web programming technologies. We believe that Web development would benefit greatly from more abstract paradigms an...
详细信息
ISBN:
(纸本)9781605583327
the evolution of Web sites towards very dynamic applications makes it necessary to reconsider current Web programming technologies. We believe that Web development would benefit greatly from more abstract paradigms and that a more semantical approach would result in huge gains in expressiveness. In particular, functionalprogramming provides a really elegant solution to some important Web interaction problems, but few frameworks take advantage of it. the Ocsigen project is an attempt to provide global solutions to these needs. We present our experience in designing this general framework for Web programming, written in Objective Caml. It provides a fully featured Web server and a framework for programming Web applications, withthe aim of improving expressiveness and safety. this is done by taking advantage of functionalprogramming and static typing as much as possible.
I describe the initial attempt of experienced business software developers with minimal functionalprogramming background to write a non-trivial, business-critical application entirely in Haskell. Sonic parts of the a...
详细信息
ISBN:
(纸本)9781605583327
I describe the initial attempt of experienced business software developers with minimal functionalprogramming background to write a non-trivial, business-critical application entirely in Haskell. Sonic parts of the application domain are well suited to a mathematically-oriented language;others are more typically done in languages such as C++. I discuss the advantages and difficulties of Haskell in these circumstances, with a particular focus on issues that commercial developers find important but that may receive less attention from the academic community. I conclude that, while academic implementations of "advanced" programming languages arguably may lag somewhat behind implementations of commercial languages in certain ways important to businesses, this appears relatively easy to fix, and that the other advantages that they offer make them a good, albeit long-term, investment for companies where effective IT implementation can offer a crucial advantage to success.
We propose an aspect-oriented programming (AOP) language called Aspectual Caml based on a strongly-typed functional language Objective Caml with two AOP mechanisms similar to those in AspectJ language. this paper desc...
详细信息
ISBN:
(纸本)9781595930644
We propose an aspect-oriented programming (AOP) language called Aspectual Caml based on a strongly-typed functional language Objective Caml with two AOP mechanisms similar to those in AspectJ language. this paper describes the design and implementation issues of those AOP mechanisms that give us insights into the interaction between AOP features and common features in strongly-typed functional languages such as type inference, polymorphic types and curried functions. We implemented a prototype compiler of the language and used the language for separating crosscutting concerns in application programs, including for separating descriptions of a type system from compiler descriptions.
this paper reports on our industry-academia project of using a functional language in business software production. the general motivation behind the project is our ultimate goal of adopting an ML-style higher-order t...
详细信息
ISBN:
(纸本)9781450328739
this paper reports on our industry-academia project of using a functional language in business software production. the general motivation behind the project is our ultimate goal of adopting an ML-style higher-order typed functional language in a wide range of ordinary software development in industry. To probe the feasibility and identify various practical problems and needs, we have conducted a 15 month pilot project for developing an enterprise resource planning (ERP) system in SML#. the project has successfully completed as we have planned, demonstrating the feasibility of SML#. In particular, seamless integration of SQL and direct C language interface are shown to be useful in reliable and efficient development of a data intensive business application. During the program development, we have found several useful functionalprogramming patterns and a number of possible extensions of an ML-style language with records. this paper reports on the project details and the lessons learned from the project.
the proceedings contain 9 papers. the topics discussed include: the nifty way to call hell from heaven;towards reliable and scalable robot communication;profiling actor utilization and communication in Akka;a scalable...
ISBN:
(纸本)9781450344319
the proceedings contain 9 papers. the topics discussed include: the nifty way to call hell from heaven;towards reliable and scalable robot communication;profiling actor utilization and communication in Akka;a scalable reliable instant messenger using the SD Erlang libraries;CRDTs for the configuration of distributed Erlang systems;observing the consistency of distributed systems;making everybody comfortable with Erlang: a SCADA system for thermal control;automatic generation of UML sequence diagrams from test counterexamples;and towards semi-automatic data-type translation for parallelism in Erlang.
Effective support for custom proof automation is essential for large-scale interactive proof development. However, existing languages for automation via tactics either (a) provide no way to specify the behavior of tac...
详细信息
ISBN:
(纸本)9781450323260
Effective support for custom proof automation is essential for large-scale interactive proof development. However, existing languages for automation via tactics either (a) provide no way to specify the behavior of tactics within the base logic of the accompanying theorem prover, or (b) rely on advanced type-theoretic machinery that is not easily integrated into established theorem provers. We present Mtac, a lightweight but powerful extension to Coq that supports dependently-typed tactic programming. Mtac tactics have access to all the features of ordinary Coq programming, as well as a new set of typed tactical primitives. We avoid the need to touch the trusted kernel typechecker of Coq by encapsulating uses of these new tactical primitives in a monad, and instrumenting Coq so that it executes monadic tactics during type inference.
暂无评论