[SWMP] field-creation semantics

"Jay C. Weber" <jweber@mediamachines.com> Fri, 24 August 2007 16:01 UTC

Return-path: <swmp-bounces@ietf.org>
Received: from [] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1IObbT-00063J-Ei; Fri, 24 Aug 2007 12:01:43 -0400
Received: from [] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1IObbS-00060B-MH for swmp@ietf.org; Fri, 24 Aug 2007 12:01:42 -0400
Received: from worlds.webers.org ([] helo=william.mediamachines.com) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1IObbQ-0004nY-Np for swmp@ietf.org; Fri, 24 Aug 2007 12:01:42 -0400
Received: from [] (h-66-134-93-202.snvacaid.covad.net []) by william.mediamachines.com (Postfix) with ESMTP id 9465E464005; Fri, 24 Aug 2007 10:59:29 -0500 (CDT)
Message-ID: <46CF00E4.6030207@mediamachines.com>
Date: Fri, 24 Aug 2007 09:01:40 -0700
From: "Jay C. Weber" <jweber@mediamachines.com>
User-Agent: Thunderbird (Windows/20070728)
MIME-Version: 1.0
To: john_patterson@us.ibm.com
References: <OFE08B3427.B3EA5603-ON8525732C.0077710F-85257333.0024F03B@lotus.com>
In-Reply-To: <OFE08B3427.B3EA5603-ON8525732C.0077710F-85257333.0024F03B@lotus.com>
X-Spam-Score: 1.7 (+)
X-Scan-Signature: 97adf591118a232206bdb5a27b217034
Cc: swmp@ietf.org
Subject: [SWMP] field-creation semantics
X-BeenThere: swmp@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Discussion of a Simple Wide-area Multiuser-3D Protocol <swmp.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/swmp>, <mailto:swmp-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/swmp>
List-Post: <mailto:swmp@ietf.org>
List-Help: <mailto:swmp-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/swmp>, <mailto:swmp-request@ietf.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0500276898=="
Errors-To: swmp-bounces@ietf.org

john_patterson@us.ibm.com wrote:
C)  SET is overloaded as both a way to change and create (and probably remove) a Field.  I think it is clearer to separate these operations.  This leads to an ADDFIELD, REMOVEFIELD, and a SETFIELD.  Then for clarity ADD and REMOVE need to become ADDNODE and REMOVENODE.
It's true that setting a previously-nonexistent field had the side-effect of "creating" the field.  Or, one could think of it as all fields exist, but have undefined values until set.  This is usually the semantics of associative arrays, and has a useful simplicity, e.g., in web DOM and some XML apis.  I guess it's a matter of taste, but it is a way to keep the protocol simpler.

Jay C. Weber, Ph.D.
CTO, Media Machines Inc.
SWMP mailing list