summaryrefslogtreecommitdiff
path: root/doc/ref
AgeCommit message (Collapse)AuthorFilesLines
2019-09-27Better R6RS compatibilityAndy Wingo1-0/+5
* module/ice-9/boot-9.scm (install-r6rs!): Also enable `hungry-eol-escapes'. * doc/ref/r6rs.texi (R6RS Incompatibilities): Document lack of unicode escapes in symbols.
2019-09-25Add --r6rs command-line optionAndy Wingo2-2/+11
* doc/ref/guile-invoke.texi (Command-line Options): Document --r6rs. * doc/ref/r6rs.texi (R6RS Incompatibilities): Mention that --r6rs calls install-r6rs!. * module/ice-9/command-line.scm (*usage*, compile-shell-switches): Implement --r6rs.
2019-09-25New function: install-r6rs!Andy Wingo1-0/+13
* doc/ref/r6rs.texi (R6RS Incompatibilities): Document install-r6rs!. * module/ice-9/boot-9.scm (install-r6rs!): New function.
2019-09-19Add documentation for else, =>, _, ... aux syntaxAndy Wingo1-0/+20
* doc/ref/api-macros.texi (Syntax Rules): Document aux syntax.
2019-09-12Use "G_" as the conventional alias for gettextAndy Wingo1-7/+12
Since the change in 2.2 noted in the NEWS as "Fix literal matching for module-bound literals", defining `_' makes `syntax-rules' and `match' fail to recognize `_' as the catch-all literal. This change adapts the recommendations to current practice in 2.2, as users have had to adapt to this change. * doc/ref/api-i18n.texi (Gettext Support): Update documentation. * module/language/tree-il/analyze.scm (proc-ref?, gettext?): G_ is the conventional abbreviation, not _. * test-suite/tests/tree-il.test: Adapt. * module/ice-9/command-line.scm: Use G_ instead of _.
2019-08-25Update documentation for mixed definitions and expressionsAndy Wingo2-23/+42
* NEWS: Update. * doc/ref/api-binding.texi (Internal Definitions): Update to mention that mixed definitions and expressions are allowed. * doc/ref/scheme-ideas.texi (Creating a Procedure): (Lambda Alternatives): Update documentation to avoid implying that bodies are only expressions.
2019-08-25Letrectify only on -O2; update docsAndy Wingo2-5/+90
* doc/ref/api-evaluation.texi (Compilation): Document the -O options. * doc/ref/api-modules.texi (Using Guile Modules): @@ docs refer to declarative modules. (Creating Guile Modules): Use when for 1-armed if. (Declarative Modules): Make implications of declarative bindings more explicit, and explicitly document ways to disable the optimization. * module/language/tree-il/optimize.scm (tree-il-optimizations): Punt letrectification to -O2.
2019-08-18Add notion of declarative modulesAndy Wingo1-1/+65
* doc/ref/api-modules.texi (Declarative Modules): New subsection. * module/ice-9/boot-9.scm (module): Change eval-closure slot, which was deprecated and unused, to be a "declarative?" slot, indicating that definitions from the module are declarative. (user-modules-declarative?): New parameter. (make-fresh-user-module): Set declarative according to parameter. (define-module*, define-module): Add #:declarative? keyword argument, defaulting to the value of user-modules-declarative? parameter when the module was expanded. (guile-user): This module is not declarative. * module/language/tree-il/letrectify.scm (compute-declarative-toplevels): Use the new declarative? module flag.
2019-08-02Merge from stable-2.2Andy Wingo1-2/+8
2019-08-02Merge from stable-2.2Andy Wingo2-3/+3
2019-08-02Merge from stable-2.2Andy Wingo2-27/+3
2019-08-02Merge from stable-2.2Andy Wingo1-4/+17
2019-08-02Merge from stable-2.2Andy Wingo1-1/+9
2019-06-30doc: Document optional parameter of 'stat'.Ludovic Courtès1-2/+8
Fixes <https://bugs.gnu.org/34860>. Reported by Tim Gesthuizen <tim.gesthuizen@yahoo.de>. * doc/ref/posix.texi (File System): Document 'exception_on_error' parameter of 'stat'.
2019-06-24doc: Fix argument list in match-lambda docsPaul Morris1-2/+2
* doc/ref/match.texi: Fix argument list for match-lambda. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-06-24doc: Fix minor typo in the HTTP headers documentation.Arun Isaac1-1/+1
* doc/ref/web.texi (HTTP Headers): Fix minor typo. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-06-24Remove references to 'inet-ntoa' and 'inet-aton'.Ludovic Courtès2-27/+3
These procedures were removed in Guile 2.2 by commit fc7bd367ab4b5027a7f80686b1e229c62e43c90b (May 2011). * libguile/socket.h (scm_inet_aton, scm_inet_ntoa): Remove. * module/system/repl/server.scm (make-tcp-server-socket): Use 'inet-pton' instead of 'inet-aton'. * doc/ref/web.texi (HTTP): Likewise in 'declare-header!' example. * doc/ref/posix.texi (Network Address Conversion): Remove documentation of 'inet-ntoa' and 'inet-aton'.
2019-06-18Fix documentation of R6RS 'binary-port?' to reflect reality.Mark H Weaver1-4/+17
* doc/ref/r6rs.texi (rnrs io ports): Improve the descriptions of 'binary-port?' and 'textual-port?'. * module/rnrs/io/ports.scm (binary-port?, textual-port?): Update the docstrings.
2019-06-18Add get-bytevector-some!.Mark H Weaver1-1/+9
* libguile/r6rs-ports.c (scm_get_bytevector_some_x): New procedure. * libguile/r6rs-ports.h (scm_get_bytevector_some_x): Add prototype. (scm_unget_bytevector): Move prototype next to 'scm_get_bytevector_some_x'. * module/ice-9/binary-ports.scm: Export 'get-bytevector-some!'. * doc/ref/api-io.texi (Binary I/O): Document it.
2019-06-06Add bind-optionals instructionAndy Wingo1-2/+7
* doc/ref/vm.texi (Function Prologue Instructions): Document new instruction. * libguile/jit.c (compile_bind_optionals): New compiler. * libguile/vm-engine.c (VM_NAME): New interpreter. * module/system/vm/assembler.scm (opt-prelude): Emit bind-optionals as appropriate. * module/system/vm/disassembler.scm (define-stack-effect-parser) (code-annotation): Handle bind-optionals.
2019-05-23Reference Lightening instead of GNU LightningAndy Wingo1-6/+9
* doc/ref/vm.texi (Just-In-Time Native Code): Update with link to Lightening.
2019-05-23Update user-visible copyright years.Mark H Weaver1-1/+1
* doc/ref/guile.texi: Update years in copyright notice. * module/ice-9/command-line.scm (version-etc): Update 'copyright-year'. * module/system/repl/common.scm (*version*): Update copyright years.
2019-05-23Support ~N in SRFI-19 string->dateDaniel Llorens1-0/+5
* module/srfi/srfi-19.scm (fractional-integer-reader, make-fractional-integer-reader): From reference implementation. (reader-directives): Handle #\N, from reference implementation. * test-suite/tests/srfi-19: Add tests for string->date ~N. * doc/ref/srfi-modules.texi (string->date): Add line for ~N.
2019-05-23Documentation fixesMikael Djurfeldt2-9/+9
* doc/ref/api-control: * doc/ref/compiler.texi: Language fixes * doc/ref/compiler ($kfun): Renamed argument clauses -> clause.
2019-05-23SRFI-19: Fix TAI->UTC conversions, leap second handling, etc.Mark H Weaver1-14/+10
Fixes <https://bugs.gnu.org/21911>. Fixes <https://bugs.gnu.org/22034>. Fixes <https://bugs.gnu.org/21902>. Partially fixes <https://bugs.gnu.org/21904>. Reported by Zefram <zefram@fysh.org>. * doc/ref/srfi-modules.texi (SRFI-19 Introduction): Fix the definitions of Julian Day and Modified Julian Day. Give the correct full names of UTC and TAI. * module/srfi/srfi-19.scm: Import (srfi srfi-1). Use modern Guile keyword syntax in the 'define-module' form. (leap-second-neg-delta): New procedure, derived from a similar procedure in the latest upstream SRFI-19 reference implementation. (priv:time-tai->time-utc!, time-tai->julian-day) (time-monotonic->julian-day): Use 'leap-second-neg-delta'. (local-tz-offset): Fix comment. (leap-second?): Remove. (tai-before-leap-second?): New procedure, derived from upstream SRFI-19. (time-utc->date): Use 'define*' to handle the optional argument. Remove the leap second handling, following upstream SRFI-19. (time-tai->date): Rewrite in terms of 'time-utc->date'. Add special leap second handling, following upstream SRFI-19. (time-monotonic->date): Rewrite in terms of 'time-tai->date'. (date->time-tai, date->time-monotonic): Add special leap second handling, following upstream SRFI-19. (directives): In the entry for the "~Y" escape in 'date->string', pad the year field to 4 characters, following upstream SRFI-19. * test-suite/tests/srfi-19.test: Add tests.
2019-05-23Clarify the manual's "Processes" section.Chris Marusich1-3/+4
* doc/ref/posix.texi (Processes): Use the phrase "integer status value" consistently, and add a cross-reference to the section of the glibc manual that explains what it is.
2019-05-23Improve the documentation for 'nil?'.Mark H Weaver1-2/+20
* libguile/boolean.c (scm_nil_p): Improve docstring. * doc/ref/api-languages.texi (Nil): Add documentation for 'nil?', along with a description of how Elisp interprets Scheme booleans and end-of-list.
2019-05-23Define AT_SYMLINK_NOFOLLOW et al.Ludovic Courtès1-0/+5
* libguile/posix.c (scm_init_posix): Define AT_SYMLINK_NOFOLLOW, AT_SYMLINK_FOLLOW, AT_NO_AUTOMOUNT, and AT_EMPTY_PATH when available. (scm_utime): Mention AT_SYMLINK_NOFOLLOW. * doc/ref/posix.texi (File System): Update accordingly. * test-suite/tests/posix.test ("utime")["AT_SYMLINK_NOFOLLOW"]: New test.
2019-04-16Update user-visible copyright years.Mark H Weaver1-1/+1
* doc/ref/guile.texi: Update years in copyright notice. * module/ice-9/command-line.scm (version-etc): Update 'copyright-year'. * module/system/repl/common.scm (*version*): Update copyright years.
2018-12-11Support ~N in SRFI-19 string->dateDaniel Llorens1-0/+5
* module/srfi/srfi-19.scm (fractional-integer-reader, make-fractional-integer-reader): From reference implementation. (reader-directives): Handle #\N, from reference implementation. * test-suite/tests/srfi-19: Add tests for string->date ~N. * doc/ref/srfi-modules.texi (string->date): Add line for ~N.
2018-10-31Documentation fixesMikael Djurfeldt2-9/+9
* doc/ref/api-control: * doc/ref/compiler.texi: Language fixes * doc/ref/compiler ($kfun): Renamed argument clauses -> clause.
2018-10-29Another language fixMikael Djurfeldt1-3/+3
* doc/ref/vm.texi: Fix bad sentence.
2018-10-29Language fixMikael Djurfeldt1-9/+9
* doc/ref/vm.texi: Fix bad sentence.
2018-10-21Spelling fixesMikael Djurfeldt2-3/+3
* doc/ref/data-rep.texi: Spelling * doc/ref/vm.texi: Spelling
2018-10-20SRFI-19: Fix TAI->UTC conversions, leap second handling, etc.Mark H Weaver1-14/+10
Fixes <https://bugs.gnu.org/21911>. Fixes <https://bugs.gnu.org/22034>. Fixes <https://bugs.gnu.org/21902>. Partially fixes <https://bugs.gnu.org/21904>. Reported by Zefram <zefram@fysh.org>. * doc/ref/srfi-modules.texi (SRFI-19 Introduction): Fix the definitions of Julian Day and Modified Julian Day. Give the correct full names of UTC and TAI. * module/srfi/srfi-19.scm: Import (srfi srfi-1). Use modern Guile keyword syntax in the 'define-module' form. (leap-second-neg-delta): New procedure, derived from a similar procedure in the latest upstream SRFI-19 reference implementation. (priv:time-tai->time-utc!, time-tai->julian-day) (time-monotonic->julian-day): Use 'leap-second-neg-delta'. (local-tz-offset): Fix comment. (leap-second?): Remove. (tai-before-leap-second?): New procedure, derived from upstream SRFI-19. (time-utc->date): Use 'define*' to handle the optional argument. Remove the leap second handling, following upstream SRFI-19. (time-tai->date): Rewrite in terms of 'time-utc->date'. Add special leap second handling, following upstream SRFI-19. (time-monotonic->date): Rewrite in terms of 'time-tai->date'. (date->time-tai, date->time-monotonic): Add special leap second handling, following upstream SRFI-19. (directives): In the entry for the "~Y" escape in 'date->string', pad the year field to 4 characters, following upstream SRFI-19. * test-suite/tests/srfi-19.test: Add tests.
2018-10-14Clarify the manual's "Processes" section.Chris Marusich1-3/+4
* doc/ref/posix.texi (Processes): Use the phrase "integer status value" consistently, and add a cross-reference to the section of the glibc manual that explains what it is.
2018-10-14Improve the documentation for 'nil?'.Mark H Weaver1-2/+20
* libguile/boolean.c (scm_nil_p): Improve docstring. * doc/ref/api-languages.texi (Nil): Add documentation for 'nil?', along with a description of how Elisp interprets Scheme booleans and end-of-list.
2018-10-07Minor additional manual updatesAndy Wingo3-53/+47
* doc/ref/api-debug.texi (VM Hooks): Update for changes in VM hook API. * doc/ref/guile.texi: Update copyright years. * doc/ref/preface.texi (Contributors): Update.
2018-10-07Add manual section on JIT compilerAndy Wingo2-12/+103
* doc/ref/vm.texi (Just-In-Time Native Code): New section. * doc/ref/compiler.texi (Extending the Compiler): Update.
2018-10-03Update compiler.texiAndy Wingo1-52/+107
* doc/ref/compiler.texi: Update for compiler changes in Guile 3.
2018-09-30Finish updating vm.texiAndy Wingo2-790/+860
* doc/ref/compiler.texi (Bytecode): Update macro-assembler instructions, and move most of them to the instruction set reference. * doc/ref/vm.texi (A Virtual Machine for Guile, VM Programs): Minor fixes. (Instruction Set): Update for Guile 3 instruction set. * libguile/vm-engine.c (vm_engine): Update a few instruction docstrings.
2018-09-28Update "Variables and the VM"Andy Wingo1-57/+114
* doc/ref/vm.texi (Variables and the VM): Update.
2018-09-28Update "Stack Layout"Andy Wingo1-23/+32
* doc/ref/vm.texi (Stack Layout): Update.
2018-09-28Update "VM Concepts"Andy Wingo1-3/+3
* doc/ref/vm.texi (VM Concepts): Update.
2018-09-28Update "Why a VM?"Andy Wingo1-37/+42
* doc/ref/vm.texi (Why a VM?): Update.
2018-09-28Update "A Virtual Machine for Guile"Andy Wingo1-12/+28
* doc/ref/vm.texi (A Virtual Machine for Guile): Update.
2018-09-27Update data representation chapter in the manualAndy Wingo2-150/+133
* doc/ref/data-rep.texi (The SCM Type in Guile): Refer to scm.h. (Relationship Between SCM and scm_t_bits): Better title-case. (Immediate Objects): Better title-case. Prefer "heap object" over "cell". (Non-Immediate Objects): Better title-case. Deprecate the concept of cells. (Allocating Heap Objects): Rename from Allocating Cells. (Heap Object Type Information): Rename from Heap Cell Type Information. (Accessing Heap Object Fields): Rename from Accessing Cell Entries. * doc/ref/vm.texi: Update references.
2018-09-27Update Conservative GC section of manualAndy Wingo1-13/+17
* doc/ref/data-rep.texi (Conservative GC): Update notes with more details.
2018-09-25Update history.texi.Andy Wingo1-10/+16
* doc/ref/history.texi (A Timeline of Selected Guile Releases) (Status): Update.
2018-09-23Define AT_SYMLINK_NOFOLLOW et al.Ludovic Courtès1-0/+5
* libguile/posix.c (scm_init_posix): Define AT_SYMLINK_NOFOLLOW, AT_SYMLINK_FOLLOW, AT_NO_AUTOMOUNT, and AT_EMPTY_PATH when available. (scm_utime): Mention AT_SYMLINK_NOFOLLOW. * doc/ref/posix.texi (File System): Update accordingly. * test-suite/tests/posix.test ("utime")["AT_SYMLINK_NOFOLLOW"]: New test.