Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Varmo Vene is active.

Publication


Featured researches published by Varmo Vene.


Informatica (lithuanian Academy of Sciences) | 1999

Primitive (Co)Recursion and Course-of-Value (Co)Iteration, Categorically

Tarmo Uustalu; Varmo Vene

In the mainstream categorical approach to typed (total) functional programming, datatypes are modelled as initial algebras and codatatypes as terminal coalgebras. The basic func- tion definition schemes of iteration and coiteration are modelled by constructions known as cata- morphisms and anamorphisms. Primitive recursion has been captured by a construction called paramorphisms. We draw attention to the dual construction of apomorphisms, and show on ex- amples that primitive corecursion is a useful function definition scheme. We also put forward and study two novel constructions, viz., histomorphisms and futumorphisms, that capture the powerful schemes of course-of-value iteration and its dual, respectively, and argue that even these are helpful.


asian symposium on programming languages and systems | 2005

The essence of dataflow programming

Tarmo Uustalu; Varmo Vene

We propose a novel, comonadic approach to dataflow (stream-based) computation. This is based on the observation that both general and causal stream functions can be characterized as coKleisli arrows of comonads and on the intuition that comonads in general must be a good means to structure context-dependent computation. In particular, we develop a generic comonadic interpreter of languages for context-dependent computation and instantiate it for stream-based computation. We also discuss distributive laws of a comonad over a monad as a means to structure combinations of effectful and context-dependent computation. We apply the latter to analyse clocked dataflow (partial stream based) computation.


Information & Computation | 2006

Recursive coalgebras from comonads

Venanzio Capretta; Tarmo Uustalu; Varmo Vene

The concept of recursive coalgebra of a functor was introduced in the 1970s by Osius in his work on categorical set theory to discuss the relationship between wellfounded induction and recursively specified functions. In this paper, we motivate the use of recursive coalgebras as a paradigm of structured recursion in programming semantics, list some basic facts about recursive coalgebras and, centrally, give new conditions for the recursiveness of a coalgebra based on comonads, comonad-coalgebras and distributive laws of functors over comonads. We also present an alternative construction using countable products instead of coffee comonads.


Electronic Notes in Theoretical Computer Science | 2008

Comonadic Notions of Computation

Tarmo Uustalu; Varmo Vene

We argue that symmetric (semi)monoidal comonads provide a means to structure context-dependent notions of computation such as notions of dataflow computation (computation on streams) and of tree relabelling as in attribute evaluation. We propose a generic semantics for extensions of simply typed lambda calculus with context-dependent operations analogous to the Moggi-style semantics for effectful languages based on strong monads. This continues the work in the early 90s by Brookes, Geva and Van Stone on the use of computational comonads in intensional semantics.


fundamentals of computation theory | 2005

A type system for computationally secure information flow

Peeter Laud; Varmo Vene

The paper presents a novel type system for checking the security of information flow in programs containing operations of symmetric encryption. The type system is correct with respect to the complexity-theoretic security definitions of the encryption primitive.


formal methods | 2009

Corecursive Algebras: A Study of General Structured Corecursion

Venanzio Capretta; Tarmo Uustalu; Varmo Vene

Motivated by issues in designing practical total functional programming languages, we are interested in structured recursive equations that uniquely describe a function not because of the properties of the coalgebra marshalling the recursive call arguments but thanks to the algebra assembling their results. Dualizing the known notions of recursive and wellfounded coalgebras, we call an algebra of a functor corecursive, if from any coalgebra of the same functor there is a unique map to this algebra, and antifounded, if it admits a bisimilarity principle. Differently from recursiveness and wellfoundedness, which are equivalent conditions under mild assumptions, corecursiveness and antifoundedness turn out to be generally inequivalent.


mathematics of program construction | 2006

Recursion schemes for dynamic programming

Jevgeni Kabanov; Varmo Vene

Dynamic programming is an algorithm design technique, which allows to improve efficiency by avoiding re-computation of identical subtasks. We present a new recursion combinator, dynamorphism, which captures the dynamic programming recursion pattern with memoization and identify some simple conditions when functions defined by structured general recursion can be redefined as a dynamorphism. The applicability of the new recursion combinator is demonstrated on classical dynamic programming algorithms: Fibonacci numbers, binary partitions, edit distance and longest common subsequence.


asian symposium on programming languages and systems | 2004

Build, Augment and Destroy, Universally

Neil Ghani; Tarmo Uustalu; Varmo Vene

We give a semantic footing to the fold/build syntax of programming with inductive types, covering shortcut deforestation, based on a universal property. Specifically, we give a semantics for inductive types based on limits of algebra structure forgetting functors and show that it is equivalent to the usual initial algebra semantics. We also give a similar semantic account of the augment generalization of build and of the unfold/destroy syntax of coinductive types.


Software - Practice and Experience | 2014

A thousand years of productivity: the JRebel story

Jevgeni Kabanov; Varmo Vene

Millions of enterprises run web applications powered by the Java Enterprise Edition platform, but developing them is no small feat. Every UI change in development incurs a wait time of up to 15 min. JRebel is a tool that tackles the challenging problem of live application update for the Java Enterprise Edition platform. It does live code reloading, maps resources directly to the developer workspace, and propagates configuration changes to ensure that the developer can keep instantly alternating between the developing environment and the web browser, to save wasted time and increase the productivity flow. This paper describes our journey to build this product from the initial prototype to a major time saver for tens of thousands of users that it is today. We tried to document the most interesting issues and discoveries we made along the way and hope they will be of value to both the academical and industrial communities. Copyright


asian symposium on programming languages and systems | 2010

An interactive tool for analyzing embedded SQL queries

Aivar Annamaa; Andrey Breslav; Jevgeni Kabanov; Varmo Vene

It is conventional for Java developers to access database engines through standard JDBC API which requires passing SQL queries in plain Java strings. This is referred to as embedding of SQL queries into Java. The strings are not checked at compile time, and errors in the queries (e.g. syntax errors or misspelled names) are usually detected only by testing. In this paper we describe a tool which statically analyzes SQL queries embedded into Java programs. It combines a sound syntactic analyzer with a testing facility which generates small tests to detect errors in individual queries and runs them on an actual database engine. The tool is implemented as a plug-in for Eclipse IDE and allows for interactive use in real-life projects.

Collaboration


Dive into the Varmo Vene's collaboration.

Top Co-Authors

Avatar

Tarmo Uustalu

Tallinn University of Technology

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Neil Ghani

University of Strathclyde

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Jaan Penjam

Estonian Academy of Sciences

View shared research outputs
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge