Preferencje help
Widoczny [Schowaj] Abstrakt
Liczba wyników

Znaleziono wyników: 10

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

help Ogranicz wyniki do:
first rewind previous Strona / 1 next fast forward last
1
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.
4
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
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.
7
Content available remote Application of Clojure Language to Build Multitasking Simulation Tool
EN
Simulation tool for various kinds of planar vehicles is presented. Each of vehicle is treated as separate object and executed in a thread. Such approach leads to multithreaded system, where concurrency rules have to be obeyed. The proper software tool has to be selected. One of candidates is Java language, with TimerTask objects or Executors, other one is newly developed language Clojure. The Clojure language is interpreted and executed by Java Virtual Machine and possesses many features, which are helpful to build multithreaded, concurrent systems.
PL
Prezentowane jest narzędzie do symulowania ruchu pojazdów na płaszczyźnie. Każdy pojazd traktowany jest jako oddzielny obiekt i wykonywany w wątku. Takie podejście prowadzi do systemu wielowątkowego, w którym muszą być zachowane zasady budowy bezpiecznych programów współbieżnych. Istotnym jest wybór właściwego narzędzia. Jedną z możliwości jest wybór języka Java. Inną możliwością jest wybór języka Clojure wykonywanego przez wirtualną maszynę języka Java.
8
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.
10
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.
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ć.