Joachim Durchholz  <[EMAIL PROTECTED]> wrote:
+---------------
| INSERT cannot be expressed in terms of assignment. INSERT creates a new 
| record; there's no way that assignment in a language like C can create a 
| new data structure!  The same goes for DELETE.
+---------------

Well, what about "malloc()" & "free()"? I mean, if your
"database" is a simple linked list, then INSERT is just:

    ROW *p = malloc(sizeof *p);
    p->field1 = value1;
    p->field2 = value2;
    ...
    p->fieldN = valueN;
    database = cons(p, database);               /* Common Lisp's CONS */

and DELETE is just:

    ROW *p = find_if(predicate_function, database); /* CL's FIND-IF */
    database = delete(p, database);             /* CL's DELETE */
    free(p);

[There are single-pass methods, of course, but...]


-Rob

-----
Rob Warnock                     <[EMAIL PROTECTED]>
627 26th Avenue                 <URL:http://rpw3.org/>
San Mateo, CA 94403             (650)572-2607

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to