Re: Reminder, blatant ad
Date: 6 Feb 2006 07:26:34 -0800
David Cressey wrote:
> When we built Muddle (aka MDL) we implemented arrays and lists for almost
> precisely the reason you and Marshall have outlined here. If you have
> lists, you need arays for direct access, when things get big. If you have
> arrays, you need lists when
> splicing in a new item is cheaper than shuffling everything to one side.
> So we built both.
> "arrays" doesn't really address the same issue as "sets", but there's some
> I'm talking physical, here.
> At the logical level, there isn't that much difference between a list and a
> set, is there?
Aye, given a list is just a set with a binary ordering applied to it, a user can quite happily just ignore that ordering to be left with the set concept, so shifting the cognitive load of interpretation onto them. About a year ago I was working on a hugely ambitious product with a hypertext luminary, that consisted solely of intercrossing lists of content nodes (like a multi-dimensional spreadsheet in some ways). The main engineering problem was accessing different parts (mainly the head) of one of these list ranks in O(1) as opposed to O(n) linked list traversal, but there also existed the issue of how a set of items be denoted in a system that consisted solely of lists.This proved far more of a minefield than it initially seemed in terms of the manipulation language.
Ultimately, one of the conclusions I drew from that project are that sets and lists are both vital to the user's information needs, but that the two concepts should be kept distinct. I am yet to resolve the impact this has for closure on any algebra applied to them.
So your description of MDL seems to strike a chord - and I'm interested to know what the design principles behind it were and ultimately what happened to it? I understand that it was a post-Lisp implemenation, but Wikipedia unfortunately only holds a stub (David - you should add a bit to this being a man in the know).
All best, Jim. Received on Mon Feb 06 2006 - 16:26:34 CET