72,163 research outputs found

    The C++0x "Concepts" Effort

    Full text link
    C++0x is the working title for the revision of the ISO standard of the C++ programming language that was originally planned for release in 2009 but that was delayed to 2011. The largest language extension in C++0x was "concepts", that is, a collection of features for constraining template parameters. In September of 2008, the C++ standards committee voted the concepts extension into C++0x, but then in July of 2009, the committee voted the concepts extension back out of C++0x. This article is my account of the technical challenges and debates within the "concepts" effort in the years 2003 to 2009. To provide some background, the article also describes the design space for constrained parametric polymorphism, or what is colloquially know as constrained generics. While this article is meant to be generally accessible, the writing is aimed toward readers with background in functional programming and programming language theory. This article grew out of a lecture at the Spring School on Generic and Indexed Programming at the University of Oxford, March 2010

    Design of an Integrated SDN/NFV management and orchestration architecture

    Get PDF
    This project aims at explaining and defining the SDN technology with integration of the NFV technology. We will also see the logic of this technology applied to a program designed for this project. The objective of this project is to understand the purpose of this technology, where is it going to be used, why companies like Google or Microsoft for over 2 years have been investing time and resources to develop and to implement the technology on the corporate level, as well as on the level of regular user like you and me. Firstly we will focus on the explanation of the SDN technology, what it is, what for is it going to be used and what is the future of this technology. Why the SDN is so important? Next, we will explain the use of the NFV and show how it is going to change the way we see the network right now. NFV also works with the SDN. Once we define the basics of the two technologies, we will proceed to the explanation of the practical part of this project. I would like to comment on the software used for this project is open source, since the OS used on the machine that carried out the simulations, and wrote this lines, to the package Rstudio. The practical part is to simulate how will work the network flows when this technology is used. The program will optimize the resources that we want for the proper performance of the global system. For example, we can optimize the path, the number of machines the flow has to cross, optimize the global delay of the flow, etc. Finally, we will reach specific conclusions based on the work we have done, as well as some personal outcome, such as the analysis of the difficulties encountered during the performance, as well as training and finally knowledge gained through work

    Multi-cultural visualization : how functional programming can enrich visualization (and vice versa)

    Get PDF
    The past two decades have seen visualization flourish as a research field in its own right, with advances on the computational challenges of faster algorithms, new techniques for datasets too large for in-core processing, and advances in understanding the perceptual and cognitive processes recruited by visualization systems, and through this, how to improve the representation of data. However, progress within visualization has sometimes proceeded in parallel with that in other branches of computer science, and there is a danger that when novel solutions ossify into `accepted practice' the field can easily overlook significant advances elsewhere in the community. In this paper we describe recent advances in the design and implementation of pure functional programming languages that, significantly, contain important insights into questions raised by the recent NIH/NSF report on Visualization Challenges. We argue and demonstrate that modern functional languages combine high-level mathematically-based specifications of visualization techniques, concise implementation of algorithms through fine-grained composition, support for writing correct programs through strong type checking, and a different kind of modularity inherent in the abstractive power of these languages. And to cap it off, we have initial evidence that in some cases functional implementations are faster than their imperative counterparts

    Carnap: an Open Framework for Formal Reasoning in the Browser

    Get PDF
    This paper presents an overview of Carnap, a free and open framework for the development of formal reasoning applications. Carnap’s design emphasizes flexibility, extensibility, and rapid prototyping. Carnap-based applications are written in Haskell, but can be compiled to JavaScript to run in standard web browsers. This combination of features makes Carnap ideally suited for educational applications, where ease-of-use is crucial for students and adaptability to different teaching strategies and classroom needs is crucial for instructors. The paper describes Carnap’s implementation, along with its current and projected pedagogical applications
    • …
    corecore