1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-24 21:50:20 +02:00
guile/module/ice-9
Andy Wingo 5870188eb4 Replace "pr" struct fields with "pw" fields
* libguile/struct.h (SCM_VTABLE_BASE_LAYOUT): Layout is a "pr" field.
* module/ice-9/boot-9.scm (record-type-vtable): Record vtable fields are
  writable.
  (<parameter>): "pw" fields.
* module/oop/goops.scm (<class>, %compute-layout): <read-only> fields
  are "pw" underneath.
* module/rnrs/records/procedural.scm (record-type-vtable)
  (record-constructor-vtable, make-record-type-descriptor): Use "pw"
  fields in vtables.
* module/srfi/srfi-35.scm (%condition-type-vtable)
  (struct-layout-for-condition): "pw" fields in vtables.
* test-suite/tests/goops.test:
* test-suite/tests/structs.test: Use "pw" fields only.
* benchmark-suite/benchmarks/structs.bm: Update for make-struct/no-tail,
  to use pw fields, and also to remove useless tests that the compiler
  would optimize away.
* doc/ref/api-data.texi (Vtables): Add a note about the now-vestigial
  permissions character and update documentation.
  (Structure Basics, Meta-Vtables): Update examples.
* libguile/hash.c (scm_i_struct_hash): Remove code that would handle
  opaque/self fields.
* libguile/print.h (SCM_PRINT_STATE_LAYOUT): Use "pw" fields.
* libguile/struct.c (scm_struct_init): Simplify check for hidden
  fields.
* libguile/values.c (scm_init_values): Field is "pw".
2017-09-23 15:33:02 +02:00
..
peg
and-let-star.scm Fix SRFI-2 (and-let*) implementation. 2016-06-21 13:40:01 +02:00
arrays.scm
atomic.scm Compiler support for atomics 2016-09-06 12:18:35 +02:00
binary-ports.scm Implement R6RS custom binary input/output ports 2016-08-04 22:29:51 +02:00
boot-9.scm Replace "pr" struct fields with "pw" fields 2017-09-23 15:33:02 +02:00
buffered-input.scm
calling.scm
ChangeLog-2008
channel.scm
command-line.scm Update --version and REPL copyright years 2017-03-15 09:12:55 +01:00
common-list.scm
compile-psyntax.scm Psyntax generates new syntax objects 2017-03-28 19:23:13 +02:00
control.scm Add suspendable-continuation? 2016-12-12 21:13:00 +01:00
curried-definitions.scm Provide curried version of define*-public. 2014-07-31 16:05:58 +01:00
deprecated.scm Remove support for legacy syntax objects. 2017-05-22 15:37:43 +02:00
documentation.scm
eval-string.scm Rename "RTL" to "bytecode" 2013-12-02 21:31:47 +01:00
eval.scm Better errors for odd-length keyword args 2017-02-28 22:01:20 +01:00
expect.scm
fdes-finalizers.scm Add file descriptor finalizers 2016-08-30 23:35:10 +02:00
format.scm Remove all deprecated code 2017-05-22 13:36:42 +02:00
ftw.scm scandir: Avoid 'stat' calls on each entry. 2017-03-01 20:40:26 +01:00
futures.scm Revert "futures: Limit the number of nested futures on the same stack." 2017-02-28 10:45:21 +01:00
gap-buffer.scm
getopt-long.scm
hash-table.scm Add procedures to convert alists into hash tables. 2013-11-18 23:03:38 -05:00
hcons.scm
history.scm
i18n.scm i18n: add international sign positions to %locale-dump 2017-03-20 22:35:49 -07:00
iconv.scm
lineio.scm
list.scm
local-eval.scm Merge branch 'stable-2.0' 2014-01-14 01:30:56 -05:00
ls.scm
match.scm
match.upstream.scm Match and srfi-9 expose their bailouts to the CSE pass 2014-04-05 11:56:44 +02:00
networking.scm
null.scm
occam-channel.scm
optargs.scm
peg.scm
poe.scm
poll.scm Merge commit 'f6ddf827f8' 2014-02-07 14:51:42 +01:00
popen.scm Improve correctness and consistency of 'eval-when' usage. 2014-01-23 10:41:22 -05:00
ports.scm put-char in Scheme 2016-06-09 10:59:02 +02:00
posix.scm
pretty-print.scm Fix rank 0 arrays and nested arrays in truncated-print 2017-02-07 15:56:40 +01:00
psyntax-pp.scm Merge stable-2.2 into master 2017-09-22 12:02:25 +02:00
psyntax.scm Merge stable-2.2 into master 2017-09-22 12:02:25 +02:00
q.scm
quasisyntax.scm
r5rs.scm
r6rs-libraries.scm Fix R6RS imports of interfaces that use interfaces 2016-04-14 12:35:55 +02:00
rdelim.scm VM support for string-set!; slimmer read-string 2017-03-09 17:24:06 +01:00
README
receive.scm
regex.scm
runq.scm
rw.scm
safe-r5rs.scm
safe.scm
sandbox.scm Add sandboxed evaluation facility 2017-04-18 21:27:45 +02:00
save-stack.scm Avoid stacks in dynamically-bound values 2017-02-07 09:57:55 +01:00
scm-style-repl.scm Update old-style REPL code for deprecation 2014-04-02 12:08:48 +02:00
serialize.scm Deprecate dynamic roots 2016-11-21 23:09:21 +01:00
session.scm rtl-program? -> program? 2013-11-19 19:11:40 +01:00
slib.scm
stack-catch.scm
streams.scm Re-implement (ice-9 streams) in terms of (srfi srfi-41) 2015-03-09 13:48:38 +01:00
string-fun.scm
suspendable-ports.scm Add accept4 support 2017-02-15 22:10:25 +01:00
test.scm
textual-ports.scm Update port documentation, rename sports to suspendable ports 2016-06-09 10:50:32 +02:00
threads.scm Enable interrupts only when running thread body 2017-01-08 13:02:56 +01:00
time.scm
top-repl.scm
unicode.scm Add (ice-9 unicode) module 2014-09-29 21:54:14 -04:00
vlist.scm
weak-vector.scm Add weak-vector-length, weak-vector-ref, weak-vector-set! 2014-02-07 13:00:41 +01:00

This directory contains various bits of Guile Scheme code.
Most of these are packaged as modules, with foo.scm implementing
the module `(ice-9 foo)'.

The non-module files are:

boot-9.scm	-- loaded on guile startup
		   implements module system + lots of other stuff
arrays.scm	-- loaded by boot-9.scm
networking.scm	-- loaded by boot-9.scm
posix.scm	-- loaded by boot-9.scm
r4rs.scm	-- loaded by boot-9.scm