HCoop
/
bpt
/
guile.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge remote-tracking branch 'origin/stable-2.0'
[bpt/guile.git]
/
doc
/
ref
/
api-macros.texi
diff --git
a/doc/ref/api-macros.texi
b/doc/ref/api-macros.texi
index
b08c103
..
09ffee6
100644
(file)
--- a/
doc/ref/api-macros.texi
+++ b/
doc/ref/api-macros.texi
@@
-215,7
+215,7
@@
including ellipsizing and tail patterns.
((_ #((var val) ...) exp exp* ...)
(let ((var val) ...) exp exp* ...))))
(letv #((foo 'bar)) foo)
((_ #((var val) ...) exp exp* ...)
(let ((var val) ...) exp exp* ...))))
(letv #((foo 'bar)) foo)
-@result{}
foo
+@result{}
bar
@end example
Literals are used to match specific datums in an expression, like the use of
@end example
Literals are used to match specific datums in an expression, like the use of
@@
-520,7
+520,8
@@
is impossible with @code{syntax-rules}, given the datum matching forms. But with
@code{syntax-case} it is easy:
@deffn {Scheme Procedure} identifier? syntax-object
@code{syntax-case} it is easy:
@deffn {Scheme Procedure} identifier? syntax-object
-Returns @code{#t} iff @var{syntax-object} is an identifier.
+Returns @code{#t} if @var{syntax-object} is an identifier, or @code{#f}
+otherwise.
@end deffn
@example
@end deffn
@example
@@
-690,13
+691,13
@@
macros can use to compare, generate, and query objects of this data
type.
@deffn {Scheme Procedure} bound-identifier=? a b
type.
@deffn {Scheme Procedure} bound-identifier=? a b
-Return @code{#t} if
f
the syntax objects @var{a} and @var{b} refer to the
-same lexically-bound identifier.
+Return @code{#t} if the syntax objects @var{a} and @var{b} refer to the
+same lexically-bound identifier
, or @code{#f} otherwise
.
@end deffn
@deffn {Scheme Procedure} free-identifier=? a b
@end deffn
@deffn {Scheme Procedure} free-identifier=? a b
-Return @code{#t} if
f
the syntax objects @var{a} and @var{b} refer to the
-same free identifier.
+Return @code{#t} if the syntax objects @var{a} and @var{b} refer to the
+same free identifier
, or @code{#f} otherwise
.
@end deffn
@deffn {Scheme Procedure} generate-temporaries ls
@end deffn
@deffn {Scheme Procedure} generate-temporaries ls
@@
-941,7
+942,7
@@
left-hand side of a @code{set!} expression, as in the following:
(set! foo @var{val})
;; expands via
(foo-transformer #'(set! foo @var{val}))
(set! foo @var{val})
;; expands via
(foo-transformer #'(set! foo @var{val}))
-;; if
f
foo-transformer is a "variable transformer"
+;; if foo-transformer is a "variable transformer"
@end example
As the example notes, the transformer procedure must be explicitly
@end example
As the example notes, the transformer procedure must be explicitly
@@
-1131,7
+1132,8
@@
for syntax-case.
@deffn {Scheme Procedure} macro? obj
@deffnx {C Function} scm_macro_p (obj)
@deffn {Scheme Procedure} macro? obj
@deffnx {C Function} scm_macro_p (obj)
-Return @code{#t} iff @var{obj} is a syntax transformer.
+Return @code{#t} if @var{obj} is a syntax transformer, or @code{#f}
+otherwise.
Note that it's a bit difficult to actually get a macro as a first-class object;
simply naming it (like @code{case}) will produce a syntax error. But it is
Note that it's a bit difficult to actually get a macro as a first-class object;
simply naming it (like @code{case}) will produce a syntax error. But it is