summaryrefslogtreecommitdiff
path: root/doc
AgeCommit message (Collapse)AuthorFilesLines
2014-01-26Document top-level pseudo-hygieneAndy Wingo1-0/+103
* doc/ref/api-macros.texi (Hygiene and the Top-Level): Add a section documenting our pseudo-hygienic top-level names.
2014-01-21Merge branch 'stable-2.0'Mark H Weaver3-10/+34
Conflicts: libguile/read.c test-suite/tests/web-response.test
2014-01-17doc: embedding example more readable.Arne Babenhauserheide1-7/+10
* doc/ref/guile.texi (A Sample Guile Main Program): Easier to read example code and building split into 2 subsections. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-01-16Finish documenting the new compilerAndy Wingo1-59/+210
* doc/ref/compiler.texi (An Introduction to CPS): Reword. (Compiling CPS): New sub-sub-section. (Bytecode): New sub-section.
2014-01-16Fix CPS doc typosAndy Wingo1-2/+2
* doc/ref/compiler.texi (CPS in Guile): Fix a couple typos.
2014-01-15Document that we support srfi-46 and add it to %cond-expand-features.Mark H Weaver2-3/+14
* module/ice-9/boot-9.scm (%cond-expand-features): Add srfi-46. * doc/ref/srfi-modules.texi (SRFI-0): Add srfi-46 to the list of core features. (SRFI-46): New node. * doc/ref/api-macros.texi (Syntax Rules): Mention that the custom ellipsis identifier support is specified by SRFI-46. * test-suite/tests/syntax.test ("syntax-rules"): Add ellipsis hygiene test from SRFI-46.
2014-01-15Document that we support srfi-87 and add it to %cond-expand-features.Mark H Weaver1-0/+10
* module/ice-9/boot-9.scm (%cond-expand-features): Add srfi-87. * doc/ref/srfi-modules.texi (SRFI-0): Add srfi-87 to the list of core features. (SRFI-87): New node.
2014-01-14Merge branch 'stable-2.0'Mark H Weaver3-2/+27
Conflicts: libguile/print.c libguile/read.c test-suite/tests/print.test
2014-01-14print: Support R7RS |...| symbol notation.Mark H Weaver1-0/+2
* libguile/print.c (scm_print_opts): Add 'r7rs-symbols' print option. (symbol_has_extended_read_syntax): If the 'r7rs-symbols' option is enabled, then disallow '|' and '\' from bare symbols. (print_extended_symbol): Use 'scm_lfwrite' and 'scm_putc' instead of 'display_string' and 'display_character' when printing ASCII literals. (print_r7rs_extended_symbol): New static function. (scm_i_print_symbol_name): If the 'r7rs-symbols' option is enabled, use 'print_r7rs_extended_symbol' instead of 'print_extended_symbol'. * libguile/private-options.h (SCM_PRINT_R7RS_SYMBOLS_P): New macro. (SCM_N_PRINT_OPTIONS): Increment. * doc/ref/api-evaluation.texi (Scheme Write): Mention 'r7rs-symbols' print option. * test-suite/tests/print.test ("write"): Add tests.
2014-01-14read: Support R7RS |...| symbol notation.Mark H Weaver2-2/+16
* libguile/private-options.h (SCM_R7RS_SYMBOLS_P): New macro. (SCM_N_READ_OPTIONS): Increment. * libguile/read.c (scm_read_opts): Add entry for 'r7rs-symbols'. (t_read_opts): Add field for 'r7rs_symbols_p'. (scm_read_string_like_syntax): New function based on earlier 'scm_read_string' that handles either string literals or R7RS quoted symbols (delimited by vertical bars), depending on the value of 'chr'. (scm_read_string): Reimplement based on 'scm_read_string_like_syntax'. (scm_read_r7rs_symbol): New static function. * doc/ref/api-data.texi (Symbol Read Syntax): Briefly describe the R7RS symbol syntax, mention the 'r7rs-symbols' read option, and give some examples. * doc/ref/api-evaluation.texi (Scheme Read): Mention the 'r7rs-symbols' read option. * test-suite/tests/reader.test ("reading"): Add test.
2014-01-14Document that we support srfi-62 and add it to %cond-expand-features.Mark H Weaver1-0/+9
* module/ice-9/boot-9.scm (%cond-expand-features): Add srfi-62. * doc/ref/srfi-modules.texi (SRFI-0): Add srfi-62 to the list of core features. (SRFI-62): New node.
2014-01-14Merge branch 'stable-2.0'Mark H Weaver2-5/+15
Conflicts: libguile/chars.c libguile/read.c test-suite/tests/reader.test
2014-01-14Recognize 'escape' character name, per R7RS.Mark H Weaver1-0/+3
* libguile/chars.c (scm_r7rs_charnames, scm_r7rs_charnums): New static constants. (SCM_N_R7RS_CHARNAMES): New macro. (scm_i_charname, scm_i_charname_to_char): Adapt to new R7RS char names. * doc/ref/api-data.texi (Characters): Document #\escape. * test-suite/tests/reader.test ("reading"): Add test.
2014-01-14read: Accept "\|" in string literals.Mark H Weaver1-3/+7
* libguile/read.c (scm_read_string): Accept "\|" in string literals. * doc/ref/api-data.texi (String Syntax): Add "\|" to the list of supported backslash escapes. * test-suite/tests/reader.test ("reading"): Add test.
2014-01-14read: Support R7RS '#true' and '#false' syntax for booleans.Mark H Weaver1-0/+1
* libguile/read.c (try_read_ci_chars): New static function. (scm_read_boolean, scm_read_array): Use 'try_read_ci_chars'. * doc/ref/api-data.texi (Booleans): Update docs. * test-suite/tests/reader.test ("reading"): Add tests.
2014-01-14Add srfi-16 and srfi-30 to %cond-expand-features.Mark H Weaver1-2/+4
* module/ice-9/boot-9.scm (%cond-expand-features): Add srfi-16 and srfi-30. * doc/ref/srfi-modules.texi (SRFI-0): Add srfi-16 and srfi-30 to the list of core features. * module/srfi/srfi-16.scm: Remove call to 'cond-expand-provide'.
2014-01-14Merge branch 'stable-2.0'Mark H Weaver2-7/+90
Conflicts: libguile/hash.c module/ice-9/psyntax-pp.scm module/ice-9/psyntax.scm test-suite/tests/r6rs-ports.test
2014-01-12Finish CPS documentationAndy Wingo1-98/+245
* doc/ref/compiler.texi (Continuation-Passing Style): Flesh out the documentation.
2014-01-12Bump user-visible copyright years to 2014.Mark H Weaver1-1/+1
* doc/ref/guile.texi: Add 2014 to list of copyright years in @copying section. * module/ice-9/command-line.scm (version-etc): Bump 'copyright-year' to 2014. * module/system/repl/common.scm (*version*): Add 2014 to the range of copyright years.
2014-01-09Implement R7RS 'syntax-error'.Mark H Weaver1-0/+24
* module/ice-9/psyntax.scm (syntax-error): New macro. (syntax-rules): Handle 'syntax-error' templates specially for improved error reporting. * module/ice-9/psyntax-pp.scm: Regenerate. * doc/ref/api-macros.texi (Syntax Rules): Add new subsection "Reporting Syntax Errors in Macros". * test-suite/tests/syntax.test: Add tests.
2014-01-09psyntax: custom ellipses using 'with-ellipsis' or R7RS syntax-rules.Mark H Weaver1-6/+65
* module/ice-9/psyntax.scm (binding-type): Update the header comment to mention the new 'ellipsis' binding type. (macros-only-env): Preserve ellipsis bindings. (ellipsis?): Add 'r' and 'mod' as arguments. Search the lexical environment for an ellipsis binding, and use it. (gen-syntax): Adapt to the additional arguments of 'ellipsis?'. (with-ellipsis): New core syntax. (convert-pattern): Add unary 'ellipsis?' procedure as an argument. (gen-clause): Adapt to the additional arguments of 'ellipsis?'. Pass unary 'ellipsis?' procedure to 'convert-pattern'. (syntax-case): Adapt to the additional arguments of 'ellipsis?'. (syntax-local-binding): Support new 'ellipsis' binding type. (syntax-rules): Add support for a custom ellipsis identifier as the first operand, as per R7RS. Collect common code within new local procedure 'expand-syntax-rules'. * module/ice-9/psyntax-pp.scm: Regenerate. * module/ice-9/local-eval.scm (analyze-identifiers): Add support for 'ellipsis' binding type. * doc/ref/api-macros.texi (Syntax Rules): Add docs for R7RS custom ellipsis syntax. Use @dots{}. (Syntax Case): Add docs for 'with-ellipsis'. Use @dots{}. (Syntax Transformer Helpers): Update to include new 'ellipsis' binding type. * test-suite/tests/syntax.test: Add tests.
2014-01-09Merge branch 'stable-2.0'Mark H Weaver1-4/+23
Conflicts: module/system/vm/traps.scm test-suite/tests/peval.test
2014-01-08Implement 'exact-integer?' and 'scm_is_exact_integer'.Mark H Weaver1-2/+21
* libguile/numbers.c (scm_exact_integer_p, scm_is_exact_integer): New procedures. (scm_integer_p): Improve docstring. * libguile/numbers.h (scm_exact_integer_p, scm_is_exact_integer): New prototypes. * doc/ref/api-data.texi (Integers): Add docs. * test-suite/tests/numbers.test ("exact-integer?"): Add tests.
2014-01-08Fix doc that incorrectly claimed (integer? +inf.0) => #t.Mark H Weaver1-2/+2
Fixes <http://bugs.gnu.org/16356>. Reported by Zefram <zefram@fysh.org>. * doc/ref/api-data.texi (Integers): Add docs. Fix outdated example that incorrectly showed (integer? +inf.0) => #t.
2013-12-12Merge branch 'stable-2.0'Mark H Weaver1-3/+3
Conflicts: libguile/pairs.c libguile/vm.c test-suite/tests/control.test
2013-12-10Quick documentation fixes.Andy Wingo1-5/+3
* doc/ref/compiler.texi: Make it build.
2013-12-10Beginnings of CPS section in manualAndy Wingo1-1/+223
* doc/ref/compiler.texi (Continuation-Passing Style): Beginnings of this section. Will be finished when we fix implicit truncation.
2013-12-10Fix cross-references in api-macros.texiAndy Wingo1-2/+2
* doc/ref/api-macros.texi (Macro Expansion): Fix cross-references.
2013-12-05compiler.texi tweaksAndy Wingo1-7/+27
* doc/ref/compiler.texi (Compiler Tower): Reword a couple things. (Tree-IL): Add more vertical space, for readability in info.
2013-12-04Doc updates to macroexpansion, compiled procs, and compiler.texiAndy Wingo3-438/+191
* doc/ref/api-macros.texi (Macro Expansion): New section. * doc/ref/api-procedures.texi (Compiled Procedures): Beginnings of a revision. Not finished. * doc/ref/compiler.texi (Compiling to the Virtual Machine): Beginnings of a revision. CPS and bytecode are not done yet.
2013-12-01GOOPS doc fix: #:dsupers is the init keyword for the dsupers slot.Mark H Weaver1-3/+3
* doc/ref/goops.texi (Metaclasses): #:dsupers is the initialization keyword for the dsupers slot, not #:supers.
2013-12-01Add section to vm.texi about Guile's use of ELFAndy Wingo1-0/+106
* doc/ref/vm.texi (Object File Format): New section.
2013-11-30vm.texi tweakAndy Wingo1-1/+1
* doc/ref/vm.texi (Why a VM?): Small tense tweak.
2013-11-30Update vm.texi's "Instruction Set" section.Andy Wingo1-846/+684
* doc/ref/vm.texi (Instruction Set): Update.
2013-11-30Beginning vm.texi updatesAndy Wingo1-181/+203
* doc/ref/vm.texi: Updates.
2013-11-30Update history.texiAndy Wingo1-27/+26
* doc/ref/history.texi (A Timeline of Selected Guile Releases, Status): Update.
2013-11-29Remove outdated section of api-memory.texiAndy Wingo1-64/+1
* doc/ref/api-memory.texi (Memory Blocks): Remove section documenting scm_must_malloc and friends.
2013-11-28Merge commit '8571dbde639e0ee9885bad49c9e180474bd23646'Andy Wingo1-0/+21
Conflicts: libguile/procprop.c
2013-11-28Merge commit '750ac8c592e792e627444f476877f282525b132e'Andy Wingo3-130/+70
Conflicts: .gitignore libguile/deprecated.c
2013-11-28Fix "include" doc typoAndy Wingo1-1/+1
* doc/ref/api-evaluation.texi (Local Inclusion): Fix typo.
2013-11-28Use version 2.2 in manual examplesAndy Wingo4-16/+16
* doc/ref/api-evaluation.texi (Load Paths): * doc/ref/api-options.texi (Build Config): * doc/ref/guile-invoke.texi (Environment Variables): * doc/ref/libguile-parallel.texi (Parallel Installations): Use 2.2 in examples, rather than 2.0.
2013-11-28Fix some references to objcode in the manualAndy Wingo1-5/+5
* doc/ref/api-evaluation.texi (Compilation): Update references from "objcode" to "rtl".
2013-11-21No more VM objects visible to SchemeAndy Wingo2-8/+8
* libguile/vm.h: * libguile/vm.c (scm_the_vm): Don't expose to Scheme. (scm_vm_p): Remove, as it is not needed. * module/system/vm/vm.scm: Remove the-vm and vm? exports. * doc/ref/api-coverage.texi (Code Coverage): * test-suite/tests/coverage.test: * module/system/vm/coverage.scm (with-code-coverage): Don't take a VM argument. Adapt documentation and tests. * module/ice-9/command-line.scm: Remove the-vm autoload. * module/system/vm/trace.scm (trace-calls-to-procedure): (trace-calls-in-procedure): (trace-instructions-in-procedure): (call-with-trace): Remove #:vm kwarg, and adapt to trap changes. * module/system/vm/trap-state.scm (the-trap-state): Rework to use a parameter underneath instead of a weak key on (the-vm). * module/system/vm/traps.scm (new-disabled-trap): (new-enabled-trap): Remove vm argument. (trap-at-procedure-call): (trap-in-procedure): (trap-instructions-in-procedure): (trap-at-procedure-ip-in-range): (trap-at-source-location): (trap-frame-finish): (trap-in-dynamic-extent): (trap-calls-in-dynamic-extent): (trap-instructions-in-dynamic-extent): (trap-calls-to-procedure): (trap-matching-instructions): Remove vm keyword arguments. * test-suite/tests/control.test ("unwind"): Adapt test. * test-suite/tests/eval.test (test-suite): Remove the-vm import.
2013-11-21VM accessors take VM as implicit argument, not explicit argumentAndy Wingo1-10/+10
* libguile/vm.h: * libguile/vm.c: (scm_vm_apply_hook, scm_vm_push_continuation_hook, scm_vm_pop_continuation_hook, scm_vm_abort_continuation_hook, scm_vm_restore_continuation_hook, scm_vm_next_hook, scm_vm_trace_level, scm_set_vm_trace_level_x, scm_vm_engine, scm_set_vm_engine_x, scm_c_set_vm_engine_x): The VM argument is now implicit: the VM for the current thread. * doc/ref/api-debug.texi (VM Hooks): Try to adapt. * module/ice-9/command-line.scm: * module/statprof.scm: * module/system/vm/coverage.scm: * module/system/vm/trace.scm: * module/system/vm/trap-state.scm: * module/system/vm/traps.scm: * test-suite/tests/control.test: * test-suite/tests/eval.test: Adapt users that set hooks or ensure that we have a debug engine.
2013-11-18Add procedures to convert alists into hash tables.David Thompson1-0/+21
* module/ice-9/hash-table.scm: New module. * test-suite/tests/hash.test ("alist conversion"): Add tests. * doc/ref/api-compound.texi (Hash Table Reference): Add docs.
2013-10-19Doc: 'unfold-right' takes a tail not a tail generator.Ian Price1-2/+2
Reported by David Kastrup <dak@gnu.org>. * doc/ref/srfi-modules.texi (SRFI-1 Fold and Map): Change argument name, and default value.
2013-10-18Doc: mention vectors are self-quotingIan Price1-13/+9
Reported by Dmitry Bogatov <KAction@gnu.org>. * doc/ref/api-compound.texi (Vector Syntax, Vector Creation): Mention that vectors are self-quoting. Remove examples with quote signs.
2013-10-14doc: Update the section on SMOBs and memory management.Ludovic Courtès1-115/+59
* doc/ref/libguile-smobs.texi (Describing a New Type): Only list 'print' and 'equalp' as compulsory. Explain why 'mark' and 'free' are optional. (Creating Smob Instances): Remove paragraphs about allocations that might fail etc. Use 'scm_gc_malloc_pointerless' for the pixel buffer. (Garbage Collecting Smobs): Explain when the 'mark' and 'free' functions are needed. (Garbage Collecting Simple Smobs): Remove.
2013-10-03Merge remote-tracking branch 'origin/stable-2.0'Andy Wingo2-2/+2
Conflicts: libguile/deprecated.h libguile/programs.c libguile/programs.h
2013-09-30Fix minor mistakes in documentation.Mark H Weaver2-2/+2
Fixes <http://bugs.gnu.org/15487>. Reported by Josep Portella Florit <jpf@primfilat.com>. * doc/ref/api-i18n.texi (i18n Introduction, Text Collation, Internationalization, Internationalization): LC_MESSAGE --> LC_MESSAGES. * doc/ref/api-procedures.texi (Compiled Procedures): program-lambda-alist --> program-lambda-list. * THANKS: Fix alignment of Josep Portella Florit.