Copyright Acknowledgements 1. Table of contents 2. Overview of Bigloo 3. Modules 4. Core Language 5. Standard Library 6. Pattern Matching 7. Object System 8. Threads 9. Regular parsing 10. Lalr(1) parsing 11. Errors and Assertions 12. Eval and code interpretation 13. Macro expansion 14. Command Line Parsing 15. Explicit typing 16. The C interface 17. The Java interface 18. Bigloo Libraries 19. SRFIs 20. DSSSL support 21. Compiler description 22. User Extensions 23. Bigloo Development Environment 24. Global Index 25. Library Index Bibliography
* *about-to-read* *bigloo-strict-r5rs-strings* *dynamic-load-path* *fl *fx *hygien?* *load-path* ...*load-path* *pp-case* *pp-width* *warning*
*
*about-to-read*
*bigloo-strict-r5rs-strings*
*dynamic-load-path*
*fl
*fx
*hygien?*
*load-path*
*pp-case*
*pp-width*
*warning*
+ +fl +fx
+
+fl
+fx
- -fl -fx
-
-fl
-fx
.afile .bigloorc
/ /fl /fx
/
/fl
/fx
< <= <=fl <=fx <fl <fx
<
<=
<=fl
<=fx
<fl
<fx
= =fl =fx
=
=fl
=fx
> >= >=fl >=fx >fl >fx
>
>=
>=fl
>=fx
>fl
>fx
@
Typed identifier
abadoned-mutex-exception? abs abstract-class acos and append append! append-output-binary-file append-output-file apply args-parse args-parse-usage asin assert assoc assq assv atan
abadoned-mutex-exception?
abs
acos
and
append
append!
append-output-binary-file
append-output-file
apply
args-parse
args-parse-usage
asin
assert
assoc
assq
assv
atan
basename begin bigloo-class-demangle bigloo-class-mangled? bigloo-demangle bigloo-mangle bigloo-mangled? bigloo-module-mangle bigloo-need-mangling bigloo.foreign.must_exitp binary-port? bind-exit bit-and bit-lsh bit-not bit-or bit-rsh bit-xor blit-string! boolean? broadcast
basename
begin
bigloo-class-demangle
bigloo-class-mangled?
bigloo-demangle
bigloo-mangle
bigloo-mangled?
bigloo-module-mangle
bigloo-need-mangling
binary-port?
bind-exit
bit-and
bit-lsh
bit-not
bit-or
bit-rsh
bit-xor
blit-string!
boolean?
broadcast
caar cadr call-with-input-file call-with-output-file call-with-values call/cc car case cdddar cddddr cdr ceiling char->integer char->ucs2 char-alphabetic? char-ci<=? char-ci<? char-ci=? char-ci>=? char-ci>? char-downcase char-lower-case? char-numeric? char-ready? char-upcase char-upper-case? char-whitespace? char<=? char<? char=? char>=? char>? char? chdir chmod class class-all-fields class-field-accessor class-field-indexed? class-field-info class-field-len-accessor class-field-mutable? class-field-mutator class-field-name class-field? class-fields class-name class-subclasses class-super class? close-binary-port close-input-port close-output-port co-instantiate command-line complex? cond cond-expand condition-variable-broadcast! condition-variable-name condition-variable-signal! condition-variable-specific! condition-variable-specific-set! condition-variable? cons* copy-vector cos current-error-port current-exception-handler current-input-port current-output-port current-scheduler current-thread current-time
caar
cadr
call-with-input-file
call-with-output-file
call-with-values
call/cc
car
case
cdddar
cddddr
cdr
ceiling
char->integer
char->ucs2
char-alphabetic?
char-ci<=?
char-ci<?
char-ci=?
char-ci>=?
char-ci>?
char-downcase
char-lower-case?
char-numeric?
char-ready?
char-upcase
char-upper-case?
char-whitespace?
char<=?
char<?
char=?
char>=?
char>?
char?
chdir
chmod
class-all-fields
class-field-accessor
class-field-indexed?
class-field-info
class-field-len-accessor
class-field-mutable?
class-field-mutator
class-field-name
class-field?
class-fields
class-name
class-subclasses
class-super
class?
close-binary-port
close-input-port
close-output-port
co-instantiate
command-line
complex?
cond
cond-expand
condition-variable-broadcast!
condition-variable-name
condition-variable-signal!
condition-variable-specific!
condition-variable-specific-set!
condition-variable?
cons*
copy-vector
cos
current-error-port
current-exception-handler
current-input-port
current-output-port
current-scheduler
current-thread
current-time
date default-repl-error-notifier define define-expander define-generic define-inline define-macro define-method define-record-type define-struct define-syntax delay delete delete! delete-directory delete-file directives directory->list directory? dirname display display* display-circle do duplicate duplicate:: dynamic-load dynamic-wind
date
default-repl-error-notifier
define
define-expander
define-generic
define-inline
define-macro
define-method
define-record-type
define-struct
define-syntax
delay
delete
delete!
delete-directory
delete-file
directory->list
directory?
dirname
display
display*
display-circle
do
duplicate::
dynamic-load
dynamic-wind
elong? eof-object? eq? equal? eqv? error error/location eval even? exact->inexact exact? executable-name exit exp expand expand-once export expt extern
elong?
eof-object?
eq?
equal?
eqv?
error
error/location
eval
even?
exact->inexact
exact?
executable-name
exit
exp
expand
expand-once
export
expt
extern
file-exists? file-modification-time file-separator file-size filter filter! final-class find-class-field find-file/path fixnum->flonum fixnum? flonum->fixnum flonum? floor flush-output-port for-each for-each-hash force fprint from
file-exists?
file-modification-time
file-separator
file-size
filter
filter!
find-class-field
find-file/path
fixnum->flonum
fixnum?
flonum->fixnum
flonum?
floor
flush-output-port
for-each
for-each-hash
force
fprint
from
gcd gensym get-hash get-output-string get-procedure-serialization get-process-serialization get-prompter get-repl-error-notifier::procedure get-signal-handler get-write-length getenv getprop
gcd
gensym
get-hash
get-output-string
get-procedure-serialization
get-process-serialization
get-prompter
get-repl-error-notifier::procedure
get-signal-handler
get-write-length
getenv
getprop
hash-table-nb-entry hash-table? hashtable->list hashtable->vector hashtable-for-each hashtable-get hashtable-put! hashtable-remove! hashtable-size hashtable-update! hashtable?
hash-table-nb-entry
hash-table?
hashtable->list
hashtable->vector
hashtable-for-each
hashtable-get
hashtable-put!
hashtable-remove!
hashtable-size
hashtable-update!
hashtable?
if ignore import include inexact->exact inexact? input-char input-obj input-port-name input-port-position input-port-reopen! input-port? instantiate instantiate:: int->0..255 int->0..2^x-1 integer->char integer->string integer->ucs2 integer? interaction-environment is-a?
if
ignore
import
include
inexact->exact
inexact?
input-char
input-obj
input-port-name
input-port-position
input-port-reopen!
input-port?
instantiate::
int->0..255
int->0..2^x-1
integer->char
integer->string
integer->ucs2
integer?
interaction-environment
is-a?
java join-timeout-exception?
java
join-timeout-exception?
keyword->string keyword?
keyword->string
keyword?
labels lalr-grammar lambda last-pair lcm length let let* let-syntax letrec letrec-syntax library list list->string list->ucs2-string list->vector list-ref list-tail list? llong? load loada loadq log
labels
lalr-grammar
lambda
last-pair
lcm
length
let
let*
let-syntax
letrec
letrec-syntax
library
list
list->string
list->ucs2-string
list->vector
list-ref
list-tail
list?
llong?
load
loada
loadq
log
main make-client-socket make-condition-variable make-directories make-directory make-file-name make-hash-table make-hashtable make-mutex make-scheduler make-server-socket make-shared-library-name make-static-library-name make-string make-thread make-ucs2-string make-vector map match-case match-lambda max member memq memv min module module export-all module export-exports module export-module modulo multiple-value-bind mutex-lock! mutex-name mutex-specific mutex-specific-set! mutex-state mutex-unlock! mutex?
main
make-client-socket
make-condition-variable
make-directories
make-directory
make-file-name
make-hash-table
make-hashtable
make-mutex
make-scheduler
make-server-socket
make-shared-library-name
make-static-library-name
make-string
make-thread
make-ucs2-string
make-vector
map
match-case
match-lambda
max
member
memq
memv
min
module
modulo
multiple-value-bind
mutex-lock!
mutex-name
mutex-specific
mutex-specific-set!
mutex-state
mutex-unlock!
mutex?
native-printer native-repl-printer negative? negfl negfx newline not notify-error null-environment null? number->string number?
native-printer
native-repl-printer
negative?
negfl
negfx
newline
not
notify-error
null-environment
null?
number->string
number?
obj->0..255 obj->0..2^x-1 obj->string object->struct object-class object-constructor object-creator object-display object-equal? object-hashnumber object-write odd? open-input-binary-file open-input-c-string open-input-file open-input-string open-output-binary-file open-output-file open-output-string operator option or os-arch os-class os-name os-tmp os-version output-char output-obj output-port?
obj->0..255
obj->0..2^x-1
obj->string
object->struct
object-class
object-constructor
object-creator
object-display
object-equal?
object-hashnumber
object-write
odd?
open-input-binary-file
open-input-c-string
open-input-file
open-input-string
open-output-binary-file
open-output-file
open-output-string
operator
option
or
os-arch
os-class
os-name
os-tmp
os-version
output-char
output-obj
output-port?
pair-or-null? pair? path-separator peek-char port? positive? pp pragma:: prefix pregexp pregexp-match pregexp-match-positions pregexp-replace pregexp-replace* print procedure? process-alive? process-continue process-error-port process-exit-status process-input-port process-kill process-list process-output-port process-pid process-send-signal process-stop process-wait process? put-hash! putprop! pwd
pair-or-null?
pair?
path-separator
peek-char
port?
positive?
pp
pragma::
prefix
pregexp
pregexp-match
pregexp-match-positions
pregexp-replace
pregexp-replace*
print
procedure?
process-alive?
process-continue
process-error-port
process-exit-status
process-input-port
process-kill
process-list
process-output-port
process-pid
process-send-signal
process-stop
process-wait
process?
put-hash!
putprop!
pwd
quasiquote quit quote quotient
quasiquote
quit
quote
quotient
raise rational? read read-case-insensitive read-case-sensitive read-char read-line read-of-strings read/case read/lalrp read/rp real->string real? receive register-eval-srfi! register-exit-function! register-procedure-serialization register-process-serialization regular-grammar rem-key-hash! rem-obj-hash! remainder remprop! remq remq! rename-file repl reverse reverse! rgc-context round run-process
raise
rational?
read
read-case-insensitive
read-case-sensitive
read-char
read-line
read-of-strings
read/case
read/lalrp
read/rp
real->string
real?
receive
register-eval-srfi!
register-exit-function!
register-procedure-serialization
register-process-serialization
regular-grammar
rem-key-hash!
rem-obj-hash!
remainder
remprop!
remq
remq!
rename-file
repl
reverse
reverse!
rgc-context
round
run-process
scheduler-broadcast scheduler-instant scheduler-react! scheduler-start! scheduler-terminate! scheduler? scheme-report-environment set! set-car! set-cdr! set-printer! set-prompter! set-repl-error-notifier! set-repl-printer! set-write-length! shrink! signal sin socket-accept-connection socket-client? socket-down? socket-dup socket-host-address socket-hostname socket-input socket-local-address socket-output socket-port-number socket-server? socket-shutdown socket? sort sqrt static string string->0..255 string->0..2^x-1 string->elong string->integer string->keyword string->list string->llong string->number string->obj string->real string->symbol string->symbol-ci string-append string-capitalize string-capitalize! string-case string-ci<=? string-ci<? string-ci=? string-ci>=? string-ci>? string-copy string-downcase string-downcase! string-fill! string-for-read string-length string-ptr-null? string-ref string-set! string-upcase string-upcase! string<=? string<? string=? string>=? string>? string? struct->object struct? substring substring=? subucs2-string suffix symbol->string symbol-append symbol-plist symbol? system
scheduler-broadcast
scheduler-instant
scheduler-react!
scheduler-start!
scheduler-terminate!
scheduler?
scheme-report-environment
set!
set-car!
set-cdr!
set-printer!
set-prompter!
set-repl-error-notifier!
set-repl-printer!
set-write-length!
shrink!
signal
sin
socket-accept-connection
socket-client?
socket-down?
socket-dup
socket-host-address
socket-hostname
socket-input
socket-local-address
socket-output
socket-port-number
socket-server?
socket-shutdown
socket?
sort
sqrt
static
string
string->0..255
string->0..2^x-1
string->elong
string->integer
string->keyword
string->list
string->llong
string->number
string->obj
string->real
string->symbol
string->symbol-ci
string-append
string-capitalize
string-capitalize!
string-case
string-ci<=?
string-ci<?
string-ci=?
string-ci>=?
string-ci>?
string-copy
string-downcase
string-downcase!
string-fill!
string-for-read
string-length
string-ptr-null?
string-ref
string-set!
string-upcase
string-upcase!
string<=?
string<?
string=?
string>=?
string>?
string?
struct->object
struct?
substring
substring=?
subucs2-string
suffix
symbol->string
symbol-append
symbol-plist
symbol?
system
tan terminated-thread-exception? the-character the-context the-failure the-fixnum the-flonum the-keyword the-length the-port the-string the-substring the-symbol thread-await! thread-cleanup thread-cleanup-set! thread-join! thread-name thread-resume! thread-sleep! thread-specific thread-specific-set! thread-start! thread-suspend! thread-terminate! thread-yield! thread? time->seconds time? transcript-off transcript-on truncate try type
tan
terminated-thread-exception?
the-character
the-context
the-failure
the-fixnum
the-flonum
the-keyword
the-length
the-port
the-string
the-substring
the-symbol
thread-await!
thread-cleanup
thread-cleanup-set!
thread-join!
thread-name
thread-resume!
thread-sleep!
thread-specific
thread-specific-set!
thread-start!
thread-suspend!
thread-terminate!
thread-yield!
thread?
time->seconds
time?
transcript-off
transcript-on
truncate
try
type
ucs2->char ucs2->integer ucs2-alphabetic? ucs2-ci<=? ucs2-ci<? ucs2-ci=? ucs2-ci>=? ucs2-ci>? ucs2-downcase ucs2-lower-case? ucs2-numeric? ucs2-string ucs2-string->list ucs2-string->utf8-string ucs2-string-append ucs2-string-ci<=? ucs2-string-ci<? ucs2-string-ci=? ucs2-string-ci>=? ucs2-string-ci>? ucs2-string-copy ucs2-string-downcase ucs2-string-downcase! ucs2-string-fill! ucs2-string-length ucs2-string-ref ucs2-string-set! ucs2-string-upcase ucs2-string-upcase! ucs2-string<=? ucs2-string<? ucs2-string=? ucs2-string>=? ucs2-string>? ucs2-string? ucs2-upcase ucs2-upper-case? ucs2-whitespace? ucs2<=? ucs2<? ucs2=? ucs2>=? ucs2>? ucs2? uncaught-exception-reason uncaught-exception? unix-path->list unspecified unwind-protect use utf8-string->ucs2-string
ucs2->char
ucs2->integer
ucs2-alphabetic?
ucs2-ci<=?
ucs2-ci<?
ucs2-ci=?
ucs2-ci>=?
ucs2-ci>?
ucs2-downcase
ucs2-lower-case?
ucs2-numeric?
ucs2-string
ucs2-string->list
ucs2-string->utf8-string
ucs2-string-append
ucs2-string-ci<=?
ucs2-string-ci<?
ucs2-string-ci=?
ucs2-string-ci>=?
ucs2-string-ci>?
ucs2-string-copy
ucs2-string-downcase
ucs2-string-downcase!
ucs2-string-fill!
ucs2-string-length
ucs2-string-ref
ucs2-string-set!
ucs2-string-upcase
ucs2-string-upcase!
ucs2-string<=?
ucs2-string<?
ucs2-string=?
ucs2-string>=?
ucs2-string>?
ucs2-string?
ucs2-upcase
ucs2-upper-case?
ucs2-whitespace?
ucs2<=?
ucs2<?
ucs2=?
ucs2>=?
ucs2>?
ucs2?
uncaught-exception-reason
uncaught-exception?
unix-path->list
unspecified
unwind-protect
use
utf8-string->ucs2-string
values vector vector->list vector-fill! vector-length vector-ref vector-set! vector? void*-null?
values
vector
vector->list
vector-fill!
vector-length
vector-ref
vector-set!
vector?
void*-null?
warning warning/location wide-class wide-object? widen! widen!:: with with-access with-access:: with-error-to-file with-error-to-port with-error-to-string with-exception-handler with-input-from-file with-input-from-port with-input-from-string with-output-to-file with-output-to-port with-output-to-string write write-char write-circle
warning
warning/location
wide-object?
widen!::
with
with-access::
with-error-to-file
with-error-to-port
with-error-to-string
with-exception-handler
with-input-from-file
with-input-from-port
with-input-from-string
with-output-to-file
with-output-to-port
with-output-to-string
write
write-char
write-circle
zero?
scribeinfo