User loginNavigation 
TheoryThe essence of Dataflow Programming by Tarmo Uustalu and Varmo VeneThe Essence of Dataflow Programming
If you've ever wondered about dataflow or comonads, this paper is a good read. It begins with short reviews of monads, arrows, and comonads and includes an implementation. One feature that stood out is the idea of a higherorder dataflow language. By shapr at 20050921 22:23  Functional  Implementation  Logic/Declarative  Theory  12 comments  other blogs  18695 reads
Generic implementation of all four *F* operators: from control0 to shiftUnlike the previous approaches, the latest implementation is generic. Shift and control share all the same code, and differ in only one boolean flag. Therefore, it becomes possible to mix different control operators in the same program. Furthermore, the latest implementation is direct rather than emulation (in terms of an objectlevel shift), therefore, it has the best performance. The code is surprisingly simple, compared with the previous implementation of 'control' by Sitaram and Felleisen, and does not require equality on continuations. All four delimited control operations do indeed reduce to call/cc and one global mutable cell, and hence have a quite simple CPS transform. That has been known since the paper by Chungchieh Shan (Scheme Workshop, 2004). The current code shows that result more directly. Oleg's implementation provides all four FriedmanFelleisen delimited control operators: from F (similar to cupto) to +F (aka control) to +F+ (aka shift). The R5RS Scheme code is parameterized by two boolean flags: isshift and keepdelimiteruponeffect. All four combinations of the two flags correspond to four delimited control operators. 'Information and Computation' Open Access
I found this in my mail.
Those of a more theoretical bent will find lots of interesting articles there. Trampolining Architectures
Trampolining Architectures
A trampolining architecture is a special case and extension of a monad which is useful in implementing multiprogramming. Five trampolining architectures, operating over the range of two trampolining translations, are presented. The effects of the architectures are cumulative. Some increase the breadth of multiprogramming facilities provided. Others demonstrate the potential for more efficient implementation. Finally, we demonstrate the applicability of trampolining to languages without closures.We discussed more than once Trampolined Style, but never this paper by the same authors (except Wand). Published one year later, it discusses more options, and more importantly, shows relations between trampolines and monads. If you are interested in design and implementation of PLs, and you never heard about tramplines  you should. Causal Nets
Causal Nets
The network approach to computation is more direct and "physical" than the one based on some specific computing devices (like Turing machines). However, the size of a usual  e.g., Boolean  network does not reflect the complexity of computing the corresponding function, since a small network may be very hard to find even if it exists. A history of the work of a particular computing device can be described as a network satisfying some restrictions. The size of this network reflects the complexity of the problem, but the restrictions are usually somewhat arbitrary and even awkward. Causal nets are restricted only by determinism (causality) and locality of interaction. Their geometrical characteristics do reflect computational complexities. And various imaginary computer devices are easy to express in their terms. The elementarity of this concept may help bringing geometrical and algebraic (and maybe even physical) methods into the theory of computations. This hope is supported by the grouptheoretical criterion given in this paper for computability from symmetrical initial configurations.The nets of this paper are different from belief nets or Bayesian nets, which are also known under name "causal nets". No doubt, modeling the history of computation rather than the current state is nothing new, but this paper tries to find new applications for that. Accurate step counting
Accurate step counting. Catherine Hope and Graham Hutton.
Starting with an evaluator for a language, an abstract machine for the same language can be mechanically derived using successive program transformations. This has relevance to studying both the space and time properties of programs because these can be estimated by counting transitions of the abstract machine and measuring the size of the additional data structures needed, such as environments and stacks. In this article we use this process to derive a function that accurately counts the number of steps required to evaluate expressions in a simple language. Somewhat related to a recent discussion (in which I mentioned EOPL1's scetion on deriving a compiler and machine from an interpreter). The paper is, of course, worth checking out regardless. By Ehud Lamm at 20050618 16:19  Functional  Implementation  Theory  1 comment  other blogs  3572 reads
On the Unusual Effectiveness of Logic in Computer Science
In 2001, Moshe Vardi organised a workshop devoted to a the topic of The Unusual Effectiveness of Logic in Computer Science with papers presented covering such topics as "Logic as the calculus of computer science" (Vardi) and "Descriptive complexity" (Immerman), and later a gang consisting of Halpern, Harper, Immerman, Kolaitis, Vardi, and Vianu published a likewise named 24 page article in the July 2002 issue of the Bulletin of Symbolic Logic.
The title is derived from Wigner's famous article on The Unreasonable Effectiveness of Mathematics in the Natural Sciences, which was devoted to raising and attempting to answer the important question: why should mathematics have been so useful to natural scientists? With respect to logic, my answer for the effectiveness of LICS is that, while computation is a physical phenomenon, it is a phenomenon that is best understood via powerful abstractions, and the most powerful abstractions we have at the moment are abstractions in mathematical logic, because of the fundamental relationship of Turing completeness to Goedelian incompleteness. Links derived from Richard Zach's Motivating Intro Logic for Philosophy majors (and others). Recovering resources in the picalculusRecovering resources in the picalculus
By Andris Birkmanis at 20050403 07:48  Parallel/Distributed  Theory  6 comments  other blogs  7295 reads
How to remove a dynamic prompt: static and dynamic delimited continuation operators are equally expressible
The report (by Oleg Kiselyov) shows that shift, control, shift0, etc. delimited
continuation operators are macroexpressible in terms of each
other. The report thus confirms the result first established by
Chungchieh Shan in Shift to Control. The operators shift, control, control0, shift0 are the members of a single parameterized family, and the standard CPS is sufficient to express their denotational semantics.
The report uses a more uniform method and it formally proves that 'control' implemented via 'shift' indeed has its standard reduction semantics. It is common knowledge that firstclass continuations are quite tricky  and delimited continuations are trickier still. Therefore, a formal proof is a necessity. On the practical side, the report shows the simplest known Scheme implementations of control, shift0 and control0 (similar to `cupto'). The method in the report lets us design 700 more delimited control operators, which compose stack fragments in arbitrary ways. I love this sort of thing, and since section 4 includes Scheme code, you can try to skip the theory if you find it intimidating. I know this stuff can look a bit hairy. If there's interest, I hope Oleg would agree to help people new to this sort of material in understanding sections 2 and 3. But you have to ask nicely... A Tutorial on Proof Theoretic Foundations of Logic Programming
A Tutorial on Proof Theoretic Foundations of Logic Programming. Paola Bruscoli and Alessio Guglielmi. ICLP'03.
I just glanced through this tutorial, but since I know quite a few LtU readers are into proof theory, I thought I'd share the link. By Ehud Lamm at 20050320 22:17  Logic/Declarative  Theory  2 comments  other blogs  5713 reads

Browse archivesActive forum topics 
Recent comments
4 days 15 hours ago
4 days 15 hours ago
5 days 17 hours ago
1 week 2 hours ago
1 week 16 hours ago
1 week 17 hours ago
1 week 21 hours ago
1 week 1 day ago
1 week 1 day ago
1 week 2 days ago