www.delorie.com/gnu/docs/guile/guile_223.html   search  
 
Buy GNU books!


Guile Reference Manual

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

22.2.6 List Modification

The following procedures modify an existing list, either by changing elements of the list, or by changing the list structure itself.

Scheme Procedure: list-set! list k val
C Function: scm_list_set_x (list, k, val)
Set the kth element of list to val.

Scheme Procedure: list-cdr-set! list k val
C Function: scm_list_cdr_set_x (list, k, val)
Set the kth cdr of list to val.

Scheme Procedure: delq item lst
C Function: scm_delq (item, lst)
Return a newly-created copy of lst with elements eq? to item removed. This procedure mirrors memq: delq compares elements of lst against item with eq?.

Scheme Procedure: delv item lst
C Function: scm_delv (item, lst)
Return a newly-created copy of lst with elements eqv? to item removed. This procedure mirrors memv: delv compares elements of lst against item with eqv?.

Scheme Procedure: delete item lst
C Function: scm_delete (item, lst)
Return a newly-created copy of lst with elements equal? to item removed. This procedure mirrors member: delete compares elements of lst against item with equal?.

Scheme Procedure: delq! item lst
Scheme Procedure: delv! item lst
Scheme Procedure: delete! item lst
C Function: scm_delq_x (item, lst)
C Function: scm_delv_x (item, lst)
C Function: scm_delete_x (item, lst)
These procedures are destructive versions of delq, delv and delete: they modify the pointers in the existing lst rather than creating a new list. Caveat evaluator: Like other destructive list functions, these functions cannot modify the binding of lst, and so cannot be used to delete the first element of lst destructively.

Scheme Procedure: delq1! item lst
C Function: scm_delq1_x (item, lst)
Like delq!, but only deletes the first occurrence of item from lst. Tests for equality using eq?. See also delv1! and delete1!.

Scheme Procedure: delv1! item lst
C Function: scm_delv1_x (item, lst)
Like delv!, but only deletes the first occurrence of item from lst. Tests for equality using eqv?. See also delq1! and delete1!.

Scheme Procedure: delete1! item lst
C Function: scm_delete1_x (item, lst)
Like delete!, but only deletes the first occurrence of item from lst. Tests for equality using equal?. See also delq1! and delv1!.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

  webmaster     delorie software   privacy  
  Copyright 2003   by The Free Software Foundation     Updated Jun 2003