head 1.6; access; symbols pkgsrc-2026Q1:1.6.0.4 pkgsrc-2026Q1-base:1.6 pkgsrc-2025Q4:1.6.0.2 pkgsrc-2025Q4-base:1.6 pkgsrc-2025Q3:1.5.0.4 pkgsrc-2025Q3-base:1.5 pkgsrc-2025Q2:1.5.0.2 pkgsrc-2025Q2-base:1.5 pkgsrc-2025Q1:1.4.0.6 pkgsrc-2025Q1-base:1.4 pkgsrc-2024Q4:1.4.0.4 pkgsrc-2024Q4-base:1.4 pkgsrc-2024Q3:1.4.0.2 pkgsrc-2024Q3-base:1.4 pkgsrc-2024Q2:1.3.0.12 pkgsrc-2024Q2-base:1.3 pkgsrc-2024Q1:1.3.0.10 pkgsrc-2024Q1-base:1.3 pkgsrc-2023Q4:1.3.0.8 pkgsrc-2023Q4-base:1.3 pkgsrc-2023Q3:1.3.0.6 pkgsrc-2023Q3-base:1.3 pkgsrc-2023Q2:1.3.0.4 pkgsrc-2023Q2-base:1.3 pkgsrc-2023Q1:1.3.0.2 pkgsrc-2023Q1-base:1.3 pkgsrc-2022Q4:1.2.0.6 pkgsrc-2022Q4-base:1.2 pkgsrc-2022Q3:1.2.0.4 pkgsrc-2022Q3-base:1.2 pkgsrc-2022Q2:1.2.0.2 pkgsrc-2022Q2-base:1.2 pkgsrc-2022Q1:1.1.0.2 pkgsrc-2022Q1-base:1.1; locks; strict; comment @# @; 1.6 date 2025.12.14.21.28.25; author gdt; state Exp; branches; next 1.5; commitid dPHC4g6rEvu6fqmG; 1.5 date 2025.05.22.09.22.00; author adam; state Exp; branches; next 1.4; commitid yIloU3NuVZRqQSVF; 1.4 date 2024.06.26.22.49.10; author gdt; state Exp; branches; next 1.3; commitid uExVfKKx6xLrUxfF; 1.3 date 2023.01.25.18.12.00; author gdt; state Exp; branches; next 1.2; commitid YfAT922Z49Ud2XaE; 1.2 date 2022.03.30.07.48.13; author wiz; state Exp; branches; next 1.1; commitid 5yfel4ftvXS4gdyD; 1.1 date 2022.03.08.00.09.30; author wiz; state Exp; branches; next ; commitid ahV3cFHtSm4AqlvD; desc @@ 1.6 log @lang/guile30: Update to 3.0.11 This is labeled a micro release by upstream. There was a minor issue with gnucash, which is either a guile bug or a latent gnucash bug, or both. Gnucash has landed patches in trunk, and wiz@@ has merged them to our gnucash package. No other problems with guile30 (not widely used) have been observed or reported. Upstream NEWS: * Notable changes ** Guile supports SRFI-207: String notated bytevectors (bytestrings) Guile can now read and write #u8"\xe2;\x88;\x9e; Improbability\n" style bytestrings when they are enabled by `(read-enable 'bytestrings)` and `(print-enable 'bytestrings)` respectively. See "SRFI-207 String-notated bytevectors" in the info pages for additional information. All of the SRFI-207 procedures have also been added, including support for hex and base64 encoding and decoding. ** R7RS `cond-expand` now supports `else` () ** The SRFI-64 module for test suites has been rewritten A new, backward-compatible implementation of (srfi srfi-64) has been contributed by Tomas Volf. The reference implementation, which was used so far, had a number of issues on Guile that made some of its interface downright unusable (e.g., ), non-conforming (e.g., ), or buggy (e.g., ). * New interfaces and functionality ** Guile now supports SRFI-197 (Pipeline Operators) Guile now provides chain, chain-and, chain-when, chain-lambda, nest, and nest-reverse. ** Guile now supports SRFI-244 (Multiple-value Definitions) Guile now provides syntax 'define-values' under the module (srfi srfi-244). This syntax existed for a long time in the core of Guile, now it is also exported via srfi-244 to help writing portable code. ** PEG parser PEG grammar parser in (ice-9 peg string-peg) has been rewritten to cover all the functionality defined in . The 'not-in-range' pattern was also added to (ice-9 peg); it is available from PEG strings via '[^...]'. ** GOOPS: Introduce new forms method* and define-method* The module (oop goops) now exports method* and define-method* which are the counterparts of lambda* and define* in they provide support for advanced argument handling such as optional and keyword arguments. The implementation fully supports (next-method) calls, also for keyword arguments. The new syntax is documented in the Guile Reference manual. ** (ice-9 rdelim) has new line and field iteration procedures (ice-9 rdelim) has three new procedures: for-rdelim-from-port, for-delimited-from-port and for-line-in-file. Of these, for-line-in-file is helpful in the common situation where you want a procedure applied to every line in a file. ** Add procedure (%inhibit-welcome-message) to silence the REPL welcome If ((@@ (system repl repl) %inhibit-welcome-message) #t) is set in $HOME/.guile, the welcome message in the REPL is suppressed. ** Improve 'load-foreign-library' handling of DLLs The non-libltdl load-foreign-library introduced in 3.0.6 does not handle some common cases with libtool-generated DLLs. It has been updated to search for DLLs that have a version number appended to the name by libtool, such as libfoo-1.dll. Also, it has been updated to do library renaming for MSYS. On Cygwin, when the #:rename-on-cygwin? option is #t, it already had the capability to search for "libfoo" as "cygfoo.dll". It has been updated to add the capability to search for "libfoo" as "msys-foo.dll" on MSYS. The load-foreign-library option #:rename-on-cygwin? has been changed to #:host-type-rename?, and handles both Cygwin and MSYS. ** Make piped-process and system* available on systems without fork Now that piped-process and system* are implemented in terms of `posix_spawn', they can be made available on systems without fork(). Note that currently Guile does use fork in piped-process to set exit codes, so piped-process on systems without fork will have a different behavior with regards to exit codes. ** MinGW: remove kill, getaffinity, setaffinity, getpriority, and setpriority Now that Guile uses a posix_spawn module, these Win32 emulations of POSIX functions no longer work. They relied on Guile keeping an internal handle-to-pid table, which is not part of the new posix_spawn code. They are removed on MinGW. ** MinGW: waitpid returns ENOSYS if options are non-zero When Guile switched to using posix_spawn module, Guile's Win32 emulation of waitpid could no longer emulate ENOHANG. It relied on Guile keeping an internal handle-to-pid table. It now returns ENOSYS on any non-zero waitpid option. ** The JIT (lightening) supports the riscv architecture @ text @@@comment $NetBSD$ guile/3.0/bin/guild guile/3.0/bin/guile guile/3.0/bin/guile-config guile/3.0/bin/guile-snarf guile/3.0/bin/guile-tools guile/3.0/include/guile/3.0/libguile.h guile/3.0/include/guile/3.0/libguile/__scm.h guile/3.0/include/guile/3.0/libguile/alist.h guile/3.0/include/guile/3.0/libguile/array-handle.h guile/3.0/include/guile/3.0/libguile/array-map.h guile/3.0/include/guile/3.0/libguile/arrays.h guile/3.0/include/guile/3.0/libguile/async.h guile/3.0/include/guile/3.0/libguile/atomic.h guile/3.0/include/guile/3.0/libguile/backtrace.h guile/3.0/include/guile/3.0/libguile/bdw-gc.h guile/3.0/include/guile/3.0/libguile/bitvectors.h guile/3.0/include/guile/3.0/libguile/boolean.h guile/3.0/include/guile/3.0/libguile/bytevectors.h guile/3.0/include/guile/3.0/libguile/chars.h guile/3.0/include/guile/3.0/libguile/chooks.h guile/3.0/include/guile/3.0/libguile/continuations.h guile/3.0/include/guile/3.0/libguile/control.h guile/3.0/include/guile/3.0/libguile/debug-malloc.h guile/3.0/include/guile/3.0/libguile/debug.h guile/3.0/include/guile/3.0/libguile/deprecated.h guile/3.0/include/guile/3.0/libguile/deprecation.h guile/3.0/include/guile/3.0/libguile/dynl.h guile/3.0/include/guile/3.0/libguile/dynstack.h guile/3.0/include/guile/3.0/libguile/dynwind.h guile/3.0/include/guile/3.0/libguile/eq.h guile/3.0/include/guile/3.0/libguile/error.h guile/3.0/include/guile/3.0/libguile/eval.h guile/3.0/include/guile/3.0/libguile/evalext.h guile/3.0/include/guile/3.0/libguile/exceptions.h guile/3.0/include/guile/3.0/libguile/expand.h guile/3.0/include/guile/3.0/libguile/extensions.h guile/3.0/include/guile/3.0/libguile/fdes-finalizers.h guile/3.0/include/guile/3.0/libguile/feature.h guile/3.0/include/guile/3.0/libguile/filesys.h guile/3.0/include/guile/3.0/libguile/finalizers.h guile/3.0/include/guile/3.0/libguile/fluids.h guile/3.0/include/guile/3.0/libguile/foreign-object.h guile/3.0/include/guile/3.0/libguile/foreign.h guile/3.0/include/guile/3.0/libguile/fports.h guile/3.0/include/guile/3.0/libguile/frames.h guile/3.0/include/guile/3.0/libguile/gc-inline.h guile/3.0/include/guile/3.0/libguile/gc.h guile/3.0/include/guile/3.0/libguile/generalized-vectors.h guile/3.0/include/guile/3.0/libguile/gettext.h guile/3.0/include/guile/3.0/libguile/goops.h guile/3.0/include/guile/3.0/libguile/gsubr.h guile/3.0/include/guile/3.0/libguile/guardians.h guile/3.0/include/guile/3.0/libguile/hash.h guile/3.0/include/guile/3.0/libguile/hashtab.h guile/3.0/include/guile/3.0/libguile/hooks.h guile/3.0/include/guile/3.0/libguile/i18n.h guile/3.0/include/guile/3.0/libguile/init.h guile/3.0/include/guile/3.0/libguile/inline.h guile/3.0/include/guile/3.0/libguile/instructions.h guile/3.0/include/guile/3.0/libguile/ioext.h guile/3.0/include/guile/3.0/libguile/iselect.h guile/3.0/include/guile/3.0/libguile/jit.h guile/3.0/include/guile/3.0/libguile/keywords.h guile/3.0/include/guile/3.0/libguile/list.h guile/3.0/include/guile/3.0/libguile/load.h guile/3.0/include/guile/3.0/libguile/loader.h guile/3.0/include/guile/3.0/libguile/macros.h guile/3.0/include/guile/3.0/libguile/mallocs.h guile/3.0/include/guile/3.0/libguile/memoize.h guile/3.0/include/guile/3.0/libguile/modules.h guile/3.0/include/guile/3.0/libguile/net_db.h guile/3.0/include/guile/3.0/libguile/null-threads.h guile/3.0/include/guile/3.0/libguile/numbers.h guile/3.0/include/guile/3.0/libguile/objprop.h guile/3.0/include/guile/3.0/libguile/options.h guile/3.0/include/guile/3.0/libguile/pairs.h guile/3.0/include/guile/3.0/libguile/poll.h guile/3.0/include/guile/3.0/libguile/ports.h guile/3.0/include/guile/3.0/libguile/posix.h guile/3.0/include/guile/3.0/libguile/print.h guile/3.0/include/guile/3.0/libguile/procprop.h guile/3.0/include/guile/3.0/libguile/procs.h guile/3.0/include/guile/3.0/libguile/programs.h guile/3.0/include/guile/3.0/libguile/promises.h guile/3.0/include/guile/3.0/libguile/pthread-threads.h guile/3.0/include/guile/3.0/libguile/r6rs-ports.h guile/3.0/include/guile/3.0/libguile/random.h guile/3.0/include/guile/3.0/libguile/rdelim.h guile/3.0/include/guile/3.0/libguile/read.h guile/3.0/include/guile/3.0/libguile/regex-posix.h guile/3.0/include/guile/3.0/libguile/rw.h guile/3.0/include/guile/3.0/libguile/scm.h guile/3.0/include/guile/3.0/libguile/scmconfig.h guile/3.0/include/guile/3.0/libguile/scmsigs.h guile/3.0/include/guile/3.0/libguile/script.h guile/3.0/include/guile/3.0/libguile/setjump-win.h guile/3.0/include/guile/3.0/libguile/simpos.h guile/3.0/include/guile/3.0/libguile/smob.h guile/3.0/include/guile/3.0/libguile/snarf.h guile/3.0/include/guile/3.0/libguile/socket.h guile/3.0/include/guile/3.0/libguile/sort.h guile/3.0/include/guile/3.0/libguile/srcprop.h guile/3.0/include/guile/3.0/libguile/srfi-13.h guile/3.0/include/guile/3.0/libguile/srfi-14.h guile/3.0/include/guile/3.0/libguile/srfi-4.h guile/3.0/include/guile/3.0/libguile/srfi-60.h guile/3.0/include/guile/3.0/libguile/stackchk.h guile/3.0/include/guile/3.0/libguile/stacks.h guile/3.0/include/guile/3.0/libguile/stime.h guile/3.0/include/guile/3.0/libguile/strings.h guile/3.0/include/guile/3.0/libguile/strorder.h guile/3.0/include/guile/3.0/libguile/strports.h guile/3.0/include/guile/3.0/libguile/struct.h guile/3.0/include/guile/3.0/libguile/symbols.h guile/3.0/include/guile/3.0/libguile/tags.h guile/3.0/include/guile/3.0/libguile/threads.h guile/3.0/include/guile/3.0/libguile/throw.h guile/3.0/include/guile/3.0/libguile/unicode.h guile/3.0/include/guile/3.0/libguile/uniform.h guile/3.0/include/guile/3.0/libguile/validate.h guile/3.0/include/guile/3.0/libguile/values.h guile/3.0/include/guile/3.0/libguile/variable.h guile/3.0/include/guile/3.0/libguile/vectors.h guile/3.0/include/guile/3.0/libguile/version.h guile/3.0/include/guile/3.0/libguile/vm-builtins.h guile/3.0/include/guile/3.0/libguile/vm-expand.h guile/3.0/include/guile/3.0/libguile/vm.h guile/3.0/include/guile/3.0/libguile/vports.h guile/3.0/include/guile/3.0/libguile/weak-set.h guile/3.0/include/guile/3.0/libguile/weak-table.h guile/3.0/include/guile/3.0/libguile/weak-vector.h guile/3.0/include/guile/3.0/readline.h guile/3.0/info/guile.info guile/3.0/info/r5rs.info guile/3.0/lib/guile/3.0/ccache/ice-9/and-let-star.go guile/3.0/lib/guile/3.0/ccache/ice-9/arrays.go guile/3.0/lib/guile/3.0/ccache/ice-9/atomic.go guile/3.0/lib/guile/3.0/ccache/ice-9/binary-ports.go guile/3.0/lib/guile/3.0/ccache/ice-9/boot-9.go guile/3.0/lib/guile/3.0/ccache/ice-9/buffered-input.go guile/3.0/lib/guile/3.0/ccache/ice-9/calling.go guile/3.0/lib/guile/3.0/ccache/ice-9/command-line.go guile/3.0/lib/guile/3.0/ccache/ice-9/common-list.go guile/3.0/lib/guile/3.0/ccache/ice-9/control.go guile/3.0/lib/guile/3.0/ccache/ice-9/copy-tree.go guile/3.0/lib/guile/3.0/ccache/ice-9/curried-definitions.go guile/3.0/lib/guile/3.0/ccache/ice-9/custom-ports.go guile/3.0/lib/guile/3.0/ccache/ice-9/deprecated.go guile/3.0/lib/guile/3.0/ccache/ice-9/documentation.go guile/3.0/lib/guile/3.0/ccache/ice-9/eval-string.go guile/3.0/lib/guile/3.0/ccache/ice-9/eval.go guile/3.0/lib/guile/3.0/ccache/ice-9/exceptions.go guile/3.0/lib/guile/3.0/ccache/ice-9/expect.go guile/3.0/lib/guile/3.0/ccache/ice-9/fdes-finalizers.go guile/3.0/lib/guile/3.0/ccache/ice-9/format.go guile/3.0/lib/guile/3.0/ccache/ice-9/ftw.go guile/3.0/lib/guile/3.0/ccache/ice-9/futures.go guile/3.0/lib/guile/3.0/ccache/ice-9/gap-buffer.go guile/3.0/lib/guile/3.0/ccache/ice-9/getopt-long.go guile/3.0/lib/guile/3.0/ccache/ice-9/hash-table.go guile/3.0/lib/guile/3.0/ccache/ice-9/hcons.go guile/3.0/lib/guile/3.0/ccache/ice-9/history.go guile/3.0/lib/guile/3.0/ccache/ice-9/i18n.go guile/3.0/lib/guile/3.0/ccache/ice-9/iconv.go guile/3.0/lib/guile/3.0/ccache/ice-9/lineio.go guile/3.0/lib/guile/3.0/ccache/ice-9/list.go guile/3.0/lib/guile/3.0/ccache/ice-9/local-eval.go guile/3.0/lib/guile/3.0/ccache/ice-9/ls.go guile/3.0/lib/guile/3.0/ccache/ice-9/match.go guile/3.0/lib/guile/3.0/ccache/ice-9/networking.go guile/3.0/lib/guile/3.0/ccache/ice-9/null.go guile/3.0/lib/guile/3.0/ccache/ice-9/occam-channel.go guile/3.0/lib/guile/3.0/ccache/ice-9/optargs.go guile/3.0/lib/guile/3.0/ccache/ice-9/peg.go guile/3.0/lib/guile/3.0/ccache/ice-9/peg/cache.go guile/3.0/lib/guile/3.0/ccache/ice-9/peg/codegen.go guile/3.0/lib/guile/3.0/ccache/ice-9/peg/simplify-tree.go guile/3.0/lib/guile/3.0/ccache/ice-9/peg/string-peg.go guile/3.0/lib/guile/3.0/ccache/ice-9/peg/using-parsers.go guile/3.0/lib/guile/3.0/ccache/ice-9/poe.go guile/3.0/lib/guile/3.0/ccache/ice-9/poll.go guile/3.0/lib/guile/3.0/ccache/ice-9/popen.go guile/3.0/lib/guile/3.0/ccache/ice-9/ports.go guile/3.0/lib/guile/3.0/ccache/ice-9/posix.go guile/3.0/lib/guile/3.0/ccache/ice-9/pretty-print.go guile/3.0/lib/guile/3.0/ccache/ice-9/psyntax-pp.go guile/3.0/lib/guile/3.0/ccache/ice-9/q.go guile/3.0/lib/guile/3.0/ccache/ice-9/r5rs.go guile/3.0/lib/guile/3.0/ccache/ice-9/rdelim.go guile/3.0/lib/guile/3.0/ccache/ice-9/readline.go guile/3.0/lib/guile/3.0/ccache/ice-9/receive.go guile/3.0/lib/guile/3.0/ccache/ice-9/regex.go guile/3.0/lib/guile/3.0/ccache/ice-9/runq.go guile/3.0/lib/guile/3.0/ccache/ice-9/rw.go guile/3.0/lib/guile/3.0/ccache/ice-9/safe-r5rs.go guile/3.0/lib/guile/3.0/ccache/ice-9/safe.go guile/3.0/lib/guile/3.0/ccache/ice-9/sandbox.go guile/3.0/lib/guile/3.0/ccache/ice-9/save-stack.go guile/3.0/lib/guile/3.0/ccache/ice-9/scm-style-repl.go guile/3.0/lib/guile/3.0/ccache/ice-9/serialize.go guile/3.0/lib/guile/3.0/ccache/ice-9/session.go guile/3.0/lib/guile/3.0/ccache/ice-9/slib.go guile/3.0/lib/guile/3.0/ccache/ice-9/soft-ports.go guile/3.0/lib/guile/3.0/ccache/ice-9/stack-catch.go guile/3.0/lib/guile/3.0/ccache/ice-9/streams.go guile/3.0/lib/guile/3.0/ccache/ice-9/string-fun.go guile/3.0/lib/guile/3.0/ccache/ice-9/suspendable-ports.go guile/3.0/lib/guile/3.0/ccache/ice-9/textual-ports.go guile/3.0/lib/guile/3.0/ccache/ice-9/threads.go guile/3.0/lib/guile/3.0/ccache/ice-9/time.go guile/3.0/lib/guile/3.0/ccache/ice-9/top-repl.go guile/3.0/lib/guile/3.0/ccache/ice-9/unicode.go guile/3.0/lib/guile/3.0/ccache/ice-9/vlist.go guile/3.0/lib/guile/3.0/ccache/ice-9/weak-vector.go guile/3.0/lib/guile/3.0/ccache/language/brainfuck/compile-scheme.go guile/3.0/lib/guile/3.0/ccache/language/brainfuck/compile-tree-il.go guile/3.0/lib/guile/3.0/ccache/language/brainfuck/parse.go guile/3.0/lib/guile/3.0/ccache/language/brainfuck/spec.go guile/3.0/lib/guile/3.0/ccache/language/bytecode.go guile/3.0/lib/guile/3.0/ccache/language/bytecode/spec.go guile/3.0/lib/guile/3.0/ccache/language/cps.go guile/3.0/lib/guile/3.0/ccache/language/cps/closure-conversion.go guile/3.0/lib/guile/3.0/ccache/language/cps/compile-bytecode.go guile/3.0/lib/guile/3.0/ccache/language/cps/contification.go guile/3.0/lib/guile/3.0/ccache/language/cps/cse.go guile/3.0/lib/guile/3.0/ccache/language/cps/dce.go guile/3.0/lib/guile/3.0/ccache/language/cps/devirtualize-integers.go guile/3.0/lib/guile/3.0/ccache/language/cps/dump.go guile/3.0/lib/guile/3.0/ccache/language/cps/effects-analysis.go guile/3.0/lib/guile/3.0/ccache/language/cps/elide-arity-checks.go guile/3.0/lib/guile/3.0/ccache/language/cps/graphs.go guile/3.0/lib/guile/3.0/ccache/language/cps/guile-vm.go guile/3.0/lib/guile/3.0/ccache/language/cps/guile-vm/loop-instrumentation.go guile/3.0/lib/guile/3.0/ccache/language/cps/guile-vm/lower-primcalls.go guile/3.0/lib/guile/3.0/ccache/language/cps/guile-vm/reify-primitives.go guile/3.0/lib/guile/3.0/ccache/language/cps/intmap.go guile/3.0/lib/guile/3.0/ccache/language/cps/intset.go guile/3.0/lib/guile/3.0/ccache/language/cps/licm.go guile/3.0/lib/guile/3.0/ccache/language/cps/optimize.go guile/3.0/lib/guile/3.0/ccache/language/cps/peel-loops.go guile/3.0/lib/guile/3.0/ccache/language/cps/prune-top-level-scopes.go guile/3.0/lib/guile/3.0/ccache/language/cps/renumber.go guile/3.0/lib/guile/3.0/ccache/language/cps/return-types.go guile/3.0/lib/guile/3.0/ccache/language/cps/rotate-loops.go guile/3.0/lib/guile/3.0/ccache/language/cps/self-references.go guile/3.0/lib/guile/3.0/ccache/language/cps/simplify.go guile/3.0/lib/guile/3.0/ccache/language/cps/slot-allocation.go guile/3.0/lib/guile/3.0/ccache/language/cps/spec.go guile/3.0/lib/guile/3.0/ccache/language/cps/specialize-numbers.go guile/3.0/lib/guile/3.0/ccache/language/cps/specialize-primcalls.go guile/3.0/lib/guile/3.0/ccache/language/cps/split-rec.go guile/3.0/lib/guile/3.0/ccache/language/cps/switch.go guile/3.0/lib/guile/3.0/ccache/language/cps/type-checks.go guile/3.0/lib/guile/3.0/ccache/language/cps/type-fold.go guile/3.0/lib/guile/3.0/ccache/language/cps/types.go guile/3.0/lib/guile/3.0/ccache/language/cps/utils.go guile/3.0/lib/guile/3.0/ccache/language/cps/verify.go guile/3.0/lib/guile/3.0/ccache/language/cps/with-cps.go guile/3.0/lib/guile/3.0/ccache/language/ecmascript/array.go guile/3.0/lib/guile/3.0/ccache/language/ecmascript/base.go guile/3.0/lib/guile/3.0/ccache/language/ecmascript/compile-tree-il.go guile/3.0/lib/guile/3.0/ccache/language/ecmascript/function.go guile/3.0/lib/guile/3.0/ccache/language/ecmascript/impl.go guile/3.0/lib/guile/3.0/ccache/language/ecmascript/parse.go guile/3.0/lib/guile/3.0/ccache/language/ecmascript/spec.go guile/3.0/lib/guile/3.0/ccache/language/ecmascript/tokenize.go guile/3.0/lib/guile/3.0/ccache/language/elisp/bindings.go guile/3.0/lib/guile/3.0/ccache/language/elisp/boot.go guile/3.0/lib/guile/3.0/ccache/language/elisp/compile-tree-il.go guile/3.0/lib/guile/3.0/ccache/language/elisp/falias.go guile/3.0/lib/guile/3.0/ccache/language/elisp/lexer.go guile/3.0/lib/guile/3.0/ccache/language/elisp/parser.go guile/3.0/lib/guile/3.0/ccache/language/elisp/runtime.go guile/3.0/lib/guile/3.0/ccache/language/elisp/runtime/function-slot.go guile/3.0/lib/guile/3.0/ccache/language/elisp/runtime/value-slot.go guile/3.0/lib/guile/3.0/ccache/language/elisp/spec.go guile/3.0/lib/guile/3.0/ccache/language/scheme/compile-tree-il.go guile/3.0/lib/guile/3.0/ccache/language/scheme/decompile-tree-il.go guile/3.0/lib/guile/3.0/ccache/language/scheme/spec.go guile/3.0/lib/guile/3.0/ccache/language/tree-il.go guile/3.0/lib/guile/3.0/ccache/language/tree-il/analyze.go guile/3.0/lib/guile/3.0/ccache/language/tree-il/compile-bytecode.go guile/3.0/lib/guile/3.0/ccache/language/tree-il/compile-cps.go guile/3.0/lib/guile/3.0/ccache/language/tree-il/cps-primitives.go guile/3.0/lib/guile/3.0/ccache/language/tree-il/debug.go guile/3.0/lib/guile/3.0/ccache/language/tree-il/demux-lambda.go guile/3.0/lib/guile/3.0/ccache/language/tree-il/effects.go guile/3.0/lib/guile/3.0/ccache/language/tree-il/eta-expand.go guile/3.0/lib/guile/3.0/ccache/language/tree-il/fix-letrec.go guile/3.0/lib/guile/3.0/ccache/language/tree-il/inlinable-exports.go guile/3.0/lib/guile/3.0/ccache/language/tree-il/letrectify.go guile/3.0/lib/guile/3.0/ccache/language/tree-il/optimize.go guile/3.0/lib/guile/3.0/ccache/language/tree-il/peval.go guile/3.0/lib/guile/3.0/ccache/language/tree-il/primitives.go guile/3.0/lib/guile/3.0/ccache/language/tree-il/resolve-free-vars.go guile/3.0/lib/guile/3.0/ccache/language/tree-il/spec.go guile/3.0/lib/guile/3.0/ccache/language/value/spec.go guile/3.0/lib/guile/3.0/ccache/language/wisp.go guile/3.0/lib/guile/3.0/ccache/language/wisp/spec.go guile/3.0/lib/guile/3.0/ccache/oop/goops.go guile/3.0/lib/guile/3.0/ccache/oop/goops/accessors.go guile/3.0/lib/guile/3.0/ccache/oop/goops/active-slot.go guile/3.0/lib/guile/3.0/ccache/oop/goops/composite-slot.go guile/3.0/lib/guile/3.0/ccache/oop/goops/describe.go guile/3.0/lib/guile/3.0/ccache/oop/goops/internal.go guile/3.0/lib/guile/3.0/ccache/oop/goops/keyword-formals.go guile/3.0/lib/guile/3.0/ccache/oop/goops/save.go guile/3.0/lib/guile/3.0/ccache/oop/goops/simple.go guile/3.0/lib/guile/3.0/ccache/oop/goops/stklos.go guile/3.0/lib/guile/3.0/ccache/rnrs.go guile/3.0/lib/guile/3.0/ccache/rnrs/arithmetic/bitwise.go guile/3.0/lib/guile/3.0/ccache/rnrs/arithmetic/fixnums.go guile/3.0/lib/guile/3.0/ccache/rnrs/arithmetic/flonums.go guile/3.0/lib/guile/3.0/ccache/rnrs/base.go guile/3.0/lib/guile/3.0/ccache/rnrs/bytevectors.go guile/3.0/lib/guile/3.0/ccache/rnrs/bytevectors/gnu.go guile/3.0/lib/guile/3.0/ccache/rnrs/conditions.go guile/3.0/lib/guile/3.0/ccache/rnrs/control.go guile/3.0/lib/guile/3.0/ccache/rnrs/enums.go guile/3.0/lib/guile/3.0/ccache/rnrs/eval.go guile/3.0/lib/guile/3.0/ccache/rnrs/exceptions.go guile/3.0/lib/guile/3.0/ccache/rnrs/files.go guile/3.0/lib/guile/3.0/ccache/rnrs/hashtables.go guile/3.0/lib/guile/3.0/ccache/rnrs/io/ports.go guile/3.0/lib/guile/3.0/ccache/rnrs/io/simple.go guile/3.0/lib/guile/3.0/ccache/rnrs/lists.go guile/3.0/lib/guile/3.0/ccache/rnrs/mutable-pairs.go guile/3.0/lib/guile/3.0/ccache/rnrs/mutable-strings.go guile/3.0/lib/guile/3.0/ccache/rnrs/programs.go guile/3.0/lib/guile/3.0/ccache/rnrs/r5rs.go guile/3.0/lib/guile/3.0/ccache/rnrs/records/inspection.go guile/3.0/lib/guile/3.0/ccache/rnrs/records/procedural.go guile/3.0/lib/guile/3.0/ccache/rnrs/records/syntactic.go guile/3.0/lib/guile/3.0/ccache/rnrs/sorting.go guile/3.0/lib/guile/3.0/ccache/rnrs/syntax-case.go guile/3.0/lib/guile/3.0/ccache/rnrs/unicode.go guile/3.0/lib/guile/3.0/ccache/scheme/base.go guile/3.0/lib/guile/3.0/ccache/scheme/case-lambda.go guile/3.0/lib/guile/3.0/ccache/scheme/char.go guile/3.0/lib/guile/3.0/ccache/scheme/complex.go guile/3.0/lib/guile/3.0/ccache/scheme/cxr.go guile/3.0/lib/guile/3.0/ccache/scheme/eval.go guile/3.0/lib/guile/3.0/ccache/scheme/file.go guile/3.0/lib/guile/3.0/ccache/scheme/inexact.go guile/3.0/lib/guile/3.0/ccache/scheme/lazy.go guile/3.0/lib/guile/3.0/ccache/scheme/load.go guile/3.0/lib/guile/3.0/ccache/scheme/process-context.go guile/3.0/lib/guile/3.0/ccache/scheme/r5rs.go guile/3.0/lib/guile/3.0/ccache/scheme/read.go guile/3.0/lib/guile/3.0/ccache/scheme/repl.go guile/3.0/lib/guile/3.0/ccache/scheme/time.go guile/3.0/lib/guile/3.0/ccache/scheme/write.go guile/3.0/lib/guile/3.0/ccache/scripts/api-diff.go guile/3.0/lib/guile/3.0/ccache/scripts/autofrisk.go guile/3.0/lib/guile/3.0/ccache/scripts/compile.go guile/3.0/lib/guile/3.0/ccache/scripts/disassemble.go guile/3.0/lib/guile/3.0/ccache/scripts/display-commentary.go guile/3.0/lib/guile/3.0/ccache/scripts/doc-snarf.go guile/3.0/lib/guile/3.0/ccache/scripts/frisk.go guile/3.0/lib/guile/3.0/ccache/scripts/generate-autoload.go guile/3.0/lib/guile/3.0/ccache/scripts/help.go guile/3.0/lib/guile/3.0/ccache/scripts/lint.go guile/3.0/lib/guile/3.0/ccache/scripts/list.go guile/3.0/lib/guile/3.0/ccache/scripts/punify.go guile/3.0/lib/guile/3.0/ccache/scripts/read-rfc822.go guile/3.0/lib/guile/3.0/ccache/scripts/read-scheme-source.go guile/3.0/lib/guile/3.0/ccache/scripts/read-text-outline.go guile/3.0/lib/guile/3.0/ccache/scripts/scan-api.go guile/3.0/lib/guile/3.0/ccache/scripts/snarf-check-and-output-texi.go guile/3.0/lib/guile/3.0/ccache/scripts/snarf-guile-m4-docs.go guile/3.0/lib/guile/3.0/ccache/scripts/summarize-guile-TODO.go guile/3.0/lib/guile/3.0/ccache/scripts/use2dot.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-1.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-10.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-11.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-111.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-13.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-14.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-16.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-17.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-171.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-171/gnu.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-171/meta.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-18.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-19.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-197.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-2.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-207.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-244.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-26.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-27.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-28.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-31.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-34.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-35.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-37.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-38.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-39.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-4.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-4/gnu.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-41.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-42.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-43.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-45.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-6.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-60.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-64.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-64/automake.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-67.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-69.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-71.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-8.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-88.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-9.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-9/gnu.go guile/3.0/lib/guile/3.0/ccache/srfi/srfi-98.go guile/3.0/lib/guile/3.0/ccache/statprof.go guile/3.0/lib/guile/3.0/ccache/sxml/apply-templates.go guile/3.0/lib/guile/3.0/ccache/sxml/fold.go guile/3.0/lib/guile/3.0/ccache/sxml/match.go guile/3.0/lib/guile/3.0/ccache/sxml/simple.go guile/3.0/lib/guile/3.0/ccache/sxml/ssax.go guile/3.0/lib/guile/3.0/ccache/sxml/ssax/input-parse.go guile/3.0/lib/guile/3.0/ccache/sxml/transform.go guile/3.0/lib/guile/3.0/ccache/sxml/xpath.go guile/3.0/lib/guile/3.0/ccache/system/base/ck.go guile/3.0/lib/guile/3.0/ccache/system/base/compile.go guile/3.0/lib/guile/3.0/ccache/system/base/lalr.go guile/3.0/lib/guile/3.0/ccache/system/base/language.go guile/3.0/lib/guile/3.0/ccache/system/base/message.go guile/3.0/lib/guile/3.0/ccache/system/base/optimize.go guile/3.0/lib/guile/3.0/ccache/system/base/pmatch.go guile/3.0/lib/guile/3.0/ccache/system/base/syntax.go guile/3.0/lib/guile/3.0/ccache/system/base/target.go guile/3.0/lib/guile/3.0/ccache/system/base/types.go guile/3.0/lib/guile/3.0/ccache/system/base/types/internal.go guile/3.0/lib/guile/3.0/ccache/system/foreign-library.go guile/3.0/lib/guile/3.0/ccache/system/foreign-object.go guile/3.0/lib/guile/3.0/ccache/system/foreign.go guile/3.0/lib/guile/3.0/ccache/system/repl/command.go guile/3.0/lib/guile/3.0/ccache/system/repl/common.go guile/3.0/lib/guile/3.0/ccache/system/repl/coop-server.go guile/3.0/lib/guile/3.0/ccache/system/repl/debug.go guile/3.0/lib/guile/3.0/ccache/system/repl/error-handling.go guile/3.0/lib/guile/3.0/ccache/system/repl/repl.go guile/3.0/lib/guile/3.0/ccache/system/repl/server.go guile/3.0/lib/guile/3.0/ccache/system/syntax.go guile/3.0/lib/guile/3.0/ccache/system/vm/assembler.go guile/3.0/lib/guile/3.0/ccache/system/vm/coverage.go guile/3.0/lib/guile/3.0/ccache/system/vm/debug.go guile/3.0/lib/guile/3.0/ccache/system/vm/disassembler.go guile/3.0/lib/guile/3.0/ccache/system/vm/dwarf.go guile/3.0/lib/guile/3.0/ccache/system/vm/elf.go guile/3.0/lib/guile/3.0/ccache/system/vm/frame.go guile/3.0/lib/guile/3.0/ccache/system/vm/inspect.go guile/3.0/lib/guile/3.0/ccache/system/vm/linker.go guile/3.0/lib/guile/3.0/ccache/system/vm/loader.go guile/3.0/lib/guile/3.0/ccache/system/vm/program.go guile/3.0/lib/guile/3.0/ccache/system/vm/trace.go guile/3.0/lib/guile/3.0/ccache/system/vm/trap-state.go guile/3.0/lib/guile/3.0/ccache/system/vm/traps.go guile/3.0/lib/guile/3.0/ccache/system/vm/vm.go guile/3.0/lib/guile/3.0/ccache/system/xref.go guile/3.0/lib/guile/3.0/ccache/texinfo.go guile/3.0/lib/guile/3.0/ccache/texinfo/docbook.go guile/3.0/lib/guile/3.0/ccache/texinfo/html.go guile/3.0/lib/guile/3.0/ccache/texinfo/indexing.go guile/3.0/lib/guile/3.0/ccache/texinfo/plain-text.go guile/3.0/lib/guile/3.0/ccache/texinfo/reflection.go guile/3.0/lib/guile/3.0/ccache/texinfo/serialize.go guile/3.0/lib/guile/3.0/ccache/texinfo/string-utils.go guile/3.0/lib/guile/3.0/ccache/web/client.go guile/3.0/lib/guile/3.0/ccache/web/http.go guile/3.0/lib/guile/3.0/ccache/web/request.go guile/3.0/lib/guile/3.0/ccache/web/response.go guile/3.0/lib/guile/3.0/ccache/web/server.go guile/3.0/lib/guile/3.0/ccache/web/server/http.go guile/3.0/lib/guile/3.0/ccache/web/uri.go guile/3.0/lib/guile/3.0/extensions/guile-readline.la guile/3.0/lib/libguile-3.0.la guile/3.0/lib/libguile-3.0.so.1.7.1-gdb.scm guile/3.0/lib/pkgconfig/guile-3.0.pc guile/3.0/man/man1/guile.1 guile/3.0/share/aclocal/guile.m4 guile/3.0/share/guile/3.0/guile-procedures.txt guile/3.0/share/guile/3.0/ice-9/and-let-star.scm guile/3.0/share/guile/3.0/ice-9/arrays.scm guile/3.0/share/guile/3.0/ice-9/atomic.scm guile/3.0/share/guile/3.0/ice-9/binary-ports.scm guile/3.0/share/guile/3.0/ice-9/boot-9.scm guile/3.0/share/guile/3.0/ice-9/buffered-input.scm guile/3.0/share/guile/3.0/ice-9/calling.scm guile/3.0/share/guile/3.0/ice-9/command-line.scm guile/3.0/share/guile/3.0/ice-9/common-list.scm guile/3.0/share/guile/3.0/ice-9/control.scm guile/3.0/share/guile/3.0/ice-9/copy-tree.scm guile/3.0/share/guile/3.0/ice-9/curried-definitions.scm guile/3.0/share/guile/3.0/ice-9/custom-ports.scm guile/3.0/share/guile/3.0/ice-9/deprecated.scm guile/3.0/share/guile/3.0/ice-9/documentation.scm guile/3.0/share/guile/3.0/ice-9/eval-string.scm guile/3.0/share/guile/3.0/ice-9/eval.scm guile/3.0/share/guile/3.0/ice-9/exceptions.scm guile/3.0/share/guile/3.0/ice-9/expect.scm guile/3.0/share/guile/3.0/ice-9/fdes-finalizers.scm guile/3.0/share/guile/3.0/ice-9/format.scm guile/3.0/share/guile/3.0/ice-9/ftw.scm guile/3.0/share/guile/3.0/ice-9/futures.scm guile/3.0/share/guile/3.0/ice-9/gap-buffer.scm guile/3.0/share/guile/3.0/ice-9/getopt-long.scm guile/3.0/share/guile/3.0/ice-9/hash-table.scm guile/3.0/share/guile/3.0/ice-9/hcons.scm guile/3.0/share/guile/3.0/ice-9/history.scm guile/3.0/share/guile/3.0/ice-9/i18n.scm guile/3.0/share/guile/3.0/ice-9/iconv.scm guile/3.0/share/guile/3.0/ice-9/lineio.scm guile/3.0/share/guile/3.0/ice-9/list.scm guile/3.0/share/guile/3.0/ice-9/local-eval.scm guile/3.0/share/guile/3.0/ice-9/ls.scm guile/3.0/share/guile/3.0/ice-9/match.scm guile/3.0/share/guile/3.0/ice-9/match.upstream.scm guile/3.0/share/guile/3.0/ice-9/networking.scm guile/3.0/share/guile/3.0/ice-9/null.scm guile/3.0/share/guile/3.0/ice-9/occam-channel.scm guile/3.0/share/guile/3.0/ice-9/optargs.scm guile/3.0/share/guile/3.0/ice-9/peg.scm guile/3.0/share/guile/3.0/ice-9/peg/cache.scm guile/3.0/share/guile/3.0/ice-9/peg/codegen.scm guile/3.0/share/guile/3.0/ice-9/peg/simplify-tree.scm guile/3.0/share/guile/3.0/ice-9/peg/string-peg.scm guile/3.0/share/guile/3.0/ice-9/peg/using-parsers.scm guile/3.0/share/guile/3.0/ice-9/poe.scm guile/3.0/share/guile/3.0/ice-9/poll.scm guile/3.0/share/guile/3.0/ice-9/popen.scm guile/3.0/share/guile/3.0/ice-9/ports.scm guile/3.0/share/guile/3.0/ice-9/posix.scm guile/3.0/share/guile/3.0/ice-9/pretty-print.scm guile/3.0/share/guile/3.0/ice-9/psyntax-pp.scm guile/3.0/share/guile/3.0/ice-9/psyntax.scm guile/3.0/share/guile/3.0/ice-9/q.scm guile/3.0/share/guile/3.0/ice-9/quasisyntax.scm guile/3.0/share/guile/3.0/ice-9/r5rs.scm guile/3.0/share/guile/3.0/ice-9/r6rs-libraries.scm guile/3.0/share/guile/3.0/ice-9/r7rs-libraries.scm guile/3.0/share/guile/3.0/ice-9/rdelim.scm guile/3.0/share/guile/3.0/ice-9/read.scm guile/3.0/share/guile/3.0/ice-9/readline.scm guile/3.0/share/guile/3.0/ice-9/receive.scm guile/3.0/share/guile/3.0/ice-9/regex.scm guile/3.0/share/guile/3.0/ice-9/runq.scm guile/3.0/share/guile/3.0/ice-9/rw.scm guile/3.0/share/guile/3.0/ice-9/safe-r5rs.scm guile/3.0/share/guile/3.0/ice-9/safe.scm guile/3.0/share/guile/3.0/ice-9/sandbox.scm guile/3.0/share/guile/3.0/ice-9/save-stack.scm guile/3.0/share/guile/3.0/ice-9/scm-style-repl.scm guile/3.0/share/guile/3.0/ice-9/serialize.scm guile/3.0/share/guile/3.0/ice-9/session.scm guile/3.0/share/guile/3.0/ice-9/slib.scm guile/3.0/share/guile/3.0/ice-9/soft-ports.scm guile/3.0/share/guile/3.0/ice-9/stack-catch.scm guile/3.0/share/guile/3.0/ice-9/streams.scm guile/3.0/share/guile/3.0/ice-9/string-fun.scm guile/3.0/share/guile/3.0/ice-9/suspendable-ports.scm guile/3.0/share/guile/3.0/ice-9/textual-ports.scm guile/3.0/share/guile/3.0/ice-9/threads.scm guile/3.0/share/guile/3.0/ice-9/time.scm guile/3.0/share/guile/3.0/ice-9/top-repl.scm guile/3.0/share/guile/3.0/ice-9/unicode.scm guile/3.0/share/guile/3.0/ice-9/vlist.scm guile/3.0/share/guile/3.0/ice-9/weak-vector.scm guile/3.0/share/guile/3.0/language/brainfuck/compile-scheme.scm guile/3.0/share/guile/3.0/language/brainfuck/compile-tree-il.scm guile/3.0/share/guile/3.0/language/brainfuck/parse.scm guile/3.0/share/guile/3.0/language/brainfuck/spec.scm guile/3.0/share/guile/3.0/language/bytecode.scm guile/3.0/share/guile/3.0/language/bytecode/spec.scm guile/3.0/share/guile/3.0/language/cps.scm guile/3.0/share/guile/3.0/language/cps/closure-conversion.scm guile/3.0/share/guile/3.0/language/cps/compile-bytecode.scm guile/3.0/share/guile/3.0/language/cps/contification.scm guile/3.0/share/guile/3.0/language/cps/cse.scm guile/3.0/share/guile/3.0/language/cps/dce.scm guile/3.0/share/guile/3.0/language/cps/devirtualize-integers.scm guile/3.0/share/guile/3.0/language/cps/dump.scm guile/3.0/share/guile/3.0/language/cps/effects-analysis.scm guile/3.0/share/guile/3.0/language/cps/elide-arity-checks.scm guile/3.0/share/guile/3.0/language/cps/graphs.scm guile/3.0/share/guile/3.0/language/cps/guile-vm.scm guile/3.0/share/guile/3.0/language/cps/guile-vm/loop-instrumentation.scm guile/3.0/share/guile/3.0/language/cps/guile-vm/lower-primcalls.scm guile/3.0/share/guile/3.0/language/cps/guile-vm/reify-primitives.scm guile/3.0/share/guile/3.0/language/cps/intmap.scm guile/3.0/share/guile/3.0/language/cps/intset.scm guile/3.0/share/guile/3.0/language/cps/licm.scm guile/3.0/share/guile/3.0/language/cps/optimize.scm guile/3.0/share/guile/3.0/language/cps/peel-loops.scm guile/3.0/share/guile/3.0/language/cps/prune-top-level-scopes.scm guile/3.0/share/guile/3.0/language/cps/renumber.scm guile/3.0/share/guile/3.0/language/cps/return-types.scm guile/3.0/share/guile/3.0/language/cps/rotate-loops.scm guile/3.0/share/guile/3.0/language/cps/self-references.scm guile/3.0/share/guile/3.0/language/cps/simplify.scm guile/3.0/share/guile/3.0/language/cps/slot-allocation.scm guile/3.0/share/guile/3.0/language/cps/spec.scm guile/3.0/share/guile/3.0/language/cps/specialize-numbers.scm guile/3.0/share/guile/3.0/language/cps/specialize-primcalls.scm guile/3.0/share/guile/3.0/language/cps/split-rec.scm guile/3.0/share/guile/3.0/language/cps/switch.scm guile/3.0/share/guile/3.0/language/cps/type-checks.scm guile/3.0/share/guile/3.0/language/cps/type-fold.scm guile/3.0/share/guile/3.0/language/cps/types.scm guile/3.0/share/guile/3.0/language/cps/utils.scm guile/3.0/share/guile/3.0/language/cps/verify.scm guile/3.0/share/guile/3.0/language/cps/with-cps.scm guile/3.0/share/guile/3.0/language/ecmascript/array.scm guile/3.0/share/guile/3.0/language/ecmascript/base.scm guile/3.0/share/guile/3.0/language/ecmascript/compile-tree-il.scm guile/3.0/share/guile/3.0/language/ecmascript/function.scm guile/3.0/share/guile/3.0/language/ecmascript/impl.scm guile/3.0/share/guile/3.0/language/ecmascript/parse.scm guile/3.0/share/guile/3.0/language/ecmascript/spec.scm guile/3.0/share/guile/3.0/language/ecmascript/tokenize.scm guile/3.0/share/guile/3.0/language/elisp/bindings.scm guile/3.0/share/guile/3.0/language/elisp/boot.el guile/3.0/share/guile/3.0/language/elisp/compile-tree-il.scm guile/3.0/share/guile/3.0/language/elisp/falias.scm guile/3.0/share/guile/3.0/language/elisp/lexer.scm guile/3.0/share/guile/3.0/language/elisp/parser.scm guile/3.0/share/guile/3.0/language/elisp/runtime.scm guile/3.0/share/guile/3.0/language/elisp/runtime/function-slot.scm guile/3.0/share/guile/3.0/language/elisp/runtime/value-slot.scm guile/3.0/share/guile/3.0/language/elisp/spec.scm guile/3.0/share/guile/3.0/language/scheme/compile-tree-il.scm guile/3.0/share/guile/3.0/language/scheme/decompile-tree-il.scm guile/3.0/share/guile/3.0/language/scheme/spec.scm guile/3.0/share/guile/3.0/language/tree-il.scm guile/3.0/share/guile/3.0/language/tree-il/analyze.scm guile/3.0/share/guile/3.0/language/tree-il/compile-bytecode.scm guile/3.0/share/guile/3.0/language/tree-il/compile-cps.scm guile/3.0/share/guile/3.0/language/tree-il/cps-primitives.scm guile/3.0/share/guile/3.0/language/tree-il/debug.scm guile/3.0/share/guile/3.0/language/tree-il/demux-lambda.scm guile/3.0/share/guile/3.0/language/tree-il/effects.scm guile/3.0/share/guile/3.0/language/tree-il/eta-expand.scm guile/3.0/share/guile/3.0/language/tree-il/fix-letrec.scm guile/3.0/share/guile/3.0/language/tree-il/inlinable-exports.scm guile/3.0/share/guile/3.0/language/tree-il/letrectify.scm guile/3.0/share/guile/3.0/language/tree-il/optimize.scm guile/3.0/share/guile/3.0/language/tree-il/peval.scm guile/3.0/share/guile/3.0/language/tree-il/primitives.scm guile/3.0/share/guile/3.0/language/tree-il/resolve-free-vars.scm guile/3.0/share/guile/3.0/language/tree-il/spec.scm guile/3.0/share/guile/3.0/language/value/spec.scm guile/3.0/share/guile/3.0/language/wisp.scm guile/3.0/share/guile/3.0/language/wisp/spec.scm guile/3.0/share/guile/3.0/oop/goops.scm guile/3.0/share/guile/3.0/oop/goops/accessors.scm guile/3.0/share/guile/3.0/oop/goops/active-slot.scm guile/3.0/share/guile/3.0/oop/goops/composite-slot.scm guile/3.0/share/guile/3.0/oop/goops/describe.scm guile/3.0/share/guile/3.0/oop/goops/internal.scm guile/3.0/share/guile/3.0/oop/goops/keyword-formals.scm guile/3.0/share/guile/3.0/oop/goops/save.scm guile/3.0/share/guile/3.0/oop/goops/simple.scm guile/3.0/share/guile/3.0/oop/goops/stklos.scm guile/3.0/share/guile/3.0/rnrs.scm guile/3.0/share/guile/3.0/rnrs/arithmetic/bitwise.scm guile/3.0/share/guile/3.0/rnrs/arithmetic/fixnums.scm guile/3.0/share/guile/3.0/rnrs/arithmetic/flonums.scm guile/3.0/share/guile/3.0/rnrs/base.scm guile/3.0/share/guile/3.0/rnrs/bytevectors.scm guile/3.0/share/guile/3.0/rnrs/bytevectors/gnu.scm guile/3.0/share/guile/3.0/rnrs/conditions.scm guile/3.0/share/guile/3.0/rnrs/control.scm guile/3.0/share/guile/3.0/rnrs/enums.scm guile/3.0/share/guile/3.0/rnrs/eval.scm guile/3.0/share/guile/3.0/rnrs/exceptions.scm guile/3.0/share/guile/3.0/rnrs/files.scm guile/3.0/share/guile/3.0/rnrs/hashtables.scm guile/3.0/share/guile/3.0/rnrs/io/ports.scm guile/3.0/share/guile/3.0/rnrs/io/simple.scm guile/3.0/share/guile/3.0/rnrs/lists.scm guile/3.0/share/guile/3.0/rnrs/mutable-pairs.scm guile/3.0/share/guile/3.0/rnrs/mutable-strings.scm guile/3.0/share/guile/3.0/rnrs/programs.scm guile/3.0/share/guile/3.0/rnrs/r5rs.scm guile/3.0/share/guile/3.0/rnrs/records/inspection.scm guile/3.0/share/guile/3.0/rnrs/records/procedural.scm guile/3.0/share/guile/3.0/rnrs/records/syntactic.scm guile/3.0/share/guile/3.0/rnrs/sorting.scm guile/3.0/share/guile/3.0/rnrs/syntax-case.scm guile/3.0/share/guile/3.0/rnrs/unicode.scm guile/3.0/share/guile/3.0/scheme/base.scm guile/3.0/share/guile/3.0/scheme/case-lambda.scm guile/3.0/share/guile/3.0/scheme/char.scm guile/3.0/share/guile/3.0/scheme/complex.scm guile/3.0/share/guile/3.0/scheme/cxr.scm guile/3.0/share/guile/3.0/scheme/eval.scm guile/3.0/share/guile/3.0/scheme/file.scm guile/3.0/share/guile/3.0/scheme/inexact.scm guile/3.0/share/guile/3.0/scheme/lazy.scm guile/3.0/share/guile/3.0/scheme/load.scm guile/3.0/share/guile/3.0/scheme/process-context.scm guile/3.0/share/guile/3.0/scheme/r5rs.scm guile/3.0/share/guile/3.0/scheme/read.scm guile/3.0/share/guile/3.0/scheme/repl.scm guile/3.0/share/guile/3.0/scheme/time.scm guile/3.0/share/guile/3.0/scheme/write.scm guile/3.0/share/guile/3.0/scripts/api-diff.scm guile/3.0/share/guile/3.0/scripts/autofrisk.scm guile/3.0/share/guile/3.0/scripts/compile.scm guile/3.0/share/guile/3.0/scripts/disassemble.scm guile/3.0/share/guile/3.0/scripts/display-commentary.scm guile/3.0/share/guile/3.0/scripts/doc-snarf.scm guile/3.0/share/guile/3.0/scripts/frisk.scm guile/3.0/share/guile/3.0/scripts/generate-autoload.scm guile/3.0/share/guile/3.0/scripts/help.scm guile/3.0/share/guile/3.0/scripts/lint.scm guile/3.0/share/guile/3.0/scripts/list.scm guile/3.0/share/guile/3.0/scripts/punify.scm guile/3.0/share/guile/3.0/scripts/read-rfc822.scm guile/3.0/share/guile/3.0/scripts/read-scheme-source.scm guile/3.0/share/guile/3.0/scripts/read-text-outline.scm guile/3.0/share/guile/3.0/scripts/scan-api.scm guile/3.0/share/guile/3.0/scripts/snarf-check-and-output-texi.scm guile/3.0/share/guile/3.0/scripts/snarf-guile-m4-docs.scm guile/3.0/share/guile/3.0/scripts/summarize-guile-TODO.scm guile/3.0/share/guile/3.0/scripts/use2dot.scm guile/3.0/share/guile/3.0/srfi/srfi-1.scm guile/3.0/share/guile/3.0/srfi/srfi-10.scm guile/3.0/share/guile/3.0/srfi/srfi-11.scm guile/3.0/share/guile/3.0/srfi/srfi-111.scm guile/3.0/share/guile/3.0/srfi/srfi-13.scm guile/3.0/share/guile/3.0/srfi/srfi-14.scm guile/3.0/share/guile/3.0/srfi/srfi-16.scm guile/3.0/share/guile/3.0/srfi/srfi-17.scm guile/3.0/share/guile/3.0/srfi/srfi-171.scm guile/3.0/share/guile/3.0/srfi/srfi-171/gnu.scm guile/3.0/share/guile/3.0/srfi/srfi-171/meta.scm guile/3.0/share/guile/3.0/srfi/srfi-18.scm guile/3.0/share/guile/3.0/srfi/srfi-19.scm guile/3.0/share/guile/3.0/srfi/srfi-197.scm guile/3.0/share/guile/3.0/srfi/srfi-2.scm guile/3.0/share/guile/3.0/srfi/srfi-207.scm guile/3.0/share/guile/3.0/srfi/srfi-207/upstream/base64.scm guile/3.0/share/guile/3.0/srfi/srfi-207/upstream/bytestrings-impl.scm guile/3.0/share/guile/3.0/srfi/srfi-244.scm guile/3.0/share/guile/3.0/srfi/srfi-26.scm guile/3.0/share/guile/3.0/srfi/srfi-27.scm guile/3.0/share/guile/3.0/srfi/srfi-28.scm guile/3.0/share/guile/3.0/srfi/srfi-31.scm guile/3.0/share/guile/3.0/srfi/srfi-34.scm guile/3.0/share/guile/3.0/srfi/srfi-35.scm guile/3.0/share/guile/3.0/srfi/srfi-37.scm guile/3.0/share/guile/3.0/srfi/srfi-38.scm guile/3.0/share/guile/3.0/srfi/srfi-39.scm guile/3.0/share/guile/3.0/srfi/srfi-4.scm guile/3.0/share/guile/3.0/srfi/srfi-4/gnu.scm guile/3.0/share/guile/3.0/srfi/srfi-41.scm guile/3.0/share/guile/3.0/srfi/srfi-42.scm guile/3.0/share/guile/3.0/srfi/srfi-42/ec.scm guile/3.0/share/guile/3.0/srfi/srfi-43.scm guile/3.0/share/guile/3.0/srfi/srfi-45.scm guile/3.0/share/guile/3.0/srfi/srfi-6.scm guile/3.0/share/guile/3.0/srfi/srfi-60.scm guile/3.0/share/guile/3.0/srfi/srfi-64.scm guile/3.0/share/guile/3.0/srfi/srfi-64/automake.scm guile/3.0/share/guile/3.0/srfi/srfi-67.scm guile/3.0/share/guile/3.0/srfi/srfi-67/compare.scm guile/3.0/share/guile/3.0/srfi/srfi-69.scm guile/3.0/share/guile/3.0/srfi/srfi-71.scm guile/3.0/share/guile/3.0/srfi/srfi-8.scm guile/3.0/share/guile/3.0/srfi/srfi-88.scm guile/3.0/share/guile/3.0/srfi/srfi-9.scm guile/3.0/share/guile/3.0/srfi/srfi-9/gnu.scm guile/3.0/share/guile/3.0/srfi/srfi-98.scm guile/3.0/share/guile/3.0/statprof.scm guile/3.0/share/guile/3.0/sxml/apply-templates.scm guile/3.0/share/guile/3.0/sxml/fold.scm guile/3.0/share/guile/3.0/sxml/match.scm guile/3.0/share/guile/3.0/sxml/simple.scm guile/3.0/share/guile/3.0/sxml/ssax.scm guile/3.0/share/guile/3.0/sxml/ssax/input-parse.scm guile/3.0/share/guile/3.0/sxml/sxml-match.ss guile/3.0/share/guile/3.0/sxml/transform.scm guile/3.0/share/guile/3.0/sxml/upstream/SSAX.scm guile/3.0/share/guile/3.0/sxml/upstream/SXML-tree-trans.scm guile/3.0/share/guile/3.0/sxml/upstream/SXPath-old.scm guile/3.0/share/guile/3.0/sxml/upstream/assert.scm guile/3.0/share/guile/3.0/sxml/upstream/input-parse.scm guile/3.0/share/guile/3.0/sxml/xpath.scm guile/3.0/share/guile/3.0/system/base/ck.scm guile/3.0/share/guile/3.0/system/base/compile.scm guile/3.0/share/guile/3.0/system/base/lalr.scm guile/3.0/share/guile/3.0/system/base/lalr.upstream.scm guile/3.0/share/guile/3.0/system/base/language.scm guile/3.0/share/guile/3.0/system/base/message.scm guile/3.0/share/guile/3.0/system/base/optimize.scm guile/3.0/share/guile/3.0/system/base/pmatch.scm guile/3.0/share/guile/3.0/system/base/syntax.scm guile/3.0/share/guile/3.0/system/base/target.scm guile/3.0/share/guile/3.0/system/base/types.scm guile/3.0/share/guile/3.0/system/base/types/internal.scm guile/3.0/share/guile/3.0/system/foreign-library.scm guile/3.0/share/guile/3.0/system/foreign-object.scm guile/3.0/share/guile/3.0/system/foreign.scm guile/3.0/share/guile/3.0/system/repl/command.scm guile/3.0/share/guile/3.0/system/repl/common.scm guile/3.0/share/guile/3.0/system/repl/coop-server.scm guile/3.0/share/guile/3.0/system/repl/debug.scm guile/3.0/share/guile/3.0/system/repl/describe.scm guile/3.0/share/guile/3.0/system/repl/error-handling.scm guile/3.0/share/guile/3.0/system/repl/repl.scm guile/3.0/share/guile/3.0/system/repl/server.scm guile/3.0/share/guile/3.0/system/syntax.scm guile/3.0/share/guile/3.0/system/vm/assembler.scm guile/3.0/share/guile/3.0/system/vm/coverage.scm guile/3.0/share/guile/3.0/system/vm/debug.scm guile/3.0/share/guile/3.0/system/vm/disassembler.scm guile/3.0/share/guile/3.0/system/vm/dwarf.scm guile/3.0/share/guile/3.0/system/vm/elf.scm guile/3.0/share/guile/3.0/system/vm/frame.scm guile/3.0/share/guile/3.0/system/vm/inspect.scm guile/3.0/share/guile/3.0/system/vm/linker.scm guile/3.0/share/guile/3.0/system/vm/loader.scm guile/3.0/share/guile/3.0/system/vm/program.scm guile/3.0/share/guile/3.0/system/vm/trace.scm guile/3.0/share/guile/3.0/system/vm/trap-state.scm guile/3.0/share/guile/3.0/system/vm/traps.scm guile/3.0/share/guile/3.0/system/vm/vm.scm guile/3.0/share/guile/3.0/system/xref.scm guile/3.0/share/guile/3.0/texinfo.scm guile/3.0/share/guile/3.0/texinfo/docbook.scm guile/3.0/share/guile/3.0/texinfo/html.scm guile/3.0/share/guile/3.0/texinfo/indexing.scm guile/3.0/share/guile/3.0/texinfo/plain-text.scm guile/3.0/share/guile/3.0/texinfo/reflection.scm guile/3.0/share/guile/3.0/texinfo/serialize.scm guile/3.0/share/guile/3.0/texinfo/string-utils.scm guile/3.0/share/guile/3.0/web/client.scm guile/3.0/share/guile/3.0/web/http.scm guile/3.0/share/guile/3.0/web/request.scm guile/3.0/share/guile/3.0/web/response.scm guile/3.0/share/guile/3.0/web/server.scm guile/3.0/share/guile/3.0/web/server/http.scm guile/3.0/share/guile/3.0/web/uri.scm @ 1.5 log @guile30: fix PLIST for Darwin; make pkglint happier by the way @ text @d1 1 a1 1 @@comment $NetBSD: PLIST,v 1.4 2024/06/26 22:49:10 gdt Exp $ d97 1 a103 1 guile/3.0/include/guile/3.0/libguile/srfi-1.h d307 1 d387 1 d389 2 d409 1 a480 1 guile/3.0/lib/libguile-3.0.${GUILE_LIBNAME}-gdb.scm d482 1 d664 1 d744 1 d746 4 d769 1 a769 1 guile/3.0/share/guile/3.0/srfi/srfi-64/testing.scm @ 1.4 log @lang/guile30: Update to 3.0.10 This is a maintenance release of 3.0. Changes in 3.0.10 (since 3.0.9) * Notable changes ** Beginnings of support for alternate back-ends A number of adaptations and additions of as-yet unstable interfaces have been made to allow third-party projects such as the Hoot Guile-to-WebAssembly whole-program compiler (https://spritely.institute/hoot/) to use the Guile front-end and optimizer. Depending on how Hoot development goes, we may consider adding first-class support for WebAssembly as a compilation target; discussion is welcome on the guile-devel mailing list. ** `define` in all bodies `define` adds a definition to the body in which it appears, as if each non-tail definition or expression in that body were a binding in a surrounding `letrec*` clause. However, in some places, using `define` would result in the annoying error "definition in expression context, where definitions are not allowed", which could be fixed by explicitly adding a surrounding binding contour, for example an empty `let`. This was because there was no implicit surrounding lexical binding contour for the body of `when` and `unless`, for `cond` clauses, `case` clauses, `and-let*` bodies, and `with-fluids`. But no more; now these contexts now create a binding contour, allowing the use of `define`. ** Two bug fixes of note regarding scoping of top-level variables Previously, a reference to a top-level variable in a module other than the current module would be silently rewritten to reference the current module, if the variable was unbound in its original module. This was a hack from the early days of when we extended psyntax to know about the module system, and is now fixed to properly use the scope of the introduced binding instead of the scope of the macro use site. Also, embarrassingly, sometimes macro-introduced top-level variables would use the same generated name. This is because of the strategy discussed in the manual, "Hygiene and the Top-Level"; sometimes the hashes would collide, for example if two definitions were the same in the beginning and only differed long into the end. This has been fixed to ensure name uniqueness. * New interfaces and functionality ** R6RS custom textual ports Guile finally supports this venerable R6RS interface; see "Custom Ports" in the manual for more. These ports are suspendable (see "Non-Blocking I/O"). Also new in this release, custom binary ports are now suspendable as well. ** New "soft port" interface Instead of using R6RS custom textual ports, we recommend the new "soft ports" facility, because it is easier to use while also being more expressive. See "Soft Ports" in the manual for more details. Soft ports are implemented by the new module `(ice-9 soft-ports)`. There is a legacy "soft ports" facility exported by `(guile)` which will be deprecated at some point. ** New "custom port" facility: (ice-9 custom-ports) Custom ports are like R6RS custom binary ports, but lower-level, having access to all of Guile's internal port API. See "Custom Ports" in the manual. ** New surface syntax: Wisp (SRFI-119) Guile now includes SRFI-119, commonly referred to as Wisp (for "Whitespace for Lisp"), a Pythonesque surface syntax for Scheme where parentheses are replaced by equivalent indentation. See SRFI-119 in the manual. ** New warning: unused-module This analysis, enabled at `-W2', issues warnings for modules that appear in a `use-modules' form or as a #:use-module clause of `define-module', and whose bindings are unused. This is useful to trim the list of imports of a module. In some cases, the compiler cannot conclude whether a module is definitely unused---this is notably the case for modules that are only used at macro-expansion time, such as (srfi srfi-26). In those cases, the compiler reports it as "possibly unused". ** New documentation on inline procedure property declarations Did you know that you can annotate procedures with properties? It goes like this: (define (frobnicate) #((fruits . (apple banana))) (whatever)) (procedure-property frobnicate 'fruits) => (apple banana) Now you know, and now it is documented in "Procedure Properties" in the manual. It has been this way since at Guile 2.0, but was never documented before. ** New procedure annotation: maybe-unused The utility of the `-Wunused-toplevel` warning, enabled at `-W2`, has historically been somewhat limited, especially when a macro generates a number of bindings, not all of which may be used. To produce more useful results, we now allow procedures to set the `maybe-unused` property, which if true will not result in unused-toplevel warnings. This property is set by `define-inlinable`, in case an inline binding never needs the procedure-as-value definition. ** New exports from `(system foreign)`: read-c-struct, write-c-struct See "Foreign Structs" in the manual. These macros are like the older `parse-c-struct` / `make-c-struct` procedures, but they are more efficient because they inline the field accesses and don't deal in lists. ** Wider backtraces when not writing to a terminal When writing a backtrace, if the output port is not a terminal, Guile truncates the lines at 500 characters instead of 80. Override this width via the `default-frame-width` parameter exported by the `(system repl debug)` module. ** copy-file now supports copy-on-write The copy-file procedure now takes an additional keyword argument, #:copy-on-write, specifying whether copy-on-write should be done, if the underlying file-system supports it. Possible values are 'always, 'auto and 'never, with 'auto being the default. This speeds up copying large files a lot while saving the disk space. ** 'seek' can now navigate holes in sparse files On systems that support it, such as GNU/Linux, the new SEEK_DATA and SEEK_HOLE values can now be passed to the 'seek' procedure to change file offset to the next piece of data or to the next hole in sparse files. See "Random Access" in the manual for details. ** ((scm foreign-object) make-foreign-object-type) now supports #:super A list of superclasses can now be provided via #:super. ** 'get-bytevector-all' is now written in Scheme and is thus suspendable The 'get-bytevector-all' procedure from (rnrs io ports) and (ice-9 binary-port) used to be implemented in C, making it non-suspendable--a bummer for programs using suspendable ports and Fibers. It has been rewritten in Scheme, addressing this limitation. * Performance improvements ** Better compilation of calls to procedures with keyword arguments Calls to keyword-arg functions can now be inlined. Even when not inlined, sometimes now we can compute default values for missing keywords at the callee instead of in the caller. ** Better compilation of append with more than 2 arguments ** Better compilation logand with one immediate argument ** Better type inference for result of symbol-hash ** Elide effect-free primitive calls when called for effect ** Constant folding for string->utf8 ** JIT improvements for rarely-used push/pop/drop ** Better type inference for numeric tower predicates ** Better compilation for calls to raise-exception ** Smaller disk usage via sparse binary files * New deprecations ** (ice-9 lineio) Use read-line together with unread-string instead. * Changes to the distribution ** Parallel test driver for Guile unit tests Guile's internal unit test harness is now compatible with Automake's parallel test driver, allowing `make check -j20` to use 20 cores, if you have them. Send any bug reports to bug-guile@@gnu.org. @ text @d1 1 a1 1 @@comment $NetBSD: PLIST,v 1.3 2023/01/25 18:12:00 gdt Exp $ d476 1 a477 1 guile/3.0/lib/libguile-3.0.so.1.7.0-gdb.scm @ 1.3 log @lang/guile30: Update to 3.0.9 Changes in 3.0.9 (since 3.0.8) * Notable changes [headlines only; see NEWS] * New interfaces and functionality ** New `spawn' procedure to spawn child processes ** `open-file' now supports an "e" flag for O_CLOEXEC ** `pipe' now takes flags as an optional argument ** Bindings to `openat' and friends ** Abstract Unix-domain sockets are supported ** New socket-related constants defined ** New `bytevector-slice' procedure ** Disassembler now shows intrinsic names ** Linker and assembler consume less memory @ text @d1 1 a1 1 @@comment $NetBSD: PLIST,v 1.2 2022/03/30 07:48:13 wiz Exp $ d148 1 d204 1 d233 4 a239 1 guile/3.0/lib/guile/3.0/ccache/language/cps/loop-instrumentation.go a242 1 guile/3.0/lib/guile/3.0/ccache/language/cps/reify-primitives.go d287 1 d299 2 d477 1 a477 1 guile/3.0/lib/libguile-3.0.so.1.6.0-gdb.scm d494 1 d556 1 d585 4 a591 1 guile/3.0/share/guile/3.0/language/cps/loop-instrumentation.scm a594 1 guile/3.0/share/guile/3.0/language/cps/reify-primitives.scm d639 1 d651 2 @ 1.2 log @guile30: update to 3.0.8. Changes in 3.0.8 (since 3.0.7) * Notable changes ** Cross-module inlining Although historically Guile has treated modules as glorified hash tables, most modules are actually _declarative_ -- they just define functions and variables and provide them for other modules to use, and don't manipulate modules as first-class objects. See "Declarative Modules" in the manual, for more discussion. Since version 3.0.0, Guile has taken advantage of declarative semantics to allow a top-level definition to be inlined within its uses in the same compilation unit, provided the binding is never assigned and defined exactly once. Guile 3.0.8 extends this to allow some exported declarative definitions to be inlined into other modules. This facility is mostly transparent to the user and is enabled at the default -O2 optimization level. "Small" definitions are available for cross-module inlining (-Oinlinable-exports, included at -O2). The actual inlining decision is performed by Guile's partial evaluation pass (the -Ocross-module-inlining modifier to -Opeval, included at -O2 also), subject to effort and size growth counters. Note however that as with macros, when a definition changes in module A, a separately compiled module B that uses that definition doesn't automatically get recompiled. This is a limitation in Guile that we would like to fix. As another limitation, cross-module inlining is only available for imports from modules which have already been compiled at -O2 (or otherwise with -Oinlinable-exports). When determining whether to enable this facility by default, we weighed the usability problems of stale inlined bindings against the benefit of allowing module boundaries to no longer be optimization boundaries, we ended up on the "let's do it!" side of the equation. However we welcome feedback from users as to what should be the default behavior, until such a time as we have a proper notion of when a compiled file is stale or not. ** Avoid the need for a custom GMP allocator In Guile 3.0.6, we fixed a longstanding bug in Guile's use of the library that Guile uses to implement bignums (large integers), GMP (https://gmplib.org). See the Guile 3.0.6 release notes. However this left us with a suboptimal Guile, in which each large integer had to have a finalizer to free the memory allocated by GMP. Finalizers take time and space, and so they limit allocation rate, causing bignum performance to drop. Though you could set an environment variable to go back to the older, faster behavior, it wasn't the default. In Guile 3.0.8 we fix this problem comprehensively by avoiding embedding GMP's mpz_t values in Guile bignums. Instead we embed the bignum digits directly, avoiding the need for finalizers or custom allocators. This removes the need for the GUILE_INSTALL_GMP_MEMORY_FUNCTIONS environment variable mentioned in the Guile 3.0.6 release notes. We also deprecate the scm_install_gmp_memory_functions variable. * New interfaces and functionality ** Typed vector copy functions in (srfi srfi-4 gnu) The functions `u8vector-copy' `s8vector-copy' `u16vector-copy' `s16vector-copy' `u32vector-copy' `s32vector-copy' `u64vector-copy' `s64vector-copy' `f32vector-copy' `f64vector-copy' `c32vector-copy' `c64vector-copy' `u8vector-copy!' `s8vector-copy!' `u16vector-copy!' `s16vector-copy!' `u32vector-copy!' `s32vector-copy!' `u64vector-copy!' `s64vector-copy!' `f32vector-copy!' `f64vector-copy!' `c32vector-copy!' `c64vector-copy!' have been added. See SRFI-4 - Guile extensions" in the manual. ** New function srfi-4-vector-type-size in (srfi srfi-4 gnu) See SRFI-4 - Guile extensions" in the manual. ** `bytevector-fill!' supports partial fill through optional arguments This is an extension to the r6rs procedure. See "Manipulating Bytevectors" in the manual. ** `vector-copy!' and `vector-copy' from (rnrs base) included in core Compared to the previous versions, these accept range arguments. See "Accessing and Modifying Vector Contents" in the manual. ** New function bitvector-copy See "Bit vectors" in the manual. ** (system foreign) supports C99 complex types The types `complex-float' and `complex-double' stand for C99 `float _Complex' and `double _Complex` respectively. * Other new optimizations ** Better optimization of "let" in right-hand-side of "letrec" ** Allow constant-folding for calls to "expt" Thanks to Maxime Devos. ** Add ,optimize-cps REPL meta-command This meta-command is like ,optimize, but at a lower level. ** Improve alias analysis in common subexpression elimination ** Avoid argument-count checks for well-typed calls to known procedures This speeds up calls to lexically bound procedures. ** Avoid return-value-count checks for calls to known-return-arity procedures This new optimization, enabled at -O2, speeds up returns from calls to lexically bound procedures. * Build system changes ** Update Gnulib (bugs.gnu.org/49930) Update gnulib to 8f4538a53d64054ae2fc8b86c0f87c418c6176e6. ** Compile libguile with -flto if available By default, if the compiler supports link-time optimization via the -flto flag, Guile will add it to CFLAGS. This results in a libguile that is approximately 15% smaller. Pass --disable-lto to configure to inhibit this behavior. ** Trim set of prebuilt .go files shipped in the tarball Guile includes built Scheme files in its tarball to speed up the build, for casual builders that are less concerned with reproducibility. However they took a lot of space and we have now trimmed these down to a more minimal set. As always, you can remove them and build entirely from source via a `make -C prebuilt clean`. * New deprecations ** Vector functions require vector arguments Passing arrays that are not vectors (arrays for which `(vector? array)' returns false) to functions `vector-move-left!', `vector-move-right!', `vector->list', and `vector-copy' is deprecated. Use `array-copy!', `array-copy', and `array->list' for such arguments. ** `scm_from_contiguous_typed_array' is deprecated This function was added during the Guile 2.x series and was not documented and is no longer used in Guile itself. ** Deprecate the "simple vector" concept, `scm_is_simple_vector' This concept meant to indicate "vectors which aren't array slices". Use scm_is_vector. ** Deprecate internal contiguous array flag We still reserve space for the flag to preserve ABI but it has no effect. As such we also remove the internal SCM_I_ARRAY_CONTIGUOUS, SCM_SET_ARRAY_CONTIGUOUS_FLAG, SCM_CLR_ARRAY_CONTIGUOUS_FLAG, SCM_I_ARRAY_CONTP preprocessor interfaces, as they were internal and there is no longer a sensible way of using them. ** Deprecate symbol properties Symbols used to have a "function slot" and a "property slot", inherited from Emacs Lisp and early Lisps, which one would access with 'symbol-pref', 'symbol-fref', 'symbol-pset!', and 'symbol-fset!'. These procedures have been discouraged in favor of object properties; they are now deprecated. This saves a few words of memory per symbol. * Bug fixes ** Fix compilation of (ash x N), where N is a literal, at -O1 and below ** Texinfo and XML parsers are now thread-safe (bugs.gnu.org/51264) ** Fix `filename-completion-function' in (ice-9 readline) ** Fix trace-calls-to-procedure (bugs.gnu.org/43102, bugs.gnu.org/48412) ** Fix bug in nftw function (bugs.gnu.org/44182) ** Fix optimization bug in CSE in eq-constant? if both branches same ** Fix readline initialization with invalid keymaps ** Fix crash when reading #nil (bugs.gnu.org/49305) ** Fix read error when reading #{}}#. ** Fix Darwin host detection in foreign-library facility. ** Fix unification of (x ...) patterns in `match' ** Fix scaling floats with leading zeroes in `format' ** Improve support for r7rs-style `(srfi N)' and r6rs-style `(srfi :N) module names (bugs.gnu.org/39601, bugs.gnu.org/40371) ** Add support for the ARC architecture (bugs.gnu.org/48816) ** Build fix for const strerror result (bugs.gnu.org/43987) ** Fix typos in SRFI documentation (bugs.gnu.org/50127) ** Fix bounds check in `recvfrom!' (bugs.gnu.org/45595) ** Add support for riscv32 ** Limit `ash' to left-shift by 2^32 bits (bugs.gnu.org/48150) ** Fix type confusion in heap-numbers-equal? calls from VM @ text @d1 1 a1 1 @@comment $NetBSD$ d309 1 d470 1 a470 1 guile/3.0/lib/libguile-3.0.so.1.5.0-gdb.scm d654 1 @ 1.1 log @lang/guile30; Add version 3.0.7 Packaged by gdt and myself in wip. Compared to guile 2.2, this is a major release which implements a JIT compiler. See NEWS in the sources for more details. GUILE, GNU's Ubiquitous Intelligent Language for Extension, is a library that implements the Scheme language plus various convenient facilities. It's designed so that you can link it into an application or utility to make it extensible. Our plan is to link this library into all GNU programs that call for extensibility. This is guile 3.0, the current stable version. @ text @a48 1 guile/3.0/include/guile/3.0/libguile/generalized-arrays.h d227 1 d240 1 d286 1 d291 1 d469 1 a469 1 guile/3.0/lib/libguile-3.0.so.1.4.0-gdb.scm d571 1 d584 1 d630 1 d635 1 @