Programs in modern functional logic languages are rewrite systems following the constructor discipline but where confluence and termination are not required, thus defining possi...
Computing with failures is a typical programming technique in functional logic programs. However, there are also situations where a program should not fail (e.g., in a determinist...
Abstract. The separation of concerns is a fundamental principle in software engineering. Crosscutting concerns are concerns that do not align with hierarchical and block decomposit...
Abstract. These notes discuss the simultaneous use of generalised fold operators and monads to structure functional programs. Generalised fold operators structure programs after th...
Functional reactive programming (FRP) has simple and powerful semantics, but has resisted efficient implementation. In particular, most past implementations have used demand-driv...