summaryrefslogtreecommitdiff
path: root/libguile.h
AgeCommit message (Collapse)AuthorFilesLines
2013-11-27Remove nonfunctional gdb interfaceAndy Wingo1-2/+1
* libguile/gdb_interface.h: * libguile/gdbint.c: * libguile/gdbint.h: Remove. These were last modified significantly in 1997 and I think they are unused. * libguile/guile.c: Remove use. * libguile.h: Remove inclusion. * libguile/Makefile.am: Remove reference. * libguile/init.c: Remove use.
2012-02-19add scm_i_set_finalizer, scm_i_add_finalizer, scm_i_add_resuscitatorAndy Wingo1-1/+2
* libguile/finalizers.h: * libguile/finalizers.c: New files. * libguile.h: * libguile/Makefile.am: Add to build.
2011-10-24remove weak pairs, rewrite weak vectorsAndy Wingo1-1/+1
* libguile/weak-vector.c: * libguile/weak-vector.h: Renamed from weaks.[ch]. Remove weak pairs. They were not safe to access with `car' and `cdr'. Remove weak alist vectors, as we have weak tables and sets. Reimplement weak vectors, moving the implementation here. * libguile/vectors.c: * libguile/vectors.h: Remove the extra header word. Use scm_c_weak_vector_ref / scm_c_weak_vector_set_x to access weak vectors. * libguile/snarf.h: Remove the extra header word in vectors. * libguile/threads.c (do_thread_exit, fat_mutex_lock, fat_mutex_unlock): Instead of weak pairs, store thread-owned mutexes in a list of one-element weak vectors. * libguile/guardians.c (finalize_guarded): Similarly, store object guardians in a list of one-element weak vectors. * libguile/modules.c (scm_module_reverse_lookup): We no longer need to handle the case of weak references. * libguile/print.c (iprin1): Use the standard vector accessor to print vectors. * libguile.h: * libguile/Makefile.am: * libguile/gc-malloc.c: * libguile/gc.c: * libguile/goops.c: * libguile/init.c: * libguile/objprop.c: * libguile/struct.c: Update includes. * module/ice-9/weak-vector.scm: Load weak vector definitions using an extension instead of %init-weaks-builtins. * test-suite/tests/weaks.test: Use the make-...-hash-table names instead of the old alist vector names.
2011-10-24add weak table implementationAndy Wingo1-0/+1
* libguile/weak-table.c: * libguile/weak-table.h: New files, implementing open-addressed weak hash tables, similar to the implementation of weak sets. This will let us remove weak pairs. * libguile.h: * libguile/Makefile.am: * libguile/evalext.c: * libguile/gc.c: * libguile/init.c: * libguile/print.c: * libguile/tags.h: Update all the pieces for the new files and tc7.
2011-10-23add weak setsAndy Wingo1-0/+1
* libguile/weak-set.c: * libguile/weak-set.h: New files, implementing weak sets, for use in the symbol table and port set. Eventually we will be able to remove weak pairs. * libguile.h: * libguile/Makefile.am: Add new files. * libguile/evalext.c: * libguile/gc.c: * libguile/init.c: * libguile/print.c: * libguile/tags.h: Add support for the new types.
2011-02-10deprecate primitive propertiesAndy Wingo1-2/+1
* libguile.h: * libguile/Makefile.am: * libguile/deprecated.h: * libguile/deprecated.c: * libguile/init.c: * libguile/properties.c: * libguile/properties.h: Deprecate the "primitive properties" interface. It was only used to implement object properties, and that is no longer the case. * module/ice-9/boot-9.scm (make-object-property): Reimplement just in terms of weak hash tables, and make threadsafe. * NEWS: * doc/ref/api-utility.texi: Update.
2010-08-08remove "discouraged" infrastructureAndy Wingo1-1/+0
* libguile/discouraged.h: Remove. * libguile/deprecated.c (scm_internal_select, scm_thread_sleep) (scm_thread_usleep): Deprecate formerly discouraged names. * libguile/eq.h (SCM_EQ_P): * libguile/pairs.h (SCM_NULLP, SCM_NNULLP, SCM_CONSP, SCM_NCONSP): * libguile/boolean.h (SCM_FALSEP, SCM_NFALSEP, SCM_BOOLP, SCM_BOOL): (SCM_NEGATE_BOOL, SCM_BOOL_NOT): Undiscourage these names, because I'm not sure deprecating them will do any good. * libguile.h: * libguile/gen-scmconfig.c: * libguile/numbers.c: * libguile/init.c: * libguile/Makefile.am: * configure.ac: Remove bits that referenced discouraged.h, and dealt with the "discouraging" system.
2010-01-04add foreign value wrapperAndy Wingo1-1/+2
* libguile/foreign.h: * libguile/foreign.c: New files, implementing simple wrappers around foreign values, such as those that one might link in dynamically from a library. * libguile/tags.h (scm_tc7_foreign): Take a tc7 for foreign values. * libguile.h: * libguile/init.c: Add foreign.h to headers and init. * libguile/print.c (iprin1): Add printer for foreign values. * libguile/gc.c (scm_i_tag_name): Case for foreign values. * libguile/goops.c (scm_class_of, create_standard_classes): Add a class for foreign values. * libguile/evalext.c (scm_self_evaluating_p): Add case for foreign values. * libguile/Makefile.am: Add foreign.[ch] to the build.
2009-12-01promises are in their own file nowAndy Wingo1-0/+1
* libguile.h: * libguile/Makefile.am: * libguile/eval.c: * libguile/eval.h: * libguile/init.c: * libguile/promises.c: * libguile/promises.h: Split promises out into their own file.
2009-12-01factor copy-tree and cons-source out of eval.[ch]Andy Wingo1-0/+1
* libguile.h: * libguile/Makefile.am * libguile/init.c (scm_i_init_guile): Add trees.[ch] to the build. * libguile/eval.c: * libguile/eval.h: Remove scm_copy_tree and scm_cons_source... * libguile/trees.h: * libguile/trees.c: * libguile/srcprop.h: * libguile/srcprop.c: ... factoring them out here and here, respectively. * test-suite/tests/eval.test ("memoization"): Change expected exception for circular data structures, given new copy-tree location.
2009-11-15fold objects.[ch] into goops.[ch]Andy Wingo1-1/+0
Remove objects.h #includes as appropriate.
2009-10-30Since support for "futures" in C has been completely disabled for someKen Raeburn1-1/+0
time, and should be easily implementable in Scheme with the current thread support, delete the C code. * libguile/futures.c, libguile/futures.h: Delete. * libguile/Makefile.am (libguile_la_SOURCES, DOT_X_FILES, DOT_DOC_FILES, modinclude_HEADERS): Delete references to futures.* files. * libguile.h: Don't include futures.h. * libguile/eval.c: Don't include futures.h. (isymnames): Delete "#@future" entry. (scm_m_future, s_future, scm_sym_future, unmemoize_future, unmemoize_builtin_macro): Delete disabled futures code. * libguile/eval.i.c (CEVAL): Delete disabled futures code. * libguile/init.c: Don't include futures.h. (scm_i_init_guile): Delete disabled futures initialization call. * libguile/tags.h (SCM_IM_FUTURE): Delete. (SCM_IM_CALL_WITH_VALUES, SCM_IM_ELSE, SCM_IM_ARROW, SCM_IM_NIL_COND, SCM_IM_BIND): Renumber. * doc/ref/api-scheduling.texi: Delete commented-out node on Futures. * doc/maint/guile.texi: Delete make-future and future-ref mentions.
2009-09-14Merge `libguile-i18n' into `libguile'.Ludovic Courtès1-0/+1
* GUILE-VERSION (LIBGUILE_I18N_MAJOR, LIBGUILE_I18N_INTERFACE_CURRENT, LIBGUILE_I18N_INTERFACE_REVISION, LIBGUILE_I18N_INTERFACE_AGE, LIBGUILE_I18N_INTERFACE): Remove. * doc/ref/api-i18n.texi (i18n Introduction): Don't mention `libguile-i18n'. * libguile.h: Include "libguile/i18n.h". * libguile/Makefile.am (lib_LTLIBRARIES): Remove `libguile-i18n-v*'. (libguile_la_SOURCES): Add `i18n.c'. (libguile_i18n_v_*_SOURCES, libguile_i18n_v_*_CFLAGS, libguile_i18n_v_*_LIBADD, libguile_i18n_v_*_LDFLAGS): Remove. * libguile/i18n.c (scm_bootstrap_i18n): New function. * libguile/i18n.h (scm_nl_langinfo, scm_init_i18n): Made internal. (scm_bootstrap_i18n): New declaration. * libguile/init.c (scm_i_init_guile): Invoke `scm_bootstrap_i18n ()'. * module/ice-9/i18n.scm: Load from `libguile' instead of `libguile-i18n-v-0'.
2009-07-19uniform vector functions to their own fileAndy Wingo1-0/+1
* libguile/uniform.c: * libguile/uniform.h: * libguile/srfi-4.c: * libguile/srfi-4.h: * libguile/Makefile.am: Move uniform vector funcs out of srfi-4 to their own file. * libguile.h: * libguile/arrays.c: * libguile/bytevectors.c: Update includers.
2009-07-19generic vector ops to own fileAndy Wingo1-0/+1
* libguile/Makefile.am: * libguile/vectors.c: * libguile/vectors.h: * libguile/generalized-vectors.c: * libguile/generalized-vectors.h: Move generic vector ops off into their own file too. The implementation is now based on the generic array-handle infrastructure. * libguile.h: * libguile/array-map.c: * libguile/bitvectors.c: * libguile/random.c: * libguile/srfi-4.c: Update includers.
2009-07-19move generic array foo out to its own fileAndy Wingo1-0/+1
* libguile/arrays.h: * libguile/arrays.c: * libguile/generalized-arrays.h: * libguile/generalized-arrays.c: Move some generic functionality out of arrays.c to a new file. * libguile/array-map.c: * libguile/deprecated.c: * libguile/init.c: Update includers.
2009-07-19rename unif.[ch] to arrays.[ch]Andy Wingo1-1/+3
* libguile/Makefile.am: * libguile/unif.c: * libguile/unif.h: * libguile/arrays.c: * libguile/arrays.h: Rename unif.[ch] to arrays.[ch]. * libguile.h: * libguile/array-handle.c: * libguile/array-map.c: * libguile/bitvectors.c: * libguile/bytevectors.c: * libguile/eq.c: * libguile/gc-card.c: * libguile/gc-malloc.c: * libguile/gc-mark.c: * libguile/gc.c: * libguile/init.c: * libguile/inline.h: * libguile/print.c: * libguile/random.c: * libguile/read.c: * libguile/socket.c: * libguile/sort.c: * libguile/srfi-4.c: * libguile/srfi-4.h: * libguile/strports.c: * libguile/vectors.c: * libguile/vectors.h: Update includers.
2009-07-19rename ramap.[ch] to array-map.[ch]Andy Wingo1-1/+1
* libguile/array-map.c: * libguile/array-map.h: Rename from ramap.c and ramap.h. * libguile.h: * libguile/Makefile.am: * libguile/eq.c: * libguile/init.c: * libguile/sort.c: * libguile/unif.c: * libguile/vectors.c: All referrers changed.
2009-06-17Change Guile license to LGPLv3+Neil Jerram1-6/+7
(Not quite finished, the following will be done tomorrow. module/srfi/*.scm module/rnrs/*.scm module/scripts/*.scm testsuite/*.scm guile-readline/* )
2009-05-28Import R6RS bytevectors and I/O ports from Guile-R6RS-Libs 0.2.Ludovic Courtès1-1/+3
* README: Document dependency on GNU libunistring. * benchmark-suite/Makefile.am (SCM_BENCHMARKS): Add `benchmark/bytevectors.bm'. * configure.in: Make sure we have libunistring; update $LIBS. * libguile.h: Include "bytevectors.h" and "r6rs-ports.h". * libguile/Makefile.am (libguile_la_SOURCES): Add `bytevectors.c' and `r6rs-ports.c' (DOT_X_FILES): Add `bytevectors.x' and `r6rs-ports.x'. (DOT_DOC_FILES): Add `bytevectors.doc' and `r6rs-ports.doc'. (noinst_HEADERS): Add `ieee-754.h'. (modinclude_HEADERS): Add `bytevectors.h' and `r6rs-ports.h' * libguile/validate.h (SCM_VALIDATE_BYTEVECTOR): New macro. * module/Makefile.am (SOURCES): Add $(RNRS_SOURCES). (RNRS_SOURCES): New variable. * test-suite/Makefile.am (SCM_TESTS): Add `bytevectors.test' and `r6rs-ports.test'.
2008-01-22* srfi-39.scm: Update copyright statement to LGPL.Neil Jerram1-37/+13
* __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.
2006-04-17merge from 1.8 branchKevin Ryde1-1/+1
2005-05-23The FSF has a new address.Marius Vollmer1-2/+2
2004-10-27Include "libguile/srfi-4.h".Marius Vollmer1-0/+1
2004-09-24Include <gmp.h> outside of extern "C" block. (Note that numbers.hMarius Vollmer1-1/+5
still includes gmp.h to make it self-contained.)
2004-08-25Include srfi-13.h and srfi-14.h, do not include strop.h.Marius Vollmer1-1/+2
2004-08-02Include libguile/discouraged.h.Marius Vollmer1-0/+2
2003-04-20 * Removed uses of DEBUG_EXTENSIONS and DYNAMIC_LINKING toDirk Herrmann1-2/+0
fix compile errors with --disable-deprecated.
2003-03-26Include "libguile/deprecated.h".Marius Vollmer1-0/+1
2003-01-23* libguile.h: #include "futures.h"Mikael Djurfeldt1-1/+2
2002-11-03* __scm.h (USE_THREADS, GUILE_ISELECT): Define whenMarius Vollmer1-3/+1
SCM_DEBUG_DEPRECATED. Removed their use thru-out Guile.
2002-05-10Added inclusion of "extensions.h".Marius Vollmer1-0/+1
2001-11-25Include "libguile/inline.h".Marius Vollmer1-0/+1
2001-08-31* Removed deprecated definitions.Dirk Herrmann1-63/+12
* Minor cleanups.
2001-06-20Removed tag.c and tag.h and all references.Martin Grabmüller1-1/+0
2001-06-16(scm_cond_t, scm_key_t, scm_mutex_t): Only define these when usingMarius Vollmer1-3/+8
threads.
2001-06-14Added deprecated section with the olde type names.Marius Vollmer1-0/+42
2001-04-29 * libguile.h: include rw.h.Gary Houston1-0/+1
2001-04-23 * Makefile.am (SUBDIRS): Added `srfi'.Martin Grabmüller1-0/+1
* configure.in: Added subdirectory `srfi' to build process. * libguile.h: Added inclusion of `values.h'.
2001-03-06* Don't include libguile/dump.h any more.Dirk Herrmann1-1/+0
2001-02-03*** empty log message ***Keisuke Nishida1-0/+1
2001-01-31Added #include "libguile/rdelim.h".Mikael Djurfeldt1-1/+2
2000-10-25*** empty log message ***Mikael Djurfeldt1-0/+1
2000-09-20Removed #include "libguile/environments.h", sorry..Keisuke Nishida1-1/+0
2000-09-20* libguile.h: #include "libguile/environments.h" and "libguile/properties.h".Keisuke Nishida1-0/+2
2000-06-12* libguile.h: Removed #include "libguile/kw.h".Mikael Djurfeldt1-1/+0
2000-06-12Updated copyrightsMikael Djurfeldt1-1/+1
2000-05-01 * Makefile.am: add include_HEADERS.Gary Houston1-0/+148
libguile.h: moved from libguile directory. maybe libguile should be installed in $prefix/include/libguile/libguile.h instead?