Printable manual: brl.pdf (340Kb) or brl.dvi (204Kb) |
[Contents] | [Index] | [ ? ] |
Any Scheme
value other than #f
is true, not just #t
.
The current implementation of BRL is actually a compiler, but this fact is easy to overlook since the compilation step is automatic.
By convention, Scheme
procedures that return only #t or #f have a question mark at the end,
and those that return other values do not. To be named consistently,
one of brl-blank?
or brl-nonblank?
had to break this
convention.
It is currently implemented
as JDBC's java.sql.Statement
object.
more precisely, activating the link
The double backslash is an artifact of
Scheme strings, not the regexp pattern itself. When we
want a literal backslash inside a Scheme string, we
must escape it so that it shows up in the string at
all. Scheme strings use backslash as the escape
character, so we end up with two backslashes -- one
Scheme-string backslash to escape the regexp backslash,
which then escapes the dot. Another character that
would need escaping inside a Scheme string is "
.
Following regexp custom, we identify
"word" characters as [A-Za-z0-9_]
, although these
are too restrictive for what a Schemer might consider a
"word".
\0
, which is useful in
an insert string, makes no sense within the regexp
pattern, because the entire regexp has not matched yet
that you could refer back to it.
A useful, if terminally cute, coinage from the abbots of Perl [Programming Perl].
Note that
n0-255
lists prefixes as preferred alternates, something we
cautioned against (see section 6.3.5 Alternation). However, since we intend to
anchor this subregexp explicitly to force an overall match, the order of
the alternates does not matter.
Model-View-Controller separation is a concept more applicable to stand-alone graphical interfaces than server-side web applications, but is used here for lack of a better term.