Bglstone The Bigloo benchmark suite contains various tools to produce
and display bar charts Mole Literate programming in Scheme. SCOP SCOP (a light-weight, simple but powerful,
high-level communication interface) Scheme Binding Phptools A toolkit for PHP4 documents. Skribe A programming language to build documents (such as Web pages or program documentations) SX A 3D modeler. VRLM parser VRML 1.0 parser in Scheme mod_pipe An Apache module providing a mean for communication between Apache server and the external process using Unix pipes. Hive Source code manager. SXML/SSAX/SXPath Suite for handling XML documents in Scheme
Compliance:
Bigloo is mostly R5RS compliant. It supports multiple values by the means
of call-with-values, values and the extra form
multiple-value-bind, hygienic macros let-syntax,
syntax-rules, ..., eval with environment,
and dynamic protections (dynamic-wind).
Bigloo supports the following Scheme Request for
Implementation (SRFI):
Module support
Bigloo compiles modules. Bigloo is a batch compiler. Even though the Bigloo
runtime library offers one, it does not rely on a read-eval-print loop.
Source code.
An extended Java interface
Java code and Bigloo code can be merged together. Bigloo functions
can call Java functions and vice-versa, Bigloo code can use and
instantiate Java classes. Bigloo functions and variables can hold
Java values (Java classes values). Bigloo data structures can point to Java
data structures and vice-versa.
Source code.
An extended C interface
C code and Bigloo code can be merged together. Bigloo functions
can call C functions and vice-versa, Bigloo code can use C global
variables and vice-versa. Bigloo functions and variables can hold
C values (C types values). C values can be allocated from Bigloo
program and vice-versa, Bigloo data structures can point to C
data structures and vice-versa.
Source code.
An object oriented layer
Bigloo proposes an extension to Scheme by adding simplified
Clos-like generic functions. Bigloo uses single inheritance and
mono-dispatch. Futhermore, the Bigloo's object system includes
introspection facilities. Classes are able to deliver access and
mutation functions to their instance's fields.
Source code.
Threads
Bigloo now supports Fair threads that are cooperative threads run
by a fair scheduler which gives them equal access to the processor.
Fair threads can communicate using broadcast events. Their semantics
does not depends on the executing platform. Fine control over fair
threads execution is possible allowing the programming of specific
user-defined scheduling strategies.
Source code.
SQL
Bigloo supports SQL databases queries. The C back-end now offers an SQLite
SQLite binding.
Simple exception
Bigloo discourages the use of call/cc. Instead it proposes dynamic
exceptions a la Common Lisp (by the means of three constructions:
try that catches errors, bind-exit that binds an exception and
unwind-protect that protects a piece of code from exceptions).
Source code.
Practical IOs
Bigloo proposes practical IOs by the means of lexing and parsing tools in
the spirit of the well known lex and yacc tools.
Source code.
Posix support
Bigloo now supports Posix processes and pipes.
Source codes.
Library support
Bigloo now supports libraries. A library is a collection of Bigloo
pre-compiled modules.
An explicit type system and compile time type mismatch detections
Bigloo programs may contain type annotations. Bigloo programs are
encouraged to contain type annotations. Type annotations hold
on variables, function parameters and function results. Type
annotations help the compiler in the task of the static type
mismatch detection and help it at producing more
efficient code.
Dsssl support
Bigloo handles DSSSL keywords, DSSSL named constants and it compiles DSSSL
keyword functions.
Unicode support
Bigloo now supports Unicode characters and strings but it maintains
traditional ISO-LATIN1 characters and strings support.
This Html page has been produced by
Skribe.
Last update Thu Feb 27 08:01:21 2020.