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): SRFI-0 : Conditional execution SRFI-1 : list-processing library SRFI-2 : AND-LET*: an AND with local bindings, a guarded LET* special form SRFI-4 : Homogenous Vectors SRFI-6 : Basic String Ports SRFI-8 : Binding to multiple values SRFI-9 : Records specification SRFI-18 : Multithreading support SRFI-22 : Script interpreter invocation SRFI-28 : Basic format strings Some SRFIs are not builtin but supported by the means of additional Bigloo libraries. These are: SRFI-14 : Character-Set Library

: Bigloo is mostly R5RS compliant. It supports multiple values by the means of , and the extra form , hygienic macros , , ..., with environment, and dynamic protections ( ). 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.





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.





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.





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.





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.





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.

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.





Bigloo discourages the use of call/cc. Instead it proposes dynamic exceptions a la Common Lisp (by the means of three constructions: that catches errors, that binds an exception and 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.





Bigloo proposes practical IOs by the means of lexing and parsing tools in the spirit of the well known and tools. Source code. Posix support

Bigloo now supports Posix processes and pipes.

Source codes.





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.





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.





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.





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.



Bigloo implements an extended version of the Scheme programming language