summaryrefslogtreecommitdiff
path: root/srfi
AgeCommit message (Collapse)AuthorFilesLines
2010-09-12move srfi-1 and srfi-60 C impl to libguile, without public C apiAndy Wingo7-3703/+0
* libguile/srfi-1.c: * libguile/srfi-1.h: * libguile/srfi-60.c: * libguile/srfi-60.h: * libguile/ChangeLog-srfi: Move here, from the srfi/ dir. The C API is internal. Add API to register the extensions, called by init.c. * libguile/init.c: Verily, register srfi extensions. * libguile/Makefile.am: Add srfi files. * module/srfi/srfi-1.scm: * module/srfi/srfi-60.scm: Update load-extension invocation. * Makefile.am: * configure.ac: Remove srfi/ dir. * test-suite/standalone/Makefile.am: * test-suite/standalone/test-srfi-1.c: Remove srfi-1 C test, we don't support this API any more.
2010-09-12remove empty srfi-4, srfi-13, and srfi-14 shlibsAndy Wingo7-251/+2
* srfi/srfi-13.c: * srfi/srfi-13.h: * srfi/srfi-14.c: * srfi/srfi-14.h: * srfi/srfi-4.c: * srfi/srfi-4.h: * srfi/Makefile.am: * configure.ac: Remove empty shlibs and headers for srfis 4, 13, and 14. The "version" was never programmatically exported, so there's no possible way people could have used these.
2010-09-02SRFI-1: Rewrite `drop-right!', `drop-while', `reduce', etc. in Scheme.Ludovic Courtès1-336/+40
This partially reverts commit e9508fbb7df0b1ead007637f16d80cf831776307 (May 3 2005). * module/srfi/srfi-1.scm (take!, drop-right!, reduce, reduce-right, take-while, take-while!, drop-while, span, span!, lset-adjoin): New procedures. * srfi/srfi-1.c (scm_srfi1_drop_right_x, scm_srfi1_drop_while, scm_srfi1_lset_adjoin, scm_srfi1_reduce, scm_srfi1_reduce_right, scm_srfi1_span, scm_srfi1_span_x, scm_srfi1_take_x, scm_srfi1_take_while, scm_srfi1_take_while_x): Rewrite as proxies to the corresponding Scheme procedures. * benchmark-suite/benchmarks/srfi-1.bm ("drop-while"): New benchmark prefix.
2010-08-27SRFI-1: Rewrite `break' and `break!' in Scheme.Ludovic Courtès1-61/+8
This partially reverts commit 6e9f3c2676c0101590d4229653e9c628cb293064 (Tue May 3 2005). * module/srfi/srfi-1.scm (break, break!): New procedures. * srfi/srfi-1.c (scm_srfi1_break, scm_srfi1_break_x): Rewrite as proxies to the corresponding Scheme procedures. * test-suite/standalone/test-srfi-1.c (failure): New function. (tests): Add `scm_srfi1_break' test. Use `failure'.
2010-08-27SRFI-1: Rewrite `fifth', `sixth', etc. in Scheme.Ludovic Courtès1-40/+24
This partially reverts commit 03731332d5dc8d650b947f5126427402c2b1d8bb (Tue May 3 2005). * module/srfi/srfi-1.scm (fifth, sixth, seventh, eighth, ninth, tenth): New procedures. * srfi/srfi-1.c (scm_srfi1_fifth, scm_srfi1_sixth, scm_srfi1_seventh, scm_srfi1_eighth, scm_srfi1_ninth, scm_srfi1_tenth): Rewrite as proxies to the corresponding Scheme procedure. * test-suite/tests/srfi-1.test ("eighth")["() -1"]: Change exception type to `exception:wrong-type-arg'. ("fifth")["() -1"]: Likewise. ("ninth")["() -1"]: Likewise. ("seventh")["() -1"]: Likewise. ("sixth")["() -1"]: Likewise. ("tenth")["() -1"]: Likewise.
2010-07-21Start rewriting SRFI-1 in Scheme.Ludovic Courtès1-267/+53
This partially reverts commit e556f8c3c6b74ee6596e8dcbe829109d7745da2c (Fri May 6 2005). * module/srfi/srfi-1.scm (xcons, list-tabulate, not-pair?, car+cdr, last, fold, list-index): New procedures. * srfi/srfi-1.c (srfi1_module): New variable. (CACHE_VAR): New macro. (scm_srfi1_car_plus_cdr, scm_srfi1_fold, scm_srfi1_last, scm_srfi1_list_index, scm_srfi1_list_tabulate, scm_srfi1_not_pair_p, scm_srfi1_xcons): Rewrite as proxies of the corresponding Scheme procedure. * test-suite/tests/srfi-1.test ("list-tabulate")["-1"]: Change exception type to `exception:wrong-type-arg'. * benchmark-suite/benchmarks/srfi-1.bm: New file. * benchmark-suite/Makefile.am (SCM_BENCHMARKS): Add `benchmarks/srfi-1.bm'. * test-suite/standalone/Makefile.am (test_srfi_1_SOURCES, test_srfi_1_CFLAGS, test_srfi_1_LDADD): New variables. (check_PROGRAMS): Add `test-srfi-1'. (TESTS): Ditto. * test-suite/standalone/test-srfi-1.c: New file.
2010-06-18Use AM_SILENT_RULES to pare down build output, ignore auto-generated filesNo Itisnt1-3/+4
* .gitignore: Ignore extra gnulib headers. * am/snarf: Silent SNARF command * am/guilec: Silent GUILEC command * configure.ac: Use AM_SILENT_RULES when available * guile-readline/Makefile.am: * libguile/Makefile.am: * srfi/Makefile.am: * test-suite/standalone/Makefile.am: Silence snarf output
2010-06-06Don't build any generated source file at "make dist" time.Ludovic Courtès1-4/+4
* srfi/Makefile.am (libguile_srfi_srfi_1_v_@LIBGUILE_SRFI_SRFI_1_MAJOR@_la_SOURCES, libguile_srfi_srfi_4_v_@LIBGUILE_SRFI_SRFI_4_MAJOR@_la_SOURCES, libguile_srfi_srfi_13_14_v_@LIBGUILE_SRFI_SRFI_13_14_MAJOR@_la_SOURCES, libguile_srfi_srfi_60_v_@LIBGUILE_SRFI_SRFI_60_MAJOR@_la_SOURCES): Remove `.x' files so that they're not built by "make dist". * test-suite/standalone/Makefile.am (libtest_asmobs_la_SOURCES): Remove `test-asmobs-lib.x'. (libtest_ffi_la_SOURCES): Remove `test-ffi-lib.x'. (BUILT_SOURCES): Likewise.
2010-04-09remove libguile/lang.h, deprecate %nil (in favor of #nil)Andy Wingo1-2/+1
* libguile/Makefile.am: * libguile/init.c: * libguile/lang.c: * libguile/lang.h: Remove lang.c and lang.h. * libguile/pairs.h (SCM_NIL_P, SCM_NULL_OR_NIL_P): Moved here. * module/ice-9/deprecated.scm (%nil): %nil definition moved here. * libguile/alist.c: * libguile/async.c: * libguile/backtrace.c: * libguile/boolean.c: * libguile/dynl.c: * libguile/eval.c: * libguile/filesys.c: * libguile/fluids.c: * libguile/list.c: * libguile/load.c: * libguile/options.c: * libguile/posix.c: * libguile/print.c: * libguile/promises.c: * libguile/sort.c: * libguile/throw.c: * libguile/trees.c: * libguile/vectors.c: * libguile/vm.c: * libguile/weaks.c: * srfi/srfi-1.c: <libguile/lang.h> references removed.
2010-03-16parallel installability for libguile*.hAndy Wingo1-1/+2
* Makefile.am: * libguile/Makefile.am (modincludedir): Install into $pkgincludedir/$GUILE_EFFECTIVE_VERSION. This allows multiple Guile development packages to be installed at once. * guile-readline/Makefile.am (modincludedir): * srfi/Makefile.am (srfiincludedir): Likewise. * meta/guile-2.0.pc.in (Cflags): Add the appropriate -I line so that user code picks up the new location transparently.
2010-03-16rename libguile to libguile-@EFFECTIVE_VERSION@, currently libguile-2.0Andy Wingo1-5/+5
* libguile/Makefile.am (lib_LTLIBRARIES): Instead of just "libguile.la", make "libguile-@EFFECTIVE_VERSION@.la". This allows multiple versions of Guile to be installed at once. See http://www106.pair.com/rhp/parallel.html for a rationale. (libguile_@GUILE_EFFECTIVE_VERSION@_la_CFLAGS): (libguile_@GUILE_EFFECTIVE_VERSION@_la_SOURCES): (EXTRA_libguile_@GUILE_EFFECTIVE_VERSION@_la_SOURCES): (libguile_@GUILE_EFFECTIVE_VERSION@_la_DEPENDENCIES): (libguile_@GUILE_EFFECTIVE_VERSION@_la_LIBADD): (libguile_@GUILE_EFFECTIVE_VERSION@_la_LDFLAGS): Fixup automake vars to include the effective version. (guile_LDADD): Fix up the spelling of libguile. * libguile/bytevectors.c (scm_bootstrap_bytevectors): * libguile/foreign.c (scm_register_foreign): * libguile/i18n.c (scm_bootstrap_i18n): * libguile/instructions.c (scm_bootstrap_instructions): * libguile/objcodes.c (scm_bootstrap_objcodes): * libguile/programs.c (scm_bootstrap_programs): * libguile/vm.c (scm_bootstrap_vm): Register extensions using e.g. "libguile-2.0" as the libname -- i.e., including the effective version in the libname. * module/ice-9/i18n.scm: * module/rnrs/bytevector.scm: * module/rnrs/io/ports.scm: * module/system/foreign.scm: * module/system/vm/instruction.scm: * module/system/vm/objcode.scm: * module/system/vm/program.scm: * module/system/vm/vm.scm: When doing a load-extension for something in Guile, use the effective version also. * meta/guile-2.0-uninstalled.pc.in (Libs): * meta/guile-2.0.pc.in (Libs): Use -lguile-@EFFECTIVE_VERSION@. This change should mean that code built against Guile should not be affected by the libguile rename. * guile-readline/Makefile.am (libguilereadline_v_@LIBGUILEREADLINE_MAJOR@_la_LIBADD): * srfi/Makefile.am (libguile_srfi_srfi_1_v_@LIBGUILE_SRFI_SRFI_1_MAJOR@_la_LIBADD): (libguile_srfi_srfi_4_v_@LIBGUILE_SRFI_SRFI_4_MAJOR@_la_LIBADD): (libguile_srfi_srfi_13_14_v_@LIBGUILE_SRFI_SRFI_13_14_MAJOR@_la_LIBADD): (libguile_srfi_srfi_60_v_@LIBGUILE_SRFI_SRFI_60_MAJOR@_la_LIBADD): * test-suite/standalone/Makefile.am (test_num2integral_LDADD): (test_round_LDADD): (libtest_asmobs_la_LIBADD): (libtest_ffi_la_LIBADD): (test_list_LDADD): (test_unwind_LDADD): (test_conversion_LDADD): (test_loose_ends_LDADD): (test_scm_c_read_LDADD): (test_scm_take_locale_symbol_LDADD): (test_scm_take_u8vector_LDADD): (libtest_extensions_la_LIBADD): (test_with_guile_module_LDADD): (test_scm_with_guile_LDADD): Fix up the spelling of libguile.la.
2009-12-01formally deprecate trampolinesAndy Wingo1-124/+74
* libguile/eval.c: * libguile/deprecated.h: * libguile/deprecated.c (scm_trampoline_0, scm_trampoline_1) (scm_trampoline_2): Actually deprecate trampolines. * srfi/srfi-1.c: Fix all trampoline uses in srfi-1.c.
2009-12-01gut trampolinesAndy Wingo1-1/+2
* libguile/eval.c: Gut the trampoline implementation. We'll be doing much more clever things here that will obviate the need for the procedure arg of map and for-each to be allocated in many cases... trampolines were a noble attempt at optimizing in the wrong place. * srfi/srfi-1.c (scm_srfi1_lset_difference_x): Validate that we get a proc, because the trampoline won't do it for us. * test-suite/tests/sort.test ("sort"): * test-suite/tests/srfi-1.test ("count", "fold", "list-index"): Change expected exceptions, due to trampoline functions not doing any computation.
2009-09-24Move "-z relro" out of $LDFLAGS so it's not in `guile-2.0.pc'.Ludovic Courtès1-1/+2
* acinclude.m4 (GUILE_GNU_LD_RELRO): Substitute `GNU_LD_FLAGS'. * libguile/Makefile.am (libguile_la_LDFLAGS): Add $(GNU_LD_FLAGS). * srfi/Makefile.am (AM_LDFLAGS): New.
2009-06-17Change Guile license to LGPLv3+Neil Jerram11-68/+78
(Not quite finished, the following will be done tomorrow. module/srfi/*.scm module/rnrs/*.scm module/scripts/*.scm testsuite/*.scm guile-readline/* )
2008-11-01move scm srfi files to module/srfi, and compile them.Andy Wingo24-4937/+1
* .gitignore: Add gdb-pre-inst-guile. * configure.in: Add module/srfi/Makefile. * module/Makefile.am: Add srfi/. * module/srfi/: SRFI scheme files moved here, and compiled. * srfi/Makefile.am: Remove the bits about the scheme files.
2008-09-13Include <config.h> in all C files; use `#ifdef HAVE_CONFIG_H' rather than `#if'.Ludovic Courtès5-9/+25
2008-09-12Add `ChangeLog-2008' files to the distribution.Ludovic Courtès1-1/+1
2008-09-12Rename `ChangeLog' files to `ChangeLog-2008'.Ludovic Courtès1-0/+0
2008-09-11Remove `.cvsignore' files.Ludovic Courtès1-13/+0
2008-08-30Raise error on SRFI-18 load if Guile built without threading supportJulian Graham2-0/+8
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2008-08-25Use $(GCC_CFLAGS) for `-Werror' et al. so that it's not used to compileLudovic Courtès2-0/+6
Gnulib code.
2008-08-16Do not include private-gc.h in srfi-60.Han-Wen Nienhuys1-2/+3
2008-06-28Modernize Automake files.Ludovic Courtès2-4/+7
2008-06-28Fix harmless typo in SRFI-19.Ludovic Courtès2-2/+7
2008-05-24Scheme SRFI-18 implementation and tests fileJulian Graham2-0/+383
2008-04-28Fix type-checking of SRFI-1 `partition'.Ludovic Courtès2-2/+14
2008-04-27Include <config.h> in SRFI-1.Ludovic Courtès2-1/+9
2008-04-26Make `(srfi srfi-35)' visible through `cond-expand'.Ludovic Courtès2-1/+7
2008-04-26Add `(srfi srfi-88)'.Ludovic Courtès3-2/+58
2008-03-12Fix SRFI-37 `args-fold' with short option names of argument-less options.Ludovic Courtès2-2/+10
2008-01-22* srfi-39.scm: Update copyright statement to LGPL.Neil Jerram2-35/+14
* __scm.h, _scm.h, weaks.c: Update copyright statement to LGPL. * compat/compat.h: Update copyright statement to LGPL. * oldfmt.c: Update copyright statement to LGPL. * libguile.h: Update copyright statement to LGPL.
2007-12-13Changes from arch/CVS synchronizationLudovic Courtès2-1/+6
2007-12-13Add missing SRFI-69 files.Ludovic Courtès1-0/+329
2007-12-03Changes from arch/CVS synchronizationLudovic Courtès2-1/+7
2007-09-10Changes from arch/CVS synchronizationLudovic Courtès2-10/+23
2007-08-11Added SRFI-35 files.Ludovic Courtès1-0/+329
2007-08-11Changes from arch/CVS synchronizationLudovic Courtès2-0/+6
2007-07-29Changes from arch/CVS synchronizationLudovic Courtès2-7/+24
2007-07-18Revision: lcourtes@laas.fr--2006-libre/guile-core--cvs-head--0--patch-82Ludovic Courtès1-22/+25
Creator: Ludovic Courtes <ludovic.courtes@laas.fr> Slight edits to `srfi-37.scm'. * srfi/srfi-37.scm: Don't use the SCSH comment syntax. Properly use the `Commentary:' syntax.
2007-07-18Revision: lcourtes@laas.fr--2006-libre/guile-core--cvs-head--0--patch-81Ludovic Courtès3-0/+231
Creator: Ludovic Courtes <ludovic.courtes@laas.fr> Added SRFI-37, by Stephen Compall. (See ChangeLogs.)
2007-07-09Changes from arch/CVS synchronizationLudovic Courtès2-2/+9
2007-05-09Changes from arch/CVS synchronizationLudovic Courtès1-1/+1
2007-05-09Changes from arch/CVS synchronizationLudovic Courtès2-8/+6
2007-02-04Changes from arch/CVS synchronizationLudovic Courtès2-4/+12
2007-01-31Changes from arch/CVS synchronizationLudovic Courtès2-75/+51
2007-01-15merge from 1.8Kevin Ryde2-1/+7
2006-06-17merge 1.8 branchKevin Ryde4-10/+72
2006-04-16merge from 1.8 branchKevin Ryde27-27/+27
2006-02-05* GUILE-VERSION: Bumped versions for 1.9 series.Marius Vollmer3-2/+7
* srfi-1.scm, srfi-60.scm: Updated versions in library name to match GUILE-VERSION.