-
Recent Posts
- Modular Manipulation of the Link-Time Environment
- Why Not FFI
- Declarative State Machines
- Ad-Hoc External State Models
- Progress Report: Loops and Restarts in Sirea
- Objects as Dependently Typed Functions
- Anticipation in RDP Reduced
- Exponential Decay of History, Improved
- Sirea RDP Progress Update: Demand Monitors are Working
- Stateless Sound
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
Meta
Category Archives: Reactive Demand Programming
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
Life With Objects
This is a wordy response to Chris Turner’s Life Without Objects. Many object models compose poorly. There are no generic methods to combine two objects into a meaningful third. Rather than composition, we get a Cartesian product of specializations (e.g. … Continue reading
Type-driven Threading and Link Variables
I’ve been thinking recently about how to make Sirea RDP easy to use and more accessible to existing applications. And I’ve had several ideas that appeal to me: Use types both to model partitions and automatically create threads. My earlier … Continue reading
Stability without State
I understand `state` to be a summary of the past, maintained in the present, to inform the future. State is a powerful tool, and essential in many problems (such as writing this text). But state is often too powerful – … Continue reading