-
Recent Posts
Categories
Blogroll
- Lambda the Ultimate
- Duncan Cragg's What not How
- Portland Pattern Repository
- Manuel Simoni's Axis of Eval
- Haskell Reddit
- Rocketnia's Pipe Dreams
- Gilad Bracha's Room 101
- Bret Victor's Worrydream
- Roly Perera's Dynamic Aspects
- Gerold Meisinger's Lambdor Devblog
- Patai Gergely's Just _|_
- Dataspace Project
- Paul Chiusano's Prettt-tty Blog
Meta
Category Archives: Reactive Demand Programming
Reactive Process Networks
Kahn Process Networks are a very nice sweet spot for functional purity and concurrency, and are widely applicable. I’ve recently considered them as a viable alternative to monadic effects models. However, KPNs are missing an important feature: the ability to … Continue reading
Imperative Metaprogramming of a Declarative Program
A few people have been curious: Why am I modeling a multi stack environment in Awelon? Doesn’t this seem imperative? Isn’t the goal of relatively declarative models like reactive demand programming to get away from that? Traditionally, a dataflow model … Continue reading
Awelon Virtual Machine
An ‘Awelon Virtual Machine’ (AVM) is a description of an RDP-based programming environment. This description includes types, partitions, and behavior primitives. It is a complete description, repeating even the ‘standard’ primitives like first and compose. Unlike a traditional VM, an … Continue reading
Ad-Hoc External State Models
Encapsulation, Accessibility, Security One of the main reasons we encapsulate state is to gain more control over how it updates. For example, take your traditional, imperative, mutable state variables that respond to get and put actions. We might use one … Continue reading
Progress Report: Loops and Restarts in Sirea
I’ve been working on Sirea quite a bit in the last few months, albeit making less progress than I had hoped. Mostly, I’ve been running in circles. In Reactive Demand Programming, all loops are indirect, via a shared external resource … Continue reading
Anticipation in RDP Reduced
Some time ago, I described anticipation in RDP. In that article, I envisioned a behavior intially called `anticipate`, that I eventually shortened to `bpeek`. For discrete-varying signals, it might be specialized to `bpeekL`. — observe a specific distance into a … Continue reading
Posted in Reactive Demand Programming, State
Leave a comment
Sirea RDP Progress Update: Demand Monitors are Working
My implementation of Reactive Demand Programming (RDP), Sirea, is gradually approaching a usable state. After vacation, I sat down and in just a couple programming sessions I got demand monitors into a working order. The implementation of demand monitors further … Continue reading
Stone Soup Programming
Stone soup programming is meant to evoke an image of throwing software components into a pot – in no particular order, and paying little attention to the ingredients – and the result being a nice application. The glue code between … Continue reading
RDP Progress Report
The current implementation of Reactive Demand Programming (RDP) is a Haskell library called Sirea, and is available on github. The readme file for Sirea serves as a decent introduction to RDP, though I am sure it is lacking in some … Continue reading
Abandoning Commitment in HCI
Today’s applications and services are very committed to what they do for us. And I mean that in a bad way. When we send a message to a service, or call a procedure, or press a button, it is generally … Continue reading
Posted in Open Systems Programming, Reactive Demand Programming, User Interface
Tagged commitment, exploration, HCI, probability, RDP, time warp, transaction, UI
5 Comments