The FSF has a new address.
[bpt/guile.git] / srfi / srfi-1.h
1 #ifndef SCM_SRFI_1_H
2 #define SCM_SRFI_1_H
3 /* srfi-1.h --- SRFI-1 procedures for Guile
4 *
5 * Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
6 *
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.
11 *
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.
16 *
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
20 */
21 \f
22
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. */
26
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
31 #else
32 # define SCM_SRFI1_API extern
33 #endif
34
35 SCM_SRFI1_API SCM scm_srfi1_alist_copy (SCM alist);
36 SCM_SRFI1_API SCM scm_srfi1_break (SCM pred, SCM lst);
37 SCM_SRFI1_API SCM scm_srfi1_break_x (SCM pred, SCM lst);
38 SCM_SRFI1_API SCM scm_srfi1_car_plus_cdr (SCM pair);
39 SCM_SRFI1_API SCM scm_srfi1_concatenate (SCM lstlst);
40 SCM_SRFI1_API SCM scm_srfi1_concatenate_x (SCM lstlst);
41 SCM_SRFI1_API SCM scm_srfi1_count (SCM pred, SCM list1, SCM rest);
42 SCM_SRFI1_API SCM scm_srfi1_delete (SCM x, SCM lst, SCM pred);
43 SCM_SRFI1_API SCM scm_srfi1_delete_x (SCM x, SCM lst, SCM pred);
44 SCM_SRFI1_API SCM scm_srfi1_delete_duplicates (SCM lst, SCM pred);
45 SCM_SRFI1_API SCM scm_srfi1_delete_duplicates_x (SCM lst, SCM pred);
46 SCM_SRFI1_API SCM scm_srfi1_drop_right (SCM lst, SCM n);
47 SCM_SRFI1_API SCM scm_srfi1_drop_right_x (SCM lst, SCM n);
48 SCM_SRFI1_API SCM scm_srfi1_drop_while (SCM pred, SCM lst);
49 SCM_SRFI1_API SCM scm_srfi1_eighth (SCM lst);
50 SCM_SRFI1_API SCM scm_srfi1_fifth (SCM lst);
51 SCM_SRFI1_API SCM scm_srfi1_filter_map (SCM proc, SCM list1, SCM rest);
52 SCM_SRFI1_API SCM scm_srfi1_find (SCM pred, SCM lst);
53 SCM_SRFI1_API SCM scm_srfi1_find_tail (SCM pred, SCM lst);
54 SCM_SRFI1_API SCM scm_srfi1_fold (SCM proc, SCM init, SCM list1, SCM rest);
55 SCM_SRFI1_API SCM scm_srfi1_last (SCM lst);
56 SCM_SRFI1_API SCM scm_srfi1_length_plus (SCM lst);
57 SCM_SRFI1_API SCM scm_srfi1_lset_adjoin (SCM equal, SCM lst, SCM rest);
58 SCM_SRFI1_API SCM scm_srfi1_list_copy (SCM lst);
59 SCM_SRFI1_API SCM scm_srfi1_list_index (SCM pred, SCM list1, SCM rest);
60 SCM_SRFI1_API SCM scm_srfi1_list_tabulate (SCM n, SCM proc);
61 SCM_SRFI1_API SCM scm_srfi1_map (SCM proc, SCM arg1, SCM args);
62 SCM_SRFI1_API SCM scm_srfi1_for_each (SCM proc, SCM arg1, SCM args);
63 SCM_SRFI1_API SCM scm_srfi1_member (SCM obj, SCM ls, SCM pred);
64 SCM_SRFI1_API SCM scm_srfi1_ninth (SCM lst);
65 SCM_SRFI1_API SCM scm_srfi1_assoc (SCM key, SCM alist, SCM pred);
66 SCM_SRFI1_API SCM scm_srfi1_not_pair_p (SCM obj);
67 SCM_SRFI1_API SCM scm_srfi1_partition (SCM pred, SCM list);
68 SCM_SRFI1_API SCM scm_srfi1_partition_x (SCM pred, SCM list);
69 SCM_SRFI1_API SCM scm_srfi1_reduce (SCM proc, SCM def, SCM lst);
70 SCM_SRFI1_API SCM scm_srfi1_reduce_right (SCM proc, SCM def, SCM lst);
71 SCM_SRFI1_API SCM scm_srfi1_remove (SCM pred, SCM list);
72 SCM_SRFI1_API SCM scm_srfi1_remove_x (SCM pred, SCM list);
73 SCM_SRFI1_API SCM scm_srfi1_seventh (SCM lst);
74 SCM_SRFI1_API SCM scm_srfi1_sixth (SCM lst);
75 SCM_SRFI1_API SCM scm_srfi1_span (SCM pred, SCM lst);
76 SCM_SRFI1_API SCM scm_srfi1_span_x (SCM pred, SCM lst);
77 SCM_SRFI1_API SCM scm_srfi1_split_at (SCM lst, SCM n);
78 SCM_SRFI1_API SCM scm_srfi1_split_at_x (SCM lst, SCM n);
79 SCM_SRFI1_API SCM scm_srfi1_take_x (SCM lst, SCM n);
80 SCM_SRFI1_API SCM scm_srfi1_take_right (SCM lst, SCM n);
81 SCM_SRFI1_API SCM scm_srfi1_take_while (SCM pred, SCM lst);
82 SCM_SRFI1_API SCM scm_srfi1_take_while_x (SCM pred, SCM lst);
83 SCM_SRFI1_API SCM scm_srfi1_tenth (SCM lst);
84 SCM_SRFI1_API SCM scm_srfi1_xcons (SCM d, SCM a);
85
86 SCM_SRFI1_API void scm_init_srfi_1 (void);
87
88 #endif /* SCM_SRFI_1_H */