Commit graph

583 commits

Author SHA1 Message Date
Kevin Ryde
7743d628c6 *** empty log message *** 2003-09-12 23:47:35 +00:00
Marius Vollmer
50e0ba57da *** empty log message *** 2003-09-12 15:16:56 +00:00
Kevin Ryde
2388d9af3e *** empty log message *** 2003-08-17 00:40:59 +00:00
Kevin Ryde
d97f9b4230 *** empty log message *** 2003-08-12 21:43:34 +00:00
Kevin Ryde
996acdb846 *** empty log message *** 2003-06-19 01:43:43 +00:00
Dirk Herrmann
42ad901d04 * benchmark-suite/lib.scm: Fix some typos in the documentation.
* doc/ref/scheme-compound.texi: Clarified that vectors need to
       be quoted.

       * doc/tutorial/guile-tut.texi: Fix example, where a vector
       constant is used without quoting.

       * ice-9/boot-9.scm (make-autoload-interface): Added missing
       quote around vector constant.

       * test-suite/tests/elisp.test: Added missing quote around vector
       constants.
2003-05-27 18:33:19 +00:00
Marius Vollmer
47dee22897 *** empty log message *** 2003-05-20 19:14:38 +00:00
Kevin Ryde
6cced6fea8 *** empty log message *** 2003-05-10 00:39:32 +00:00
Marius Vollmer
d04229df7c *** empty log message *** 2003-05-03 21:34:49 +00:00
Marius Vollmer
6aa536b337 *** empty log message *** 2003-05-03 20:57:40 +00:00
Marius Vollmer
0d5271a27f *** empty log message *** 2003-05-03 20:52:53 +00:00
Marius Vollmer
2b24a689f6 *** empty log message *** 2003-05-03 20:41:49 +00:00
Marius Vollmer
1b965c29e7 *** empty log message *** 2003-05-03 20:24:37 +00:00
Mikael Djurfeldt
56b97da987 * serialize.scm: New file. 2003-04-25 19:49:15 +00:00
Mikael Djurfeldt
359aab2498 * threads.scm (n-for-each-par-map): New procedure. 2003-04-24 10:44:06 +00:00
Marius Vollmer
fc87c27af5 *** empty log message *** 2003-04-05 19:05:58 +00:00
Marius Vollmer
bd40d4201d *** empty log message *** 2003-03-26 17:59:29 +00:00
Marius Vollmer
570b5b1481 *** empty log message *** 2003-03-22 00:36:03 +00:00
Mikael Djurfeldt
44876271a0 * list.scm: New file. 2003-03-20 13:22:45 +00:00
Marius Vollmer
b80e1b5c9b *** empty log message *** 2003-03-19 18:29:26 +00:00
Mikael Djurfeldt
3742da68b2 * session.scm (apropos): Don't look in duplicates interface. 2003-03-13 10:16:30 +00:00
Mikael Djurfeldt
65bed4aa84 * boot-9.scm (duplicate-handlers): Make sure the merge-generics
and merge-accessors handlers are available also before (oop goops)
has been loaded.  This is so that people can put them as default
handlers without worrying about availability.
2003-03-12 19:27:15 +00:00
Mikael Djurfeldt
3802f9ccd3 * slib.scm (logical:ipow-by-squaring): Removed. 2003-03-12 17:35:09 +00:00
Mikael Djurfeldt
6496a6638b * boot-9.scm (default-duplicate-binding-handler): Set default to
'(replace warn last)
2003-03-12 17:16:36 +00:00
Mikael Djurfeldt
fe6ee0528b * boot-9.scm (ipow-by-squaring): Removed.
(default-duplicate-binding-handler): Set default to
'(replace warn last)
2003-03-12 16:52:07 +00:00
Mikael Djurfeldt
8d8dac1f2f * boot-9.scm (module-duplicates-info, set-module-duplicates-info!): Removed.
(module-duplicates-handlers, module-duplicates-interface): New.
(module-type): Added duplicates-handlers and duplicates-interface.
2003-03-12 14:30:03 +00:00
Mikael Djurfeldt
d57da08b6d * srfi-13.scm: Mark replacements.
* srfi-17.scm: Mark replacements.

* boot-9.scm (module-make-local-var!): Use module-add!.
(module-primitive-add!): New function.
(resolve-interface): Use
(call-with-deferred-observers, module-call-observers): New
functions.
(module-defer-observers, module-defer-observers-mute,
module-defer-observers-table): New variables.
(process-define-module, process-use-modules, export, re-export):
Use call-with-deferred-observers.

* syncase.scm (eval): Mark as replacement.

* boot-9.scm (defmacro-public): Use export-syntax instead of export.
2003-03-12 14:11:42 +00:00
Mikael Djurfeldt
70a459e3f8 * slib.scm (*features*): Set the core variable instead of defining
a local version.
(provide, provided?): Mark as replacements.

