Bigloo
A ``practical Scheme compiler''
User manual for version 2.6b
December 2003

Manuel Serrano


Chapters

  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. Extending the Runtime System
20. SRFIs
21. DSSSL support
22. Compiler description
23. User Extensions
24. Bigloo Development Environment
25. Global Index
26. Library Index
  Bibliography
Copyright © 1992-99, 2000-02 Manuel Serrano

This program is free software; you can redistribute it            
and/or modify it under the terms of the GNU General Public        
License as published by the Free Software Foundation; either      
version 2 of the License, or (at your option) any later version.  
                                                                  
This program is distributed in the hope that it will be useful,   
but WITHOUT ANY WARRANTY; without even the implied warranty of    
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the     
GNU General Public License for more details.                      
                                                                  
You should have received a copy of the GNU General Public         
License along with this program; if not, write to the Free        
Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,   
MA 02111-1307, USA.    

Acknowledgements

Bigloo has been developed at Inria-Rocquencourt by the Icsla team from 1991 to 1994, at the University of Montreal in 1995 and at Digital's Western Research laboratory in 1996, University of Geneva during 1997 and from the end of 1997 at the University of Nice.

I would like to express my gratitude to Hans J. Boehm for his Garbage Collector [BoehmWeiser88, Boehm91], Jean-Marie Geffroy for his pattern-matching compiler [QueinnecGeffroy92], Dominique Boucher for his Lalr grammar compiler, William Clinger for his syntax expansion implementation and Dorai Sitaram for his contribution with the pregexp package and its documentation. I also especially thank Christian Queinnec for all his useful remarks, help, suggestions and teaching.

Other people have helped me by providing useful remarks, bug fixes or code improvements. I thank all of them and especially Luc Moreau, John Gerard Malecki, David Halls and David Gurr.

I thank Barrie Stott for his help in making much of the documentation more idiomatic. Of course, any remaining errors are still mine.

This release of Bigloo may still contain bugs. If you notice any, please forgive me and send a mail message to the following address: bigloo@sophia.inria.fr .

New versions may be found at http://www.inria.fr/mimosa/fp/Bigloo. This is Bigloo documentation version 2.6b, December 2003.


Bibliography

  • [Bobrow et al. 88] D. Bobrow, L. DeMichiel, R. Gabriel, S. Keene, G. Kiczales and D. Moon. Common lisp object system specification. In special issue, number 23 in Sigplan Notices, September 1988.


  • [BoehmWeiser88] H.J. Boehm and M. Weiser. Garbage collection in an unco-operative environment. Software---Practice and Experience, 18(9):807--820, Sept-ember 1988.

  • [Boehm91] H.J. Boehm. Space efficient conservative garbage collection. In Conference on Programming Language Design and Implementation, number 28, 6 in Sigplan Notices, pages 197--206, 1991.

  • [Caml-light] P. Weis and X. Leroy. Le langage CAML. InterEditions, Paris, 1993.

  • [Dsssl96] ISO/IEC. Information technology, Processing Languages, Document Style Semantics and Specification Languages (dsssl). Technical Report 10179 :1996(E), ISO, 1996.

  • [Dybvig et al. 86] K. Dybvig, D. Friedman, and C. Haynes. Expansion-passing style: Beyond conventional macros. In Conference on Lisp and Functional Programming, pages 143--150, 1986.

  • [Gallesio95] E. Gallesio. STk Reference Manual. Technical Report RT 95-31a, I3S-CNRS/University of Nice--Sophia Antipolis, July 1995.

  • [IsoC] ISO/IEC. 9899 programming language --- C. Technical Report DIS 9899, ISO, July 1990.

  • [Les75] M.E. Lesk. Lex --- a lexical analyzer generator. Computing Science Technical Report 39~39, AT&T Bell Laboratories, Murray Hill, N.J., 1975.

  • [Queinnec93] C. Queinnec. Designing meroon v3. In Workshop on Object-Oriented Programming in Lisp, 1993.

  • [QueinnecGeffroy92] C. Queinnec and J-M. Geffroy. Partial evaluation applied to symbolic pattern matching with intelligent backtrack. In M. Billaud, P. Casteran, MM. Corsini, K. Musumbu, and A. Rauzy: Editors, Workshop on Static Analysis, number 81-82 in bigre, pages 109--117, Bordeaux (France), September 1992.

  • [R5RS] R Kelsey, W. Clinger and J. Rees: Editors. The Revised(5) Report on the Algorithmic Language Scheme.
  • [Stallman95] R. Stallman. Using and Porting GNU CC. for version 2.7.2 ISBN 1-882114-66-3, Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA, November 1995.

  • [SerranoWeis94] M. Serrano and P. Weis. 1+1=1: an optimizing Caml compiler. In ACM SIGPLAN Workshop on ML and its Applications, pages 101--111, Orlando (Florida, USA), June 1994. ACM SIGPLAN, INRIA RR 2265.

  • [Steele90] G. Steele. COMMON LISP (The language). Digital Press (DEC), Burlington MA (USA), 2nd edition, 1990.


This Scribe page has been generated by scribeinfo.
Last update Tue Dec 16 13:46:41 2003