summaryrefslogtreecommitdiff
path: root/srfi/srfi-1.c
diff options
context:
space:
mode:
Diffstat (limited to 'srfi/srfi-1.c')
-rw-r--r--srfi/srfi-1.c64
1 files changed, 24 insertions, 40 deletions
diff --git a/srfi/srfi-1.c b/srfi/srfi-1.c
index 44db0e3f6..dc19dd226 100644
--- a/srfi/srfi-1.c
+++ b/srfi/srfi-1.c
@@ -783,24 +783,19 @@ SCM_DEFINE (scm_srfi1_drop_while, "drop-while", 2, 0, 0,
#undef FUNC_NAME
-SCM_DEFINE (scm_srfi1_eighth, "eighth", 1, 0, 0,
- (SCM lst),
- "Return the eighth element of @var{lst}.")
-#define FUNC_NAME s_scm_srfi1_eighth
+SCM
+scm_srfi1_eighth (SCM lst)
{
- return scm_list_ref (lst, SCM_I_MAKINUM (7));
+ CACHE_VAR (eighth, "eighth");
+ return scm_call_1 (eighth, lst);
}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_srfi1_fifth, "fifth", 1, 0, 0,
- (SCM lst),
- "Return the fifth element of @var{lst}.")
-#define FUNC_NAME s_scm_srfi1_fifth
+SCM
+scm_srfi1_fifth (SCM lst)
{
- return scm_list_ref (lst, SCM_I_MAKINUM (4));
+ CACHE_VAR (fifth, "fifth");
+ return scm_call_1 (fifth, lst);
}
-#undef FUNC_NAME
SCM_DEFINE (scm_srfi1_filter_map, "filter-map", 2, 0, 1,
@@ -1398,14 +1393,12 @@ SCM_DEFINE (scm_srfi1_assoc, "assoc", 2, 1, 0,
#undef FUNC_NAME
-SCM_DEFINE (scm_srfi1_ninth, "ninth", 1, 0, 0,
- (SCM lst),
- "Return the ninth element of @var{lst}.")
-#define FUNC_NAME s_scm_srfi1_ninth
+SCM
+scm_srfi1_ninth (SCM lst)
{
- return scm_list_ref (lst, scm_from_int (8));
+ CACHE_VAR (ninth, "ninth");
+ return scm_call_1 (ninth, lst);
}
-#undef FUNC_NAME
SCM
scm_srfi1_not_pair_p (SCM obj)
@@ -1696,24 +1689,19 @@ SCM_DEFINE (scm_srfi1_remove_x, "remove!", 2, 0, 0,
#undef FUNC_NAME
-SCM_DEFINE (scm_srfi1_seventh, "seventh", 1, 0, 0,
- (SCM lst),
- "Return the seventh element of @var{lst}.")
-#define FUNC_NAME s_scm_srfi1_seventh
+SCM
+scm_srfi1_seventh (SCM lst)
{
- return scm_list_ref (lst, scm_from_int (6));
+ CACHE_VAR (seventh, "seventh");
+ return scm_call_1 (seventh, lst);
}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_srfi1_sixth, "sixth", 1, 0, 0,
- (SCM lst),
- "Return the sixth element of @var{lst}.")
-#define FUNC_NAME s_scm_srfi1_sixth
+SCM
+scm_srfi1_sixth (SCM lst)
{
- return scm_list_ref (lst, scm_from_int (5));
+ CACHE_VAR (sixth, "sixth");
+ return scm_call_1 (sixth, lst);
}
-#undef FUNC_NAME
SCM_DEFINE (scm_srfi1_span, "span", 2, 0, 0,
@@ -1931,16 +1919,12 @@ SCM_DEFINE (scm_srfi1_take_while_x, "take-while!", 2, 0, 0,
}
#undef FUNC_NAME
-
-SCM_DEFINE (scm_srfi1_tenth, "tenth", 1, 0, 0,
- (SCM lst),
- "Return the tenth element of @var{lst}.")
-#define FUNC_NAME s_scm_srfi1_tenth
+SCM
+scm_srfi1_tenth (SCM lst)
{
- return scm_list_ref (lst, scm_from_int (9));
+ CACHE_VAR (tenth, "tenth");
+ return scm_call_1 (tenth, lst);
}
-#undef FUNC_NAME
-
SCM
scm_srfi1_xcons (SCM d, SCM a)