* boot-9.scm (beautify-user-module!): Don't install the duplicates
handler here.
(default-duplicate-binding-handler): Renamed from
default-module-duplicates-handler; Removed converter.
(process-duplicates): Lookup default duplicates handler dynamically.
(default-duplicate-binding-procedures): New parameter.
2003-03-12 10:03:25 +00:00
Mikael Djurfeldt
509a787a4c * slib.scm (identity): Removed. (Provided by core.) 2003-03-12 09:28:20 +00:00
Mikael Djurfeldt
c614a00b8c * srfi-1.scm (filter, filter!): Removed. (Now implemented in the core.)
* goops/util.scm (filter): Removed.  (Now supplied by core.)

* list.c, list.h (scm_filter, scm_filter_x): New functions.

* debugger/command-loop.scm: Prefix all commands imported from
(ice-9 debugger command-loop) with debugger:.

* boot-9.scm (resolve-interface): Process #:hide; Name custom interfaces
appropriately.
(module-use!, module-use-interfaces!): Remove existing interfaces
on the use-list based on module name rather than interface
identity so that custom interfaces truly replaces their previous
version.
2003-03-11 19:58:14 +00:00
Mikael Djurfeldt
109c2c9f29 * modules.c (scm_module_import_interface): New function.
* boot-9.scm (process-duplicates): Use module-import-interface.
(module-symbol-interface): Removed.
2003-03-11 15:58:02 +00:00
Mikael Djurfeldt
f595ccfefc * srfi-1.scm (iota map for-each map-in-order list-index member
delete delete! assoc): Marked as replacements.

* goops.scm (define-extended-generics): New syntax.
(<class> <operator-class> <entity-class> <entity>): Marked as
replacements.

* boot-9.scm (module-override!, make-mutable-parameter,
lookup-duplicates-handlers, default-module-duplicates-handler):
New functions.
(process-duplicates): Don't call duplicates handlers for duplicate
bindings of the same variable.
(process-define-module): Process #:replace.
(compile-interface-spec, resolve-interface): Process #:prefix.

* format.scm (format): Marked as replacement.

* threads.scm (future, future-ref): Marked as replacements.
2003-03-10 23:18:05 +00:00
Mikael Djurfeldt
7b07e5efb6 * boot-9.scm (process-define-module): Handle #:duplicates.
(module-use-interfaces! process-duplicates): New functions.
(duplicate-handlers): Dictionary of duplicate handlers.
(module-symbol-local-binding, module-symbol-binding): Bugfix.

* goops.scm (equal?): Define default method.
(merge-generics): Provide for merging of generic functions
imported into a module under the same name.
2003-03-07 13:12:47 +00:00
Mikael Djurfeldt
1798b73dc4 * session.scm (apropos): Use hash-for-each instead of
array-for-each.
2003-03-04 11:56:10 +00:00
Mikael Djurfeldt
231a4ea849 * environments.c (DEFAULT_OBARRAY_SIZE): Changed from 137 to 31
(since hash tables now adapt their size).

* modules.c (scm_modules_prehistory): Changed from 2001 to 1533
(current number of prehistory bindings; hashtable code will select
a prime which is greater than this value).

* symbols.c (scm_symbols_prehistory): Changed from 1009 to 2139
(current number of initial symbols).

* properties.c (scm_init_properties): Don't specify size of
scm_properties_whash.

* objprop.c (scm_init_objprop): Don't specify size of
scm_object_whash.

* keywords.c (scm_init_keywords): Don't specify a hash table size.
2003-02-19 16:16:46 +00:00
Mikael Djurfeldt
c35738c1ae * hooks.c (scm_c_hook_add): Fixed bug in append mode.
* environments.c (obarray_enter, obarray_retrieve, obarray_remove,
leaf_environment_fold, obarray_remove_all): Use hashtable
accessors.

* gc.c (scm_init_storage): Moved hook initialization to
scm_storage_prehistory.
(scm_storage_prehistory): New function.
(scm_igc): Added commentary about placement of
scm_after_sweep_c_hook.

* gc-mark.c (scm_mark_all): Use hashtable accessors.
(scm_gc_mark_dependencies): Use SCM_WVECT_WEAK_KEY_P and
SCM_WVECT_WEAK_VALUE_P.

* hashtab.c, hashtab.h (scm_hash_for_each, scm_hash_map): New
functions.
(scm_vector_to_hash_table, scm_c_make_resizing_hash_table):
Removed.
(scm_make_weak_key_hash_table, scm_make_weak_value_hash_table,
scm_make_doubly_weak_hash_table): Moved here from weaks.c.

* init.c (scm_init_guile_1): Removed call to scm_init_weaks; Added
calls to scm_storage_prehistory and scm_hashtab_prehistory.

* modules.c (module-reverse-lookup): Use hashtable accessors.

* symbols.c, symbols.h (scm_i_hash_symbol): New function.

* weaks.c, weaks.h (scm_make_weak_key_alist_vector,
scm_make_weak_value_alist_vector,
scm_make_doubly_weak_alist_vector): New functions.

* weaks.c (scm_init_weaks_builtins): New function.

* weaks.h (SCM_WVECTF_WEAK_KEY, SCM_WVECTF_WEAK_VALUE,
SCM_WVECTF_NOSCAN, SCM_WVECT_WEAK_KEY_P, SCM_WVECT_WEAK_VALUE_P,
SCM_WVECT_NOSCAN_P): New macros.

* weaks.c (scm_scan_weak_vectors):  Use SCM_WVECT_WEAK_KEY_P
and SCM_WVECT_WEAK_VALUE_P.

* weaks.c, weaks.h (scm_i_allocate_weak_vector): Renamed from
allocate_weak_vector and exported.

* Makefile.am (ice9_sources): Added weak-vector.scm.

* weak-vector.scm: New file.

* boot-9.scm (module-clear!): Use hash-clear!.
(module-for-each): Use hash-for-each.
(module-map): Use hash-map.
2003-02-19 15:04:51 +00:00
Mikael Djurfeldt
f59a096e59 * hashtab.c (scm_vector_to_hash_table,
scm_c_make_resizing_hash_table, scm_make_hash_table): New
functions.
(scm_hash_fn_get_handle, scm_hash_fn_create_handle_x): Made thread
safe and handle resizing tables.

* weaks.c (scm_make_weak_key_hash_table,
scm_make_weak_value_hash_table, scm_make_doubly_weak_hash_table):
Size argument made optional.  Return resizable table if not
specified.

* boot-9.scm (make-hash-table): Turned primitive.
2003-02-11 13:49:32 +00:00
Mikael Djurfeldt
e963ac2c54 * syncase.scm (guile-macro): Strip syntactic information from
expression before trying to treat it as a Guile macro call.
(Thanks to Kevin Ryde.)
2003-01-27 08:46:18 +00:00
Mikael Djurfeldt
c2950e36ef * threads.scm (parallel, letpar): Rewritten. 2003-01-24 10:32:13 +00:00
Mikael Djurfeldt
f4719f3191 * threads.scm (par-mapper, n-par-map, n-par-for-each): Use
futures.
2003-01-23 16:04:06 +00:00
Mikael Djurfeldt
51407fa0b7 * occam-channel.scm (alt): New syntax. 2003-01-20 11:24:51 +00:00
Mikael Djurfeldt
93f26b7bcc * evalext.c, evalext.h (scm_self_evaluating_p): New function.
* psyntax.ss (self-evaluating?): Removed.  Guile now provides this
operator as a primitive procedure.
(build-data): Quote vectors (psyntax.ss requires this).
2003-01-20 10:12:39 +00:00
Mikael Djurfeldt
80f225df0e * psyntax.ss (build-data): Don't quote self-evaluating expressions
in output.  (We normally *would* like also these expressions to be
quoted, but until Guile's native macros and syncase cooperates
better, it is less destructive not to quote.)
(self-evaluating?): Removed null? (In Guile, the empty list is not
self-evaluating).
(sc-chi): Export chi as sc-chi.
(external-macro): New syntax type.

* psyntax.pp: Regenerated.

* compile-psyntax.scm: Set expansion-eval-closure.

* syncase.scm: Set expansion-eval-closure to
the-syncase-eval-closure during booting so that variables are
created in the correct module.
(syncase): Set expansion-eval-closure.
(define-syntax define-syntax-public eval-when fluid-let-syntax
identifier-syntax let-syntax letrec-syntax syntax syntax-case
syntax-rules with-syntax include): Removed definitions (these are
created from within psyntax.pp).
Enable expansion of Guile macros during a syntax-case
transformation.
2003-01-16 11:48:14 +00:00
Mikael Djurfeldt
cf743aeae6 * boot-9.scm (use-syntax): Return *unspecified*.
* syncase.scm: (syncase): Set expansion-eval-closure.
2003-01-15 20:35:25 +00:00
Mikael Djurfeldt
7906d57d02 * syncase.scm: Set expansion-eval-closure to
the-syncase-eval-closure during booting so that variables are
created in the correct module;
(define-syntax define-syntax-public eval-when fluid-let-syntax
identifier-syntax let-syntax letrec-syntax syntax syntax-case
syntax-rules with-syntax include): Removed definitions (these are
created from within psyntax.pp).
2003-01-15 17:29:09 +00:00
Mikael Djurfeldt
fb83145154 * occam-channel.scm (make-timer): New function. 2003-01-10 22:18:14 +00:00
Mikael Djurfeldt
8411a44631 * occam-channel.scm (make-channel): Renamed from channel. 2003-01-10 18:52:16 +00:00
Mikael Djurfeldt
60eefd9c3a * Makefile.am (ice9_sources): Added occam-channel.scm.
* occam-channel.scm: New file.  Implements occam-like channels.
2003-01-10 18:46:31 +00:00
Neil Jerram
db85376112 Add a hook that is run whenever a new module is defined. 2002-12-28 20:14:21 +00:00
Mikael Djurfeldt
62d4fd94a6 * threads.scm: Removed bogus definition of future-ref. 2002-12-18 11:00:56 +00:00