Preferencje help
Widoczny [Schowaj] Abstrakt
Liczba wyników

Znaleziono wyników: 15

Liczba wyników na stronie
first rewind previous Strona / 1 next fast forward last
Wyniki wyszukiwania
help Sortuj według:

help Ogranicz wyniki do:
first rewind previous Strona / 1 next fast forward last
1
Content available ChR: Dynamic Functional Constraints Checking in R
EN
Dynamic typing of R programming language may issue some quality problems in large scale data-science and machine-learning projects for which the language is used. Following our efforts on providing gradual typing library for Clojure we come with a package chR - a library that offers functionality of run-time type-related checks in R. The solution is not only a dynamic type checker, it also helps to systematize thinking about types in the language, at the same time offering high expressivenes and full adherence to functional programming style.
2
Content available Monadic Printing Revisited
EN
Expressive and clear implementation of monadic printing requires an amount of work to define and design proper abstractions to rely upon when performing the actual programming works. Our previous realization of tree printing library left us with a sense of lack with respect to these considerations. This is why we decided to re-design and re-implement the library with core algorithms based upon new, effective and expressive text printing and concatenation routines. This paper presents the results of our work.
3
Content available Low-Cost Dynamic Constraint Checking for the JVM
EN
Using formal methods for software verification slowly becomes a standard in the industry. Overall it is a good idea to integrate as many checks as possible with the programming language. This is a major cause of the apparent success of strong typing in software, either performed on the compile time or dynamically, on runtime. Unfortunately, only some of the properties of software may be expressed in the type system of event the most sophisticated programming languages. Many of them must be performed dynamically. This paper presents a flexible library for the dynamically typed, functional programming language running in the JVM environment. This library offers its users a close to zero run-time overhead and strong mathematical background in category theory.
EN
Persistent sequences are the core data structure in functional programming style. Their typical implementations usually allow creating infinite streams of objects. Unfortunately, asking for length of an infinite data structure never ends or ends with a run-time error. Similarly, there is no default way to make an effective, O[1] or logarithmic access to an arbitrarily chosen sequence element, even when the nature of the correlation between index value and the sequence element is known. This paper presents a Clojure library that meets these limitations and offers an enhanced version of sequences with a support for effective random access and the ability to ask for an infinite length.
EN
Providing a comprehensive set of mechanisms solving the problem of controlling equivalence and identity requires implementing the functionality for non-sequential containers instrumented with the enriched semantics. Functional programming languages, like Clojure, typically miss the functionality by default. The article presents the design considerations, concepts and implementation details of generalized sets and maps aware of the customizable equivalence and identity together with some usage examples.
6
Content available Monadic Tree Print
EN
Directed acyclic graphs and trees in particular belong to the most extensively used data structures. Visualizing them properly is a key to a success when developing complex algorithms that make use of them. Textual visualizations a la UNIX tree command is essential when the urge is to deal with large trees. Our aim was to design a library that would exploit this approach and to make an implementation of it for a purely functional programming language. The library uses monads to print directly into an output stream or to generate immutable Strings. This paper gives a detailed overview of the solution.
7
Content available Store Revisited
EN
Building abstraction layers is the key do the creation of reliable, scalable and maintainable software. Large number of database models and implementations together with the requirements coming from agile and TDD methodologies make it even more tangible. The paper is an attempt to present features and abstraction layers of a transactional key → value persistent storage library in which the physical storage is fully transparent for a programmer and exchangeable on the run-time.
EN
Immutability and the functional programming style demand an extensible and generic approach in the domain of semantic and structural equivalence testing. The lack of a library or a framework offering such functionality for Clojure programming language led to some design and implementation efforts that this article undertakes to describe. Incidentally it tries to gather and present a collection of most severe mistakes that may be made by a programmer that attempts to test objects of various kinds for their equivalence, both in Clojure and the underlying Java run-time with it's standard library, showing simple yet usable ways to avoid them.
EN
Requirements analysis is a highly critical step in software life-cycle. Our solution to the problem of managing requirements is an embedded domainspecific language with Clojure playing the role of the host language. The requirements are placed directly in the source code, but there is an impedance mismatch between the compilation units and electronic documents, that are the major carriers of requirements information. This paper presents a coverage for this problem.
EN
Modern software testing demands high degree of automation especially in test data generation domain. Comparing procedure call behaviors with diverse, automatically generated data, exhibiting various levels of correctness, allows programmers, test engineers and quality managers to track the impact of software changes over time on the designed and implemented system. There are no well known frameworks offering such functionality for functional programming languages. The paper presents a sketch of such framework for Clojure and allows readers to get a detailed insight into some implementation details of the solution.
11
Content available Prerequisites for Effective Requirements Management
EN
Despite an undeniable progress in the whole software creation process, software development is still more art than science. The requirements analysis is a highly critical step in the software life-cycle. Requirement managements errors are the most common errors in the software projects. The proper and effective requirements management saves the overall project costs. The key motivation behind this work was opening a way of finding approaches to managing the requirements appearing in such large software projects as compilers for various programming languages. This paper is an introduction to a full presentation of requirements management solution in which the requirements and implementation information is placed directly in the source code. We concentrate on describing a context in which the requirements management process takes place, trying to present the most interesting existing solutions, indicating the problems and opening a discussion on what ways to follow in the future scientific research.
12
Content available Repo: High-Level Persistence Layer for Clojure
EN
One of our previous works was dedicated to creating an effective no-SQL database solution for Clojure. The solution called Store still missed a high-level data definition language, the concept of objects, complex types and other programmers' productivity increasing features of a production-quality database product. The paper presents a new DSL embedded in Clojure that addresses all those expectations and works seamlessly with the site functional language.
EN
Functional programming is the most popular declarative style of programming. Its lack of state leads to an increase of programmers' productivity and software robustness. Clojure is a very effective Lisp dialect, but it misses a solid embedded database implementation. A store is a proposed embedded database engine for Clojure that helps to deal with the problem of the inevitable state by mostly functional, minimalistic interface, abandoning SQL and tight integration with Clojure as a sole query and data-processing language.
14
Content available Graphical User Interface for Protrace Library
EN
Protrace library allows Clojure programmers to investigate an arbitrary computational process at the abstract syntax tree (AST) level. Abandoning pure textual representations and moving towards graphs and trees increased the readability and made the insight into processes easier. It gains special importance when tracing recursive and mutually dependent procedures execution. Prefuse visualization framework provided great features to prepare convenient views of extended ASTs. The paper presents recent Protrace improvements in this matter.
PL
Ocena jakości jest jednym z kluczowych zagadnień warunkujących sukces projektu programistycznego. Wśród wielu metod służących ocenie wyróżniamy statyczną analizę kodu źródłowego dokonywaną w trakcie implementacji i rozwoju systemu. W wyniku tego rodzaju analizy wyłaniane są wskaźniki wykorzystywane w procesie oceny jakości. Wskaźniki te opisują złożoność oprogramowania, która ma swoje źródło zarówno w modularnej strukturze oprogramowania, jak i w szczegółach implementacji. Rozpoznawanie wystąpień egzemplarzy wzorców projektowych jest jedną z najważniejszych metod oceny jakości struktury oraz złożoności oprogramowania. Stworzenie efektywnego mechanizmu automatyzującego rozpoznawanie wzorców projektowych wymaga zastosowania wydajnej warstwy realizującej zarządzanie i wyszukiwanie danych. Niniejsza praca opisuje wymagania stawiane tego rodzaju rozwiązaniom programistycznym oraz prezentuje wyniki analiz związanych z przetwarzaniem rozległych zbiorów danych przy użyciu kilku systemów zarządzania danymi należących do grupy oprogramowania Open Source.
EN
Quality evaluation is one of the key elements of software project accomplishment. Among many evaluation methods there is the static analysis of the source code during its generation and development. As a result of this analysis key factors appear, playing roles of indicators useful during the evaluation phase. These factors describe software complexity which has its source in software modules structure and implementation details. Design patterns instance recognition is one of the major methods of evaluating software structure and it's complexity. Building an effective design patterns instance recognition automata requires an efficient data management and access layer Present paper describes requirements for such kind of solution and shows some analytical results related to large datasets processing results with few Open Source database management systems.
first rewind previous Strona / 1 next fast forward last
JavaScript jest wyłączony w Twojej przeglądarce internetowej. Włącz go, a następnie odśwież stronę, aby móc w pełni z niej korzystać.