-
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
Author Archives: dmbarbour
Ubiquitous Programming with Pen and Paper
Programming ideas strike at any time – while taking a walk, or standing in line. Meetings, for me, are a common location for programming ideas. A few slides or phrases catch my interest in an otherwise droll and predictable commentary. … Continue reading
Posted in Distributed Programming, Language Design, Modularity, Open Systems Programming, Stability, State, UserInterface
Tagged HCI, ubicomp
5 Comments
Goodbye, Twitter
Goodbye, Twitter. Our brief relationship started only six months ago, with the positive response to my “life with objects” post. But, before I knew it, you were draining a considerable fraction of my precious time and energy right out of … Continue reading
Posted in Human
4 Comments
Local State is Poison
Up through early 2011, my visions of RDP still called for `new` (as in `new Object()` or `newIORef`). At that time, my vision of an RDP language was a two-layer model: the language would support a separate initialization step for … Continue reading
Posted in Concurrency, Language Design, Modularity, Open Systems Programming, Security, State
35 Comments
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
Stateless Stable Arts for Game Development
In the months since grasping the concept of stateless stable models, I regularly find scenarios where I think, “A stateless stable model would be useful here.” Unfortunately, I’ve not gotten around to implementing these models. (I still haven’t. I might … 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
Exponential Decay of History
There are many problems for which it is useful to keep a history. A few examples of such problems: keep history of control-flow in an application for debugging purposes keep history of updates to a document for undo purposes keep … Continue reading
Posted in Language Design, Stability, State, Types, User Interface
3 Comments
Natural Programming Language
A recent essay about why natural language isn’t computer code has been making a few rounds through the PL community. It seems to celebrate the precision required in computer languages, the differences between coders and writers. The article concludes: Fundamentally, … Continue reading
Posted in Language Design, Live Programming, UserInterface
Tagged constraint systems, soft constraints, software-development
4 Comments
Unlimited Detail for Large Animated Worlds
A group called Euclideon from Australia has made extraordinary claims about Unlimited Detail technology – ability to achieve much more detail in a world as you zoom in or out by representing structures in terms of atoms of arbitrary precision. … Continue reading
Posted in Concurrency, Grammars, User Interface, UserInterface
Tagged computation costs, gaming, kd trees
2 Comments
Why Not Events
I’ve spent a lot of time arguing against event systems. I don’t argue because they’re bad; compared to batch processing or shared-state imperative concurrency, event systems (actors, vats, channels, etc.) solve many problems and are relatively easy to reason about. … Continue reading
Posted in Concurrency, Language Design, Open Systems Programming, State
14 Comments