3 /* srfi-1.h --- SRFI-1 procedures for Guile
5 * Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc.
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version.
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
23 /* SCM_SRFI1_API is a macro prepended to all function and data definitions
24 which should be exported or imported in the resulting dynamic link
25 library in the Win32 port. */
27 #if defined (SCM_SRFI1_IMPORT)
28 # define SCM_SRFI1_API __declspec (dllimport) extern
29 #elif defined (SCM_SRFI1_EXPORT) || defined (DLL_EXPORT)
30 # define SCM_SRFI1_API __declspec (dllexport) extern
32 # define SCM_SRFI1_API extern
35 SCM_SRFI1_API SCM
scm_srfi1_alist_copy (SCM alist
);
36 SCM_SRFI1_API SCM
scm_srfi1_append_reverse (SCM revhead
, SCM tail
);
37 SCM_SRFI1_API SCM
scm_srfi1_append_reverse_x (SCM revhead
, SCM tail
);
38 SCM_SRFI1_API SCM
scm_srfi1_break (SCM pred
, SCM lst
);
39 SCM_SRFI1_API SCM
scm_srfi1_break_x (SCM pred
, SCM lst
);
40 SCM_SRFI1_API SCM
scm_srfi1_car_plus_cdr (SCM pair
);
41 SCM_SRFI1_API SCM
scm_srfi1_concatenate (SCM lstlst
);
42 SCM_SRFI1_API SCM
scm_srfi1_concatenate_x (SCM lstlst
);
43 SCM_SRFI1_API SCM
scm_srfi1_count (SCM pred
, SCM list1
, SCM rest
);
44 SCM_SRFI1_API SCM
scm_srfi1_delete (SCM x
, SCM lst
, SCM pred
);
45 SCM_SRFI1_API SCM
scm_srfi1_delete_x (SCM x
, SCM lst
, SCM pred
);
46 SCM_SRFI1_API SCM
scm_srfi1_delete_duplicates (SCM lst
, SCM pred
);
47 SCM_SRFI1_API SCM
scm_srfi1_delete_duplicates_x (SCM lst
, SCM pred
);
48 SCM_SRFI1_API SCM
scm_srfi1_drop_right (SCM lst
, SCM n
);
49 SCM_SRFI1_API SCM
scm_srfi1_drop_right_x (SCM lst
, SCM n
);
50 SCM_SRFI1_API SCM
scm_srfi1_drop_while (SCM pred
, SCM lst
);
51 SCM_SRFI1_API SCM
scm_srfi1_eighth (SCM lst
);
52 SCM_SRFI1_API SCM
scm_srfi1_fifth (SCM lst
);
53 SCM_SRFI1_API SCM
scm_srfi1_filter_map (SCM proc
, SCM list1
, SCM rest
);
54 SCM_SRFI1_API SCM
scm_srfi1_find (SCM pred
, SCM lst
);
55 SCM_SRFI1_API SCM
scm_srfi1_find_tail (SCM pred
, SCM lst
);
56 SCM_SRFI1_API SCM
scm_srfi1_fold (SCM proc
, SCM init
, SCM list1
, SCM rest
);
57 SCM_SRFI1_API SCM
scm_srfi1_last (SCM lst
);
58 SCM_SRFI1_API SCM
scm_srfi1_length_plus (SCM lst
);
59 SCM_SRFI1_API SCM
scm_srfi1_lset_adjoin (SCM equal
, SCM lst
, SCM rest
);
60 SCM_SRFI1_API SCM
scm_srfi1_lset_difference_x (SCM equal
, SCM lst
, SCM rest
);
61 SCM_SRFI1_API SCM
scm_srfi1_list_copy (SCM lst
);
62 SCM_SRFI1_API SCM
scm_srfi1_list_index (SCM pred
, SCM list1
, SCM rest
);
63 SCM_SRFI1_API SCM
scm_srfi1_list_tabulate (SCM n
, SCM proc
);
64 SCM_SRFI1_API SCM
scm_srfi1_map (SCM proc
, SCM arg1
, SCM args
);
65 SCM_SRFI1_API SCM
scm_srfi1_for_each (SCM proc
, SCM arg1
, SCM args
);
66 SCM_SRFI1_API SCM
scm_srfi1_member (SCM obj
, SCM ls
, SCM pred
);
67 SCM_SRFI1_API SCM
scm_srfi1_ninth (SCM lst
);
68 SCM_SRFI1_API SCM
scm_srfi1_assoc (SCM key
, SCM alist
, SCM pred
);
69 SCM_SRFI1_API SCM
scm_srfi1_not_pair_p (SCM obj
);
70 SCM_SRFI1_API SCM
scm_srfi1_partition (SCM pred
, SCM list
);
71 SCM_SRFI1_API SCM
scm_srfi1_partition_x (SCM pred
, SCM list
);
72 SCM_SRFI1_API SCM
scm_srfi1_reduce (SCM proc
, SCM def
, SCM lst
);
73 SCM_SRFI1_API SCM
scm_srfi1_reduce_right (SCM proc
, SCM def
, SCM lst
);
74 SCM_SRFI1_API SCM
scm_srfi1_remove (SCM pred
, SCM list
);
75 SCM_SRFI1_API SCM
scm_srfi1_remove_x (SCM pred
, SCM list
);
76 SCM_SRFI1_API SCM
scm_srfi1_seventh (SCM lst
);
77 SCM_SRFI1_API SCM
scm_srfi1_sixth (SCM lst
);
78 SCM_SRFI1_API SCM
scm_srfi1_span (SCM pred
, SCM lst
);
79 SCM_SRFI1_API SCM
scm_srfi1_span_x (SCM pred
, SCM lst
);
80 SCM_SRFI1_API SCM
scm_srfi1_split_at (SCM lst
, SCM n
);
81 SCM_SRFI1_API SCM
scm_srfi1_split_at_x (SCM lst
, SCM n
);
82 SCM_SRFI1_API SCM
scm_srfi1_take_x (SCM lst
, SCM n
);
83 SCM_SRFI1_API SCM
scm_srfi1_take_right (SCM lst
, SCM n
);
84 SCM_SRFI1_API SCM
scm_srfi1_take_while (SCM pred
, SCM lst
);
85 SCM_SRFI1_API SCM
scm_srfi1_take_while_x (SCM pred
, SCM lst
);
86 SCM_SRFI1_API SCM
scm_srfi1_tenth (SCM lst
);
87 SCM_SRFI1_API SCM
scm_srfi1_xcons (SCM d
, SCM a
);
89 SCM_SRFI1_API
void scm_init_srfi_1 (void);
91 #endif /* SCM_SRFI_1_H */