SBCL History SBCL Present SBCL Future
Total Page:16
File Type:pdf, Size:1020Kb
Introduction SBCL History SBCL Present SBCL Future 20 more years of bootstrapping SBCL – past, present, future Christophe Rhodes April 1, 2019 . Speaking for myself 1 / 61 Introduction SBCL History SBCL Present SBCL Future Outline Introduction Who am I? What is SBCL? SBCL History Prehistory SBCL SBCL Present 2019 State of the system Issues raised by user survey SBCL Future Roadmap Development Project . Speaking for myself 2 / 61 Introduction SBCL History SBCL Present SBCL Future Who am I? Contact details Christophe Rhodes <[email protected]> . Speaking for myself 3 / 61 Introduction SBCL History SBCL Present SBCL Future Who am I? Contact details Christophe Rhodes <[email protected]> . Speaking for myself 4 / 61 Introduction SBCL History SBCL Present SBCL Future Who am I? Contact details wait, what? . Speaking for myself 5 / 61 Introduction SBCL History SBCL Present SBCL Future Who am I? Currently Software Engineer, Android Developer Tools . Not speaking for Google 6 / 61 Introduction SBCL History SBCL Present SBCL Future Who am I? Currently Software Engineer, Android Developer Tools . Not speaking for Google 6 / 61 Introduction SBCL History SBCL Present SBCL Future Who am I? Previously Senior Lecturer, Deputy Head of Department, Computing, Goldsmiths . Not speaking for Google 7 / 61 Introduction SBCL History SBCL Present SBCL Future Who am I? Previously Senior Lecturer, Deputy Head of Department, Computing, Goldsmiths . Not speaking for Google 7 / 61 Introduction SBCL History SBCL Present SBCL Future Who am I? Previously² Chief Scientist, Chairman, Teclo Networks . Not speaking for Google 8 / 61 Introduction SBCL History SBCL Present SBCL Future Who am I? Previously² Chief Scientist, Chairman, Teclo Networks . Not speaking for Google 8 / 61 Introduction SBCL History SBCL Present SBCL Future Who am I? Previously³ Research Associate, Computer Music . Not speaking for Google 9 / 61 Introduction SBCL History SBCL Present SBCL Future Who am I? Previously³ Research Associate, Computer Music . Not speaking for Google 9 / 61 Introduction SBCL History SBCL Present SBCL Future Who am I? Previously⁴ PhD student, speculative cosmology . Not speaking for Google 10 / 61 Introduction SBCL History SBCL Present SBCL Future Who am I? Previously⁴ PhD student, speculative cosmology . Not speaking for Google 10 / 61 Introduction SBCL History SBCL Present SBCL Future Who am I? Concurrently SBCL developer and maintainer I first patch: April 2001 I (now old enough to vote!) I commit access, March 2002 . Not speaking for Google 11 / 61 Introduction SBCL History SBCL Present SBCL Future Who am I? Concurrently Theme: no-one employs me to write Common Lisp I not likely to change any time soon I not likely to negatively affect my ability to contribute to SBCL either . Not speaking for Google 12 / 61 I … and garbage collector I … and interpreter (or three) I … and developer tools (profiler, stepper, tracer) I … and language extensions I … and contributed modules I … and WARNINGz Introduction SBCL History SBCL Present SBCL Future What is SBCL? Steel Bank Common Lisp A somewhat-optimising mostly-portable native code Common Lisp compiler I … and runtime . Not speaking for Google 13 / 61 I … and interpreter (or three) I … and developer tools (profiler, stepper, tracer) I … and language extensions I … and contributed modules I … and WARNINGz Introduction SBCL History SBCL Present SBCL Future What is SBCL? Steel Bank Common Lisp A somewhat-optimising mostly-portable native code Common Lisp compiler I … and runtime I … and garbage collector . Not speaking for Google 13 / 61 I … and developer tools (profiler, stepper, tracer) I … and language extensions I … and contributed modules I … and WARNINGz Introduction SBCL History SBCL Present SBCL Future What is SBCL? Steel Bank Common Lisp A somewhat-optimising mostly-portable native code Common Lisp compiler I … and runtime I … and garbage collector I … and interpreter (or three) . Not speaking for Google 13 / 61 I … and language extensions I … and contributed modules I … and WARNINGz Introduction SBCL History SBCL Present SBCL Future What is SBCL? Steel Bank Common Lisp A somewhat-optimising mostly-portable native code Common Lisp compiler I … and runtime I … and garbage collector I … and interpreter (or three) I … and developer tools (profiler, stepper, tracer) . Not speaking for Google 13 / 61 I … and contributed modules I … and WARNINGz Introduction SBCL History SBCL Present SBCL Future What is SBCL? Steel Bank Common Lisp A somewhat-optimising mostly-portable native code Common Lisp compiler I … and runtime I … and garbage collector I … and interpreter (or three) I … and developer tools (profiler, stepper, tracer) I … and language extensions . Not speaking for Google 13 / 61 I … and WARNINGz Introduction SBCL History SBCL Present SBCL Future What is SBCL? Steel Bank Common Lisp A somewhat-optimising mostly-portable native code Common Lisp compiler I … and runtime I … and garbage collector I … and interpreter (or three) I … and developer tools (profiler, stepper, tracer) I … and language extensions I … and contributed modules . Not speaking for Google 13 / 61 Introduction SBCL History SBCL Present SBCL Future What is SBCL? Steel Bank Common Lisp A somewhat-optimising mostly-portable native code Common Lisp compiler I … and runtime I … and garbage collector I … and interpreter (or three) I … and developer tools (profiler, stepper, tracer) I … and language extensions I … and contributed modules I … and WARNINGz . Not speaking for Google 13 / 61 Introduction SBCL History SBCL Present SBCL Future What is SBCL? Steel Bank Common Lisp . Not speaking for Google 14 / 61 Introduction SBCL History SBCL Present SBCL Future Prehistory Prehistory: Spice Lisp 1980/1-1984/5 (I know very little about this period) . Google didn’t exist then (historical narrative mine) 15 / 61 I [1992] Rob Maclachlan, CMU Common Lisp user’s manual I MIPS/Mach I SPARC/Mach I (external use of CMU CL begins: volunteer port to SPARC/SunOS) I [1994] DARPA funding for CMU CL stops I [1997] Generational mostly-copying conservative garbage collector implementation (Douglas Crosher; see also Scieneer Common Lisp) I [1997ish] Dan Barlow, CMUCL-on-Linux-HOWTO Introduction SBCL History SBCL Present SBCL Future Prehistory Prehistory: Carnegie-Mellon University Common Lisp 1984/5- I [1987] David B. Macdonald, Scott E. Fahlman, Skef Wholey, Internal Design of CMU Common Lisp on the IBM RT PC I RT/Mach . Google didn’t exist then (historical narrative mine) 16 / 61 I (external use of CMU CL begins: volunteer port to SPARC/SunOS) I [1994] DARPA funding for CMU CL stops I [1997] Generational mostly-copying conservative garbage collector implementation (Douglas Crosher; see also Scieneer Common Lisp) I [1997ish] Dan Barlow, CMUCL-on-Linux-HOWTO Introduction SBCL History SBCL Present SBCL Future Prehistory Prehistory: Carnegie-Mellon University Common Lisp 1984/5- I [1987] David B. Macdonald, Scott E. Fahlman, Skef Wholey, Internal Design of CMU Common Lisp on the IBM RT PC I RT/Mach I [1992] Rob Maclachlan, CMU Common Lisp user’s manual I MIPS/Mach I SPARC/Mach . Google didn’t exist then (historical narrative mine) 16 / 61 I [1994] DARPA funding for CMU CL stops I [1997] Generational mostly-copying conservative garbage collector implementation (Douglas Crosher; see also Scieneer Common Lisp) I [1997ish] Dan Barlow, CMUCL-on-Linux-HOWTO Introduction SBCL History SBCL Present SBCL Future Prehistory Prehistory: Carnegie-Mellon University Common Lisp 1984/5- I [1987] David B. Macdonald, Scott E. Fahlman, Skef Wholey, Internal Design of CMU Common Lisp on the IBM RT PC I RT/Mach I [1992] Rob Maclachlan, CMU Common Lisp user’s manual I MIPS/Mach I SPARC/Mach I (external use of CMU CL begins: volunteer port to SPARC/SunOS) . Google didn’t exist then (historical narrative mine) 16 / 61 I [1997ish] Dan Barlow, CMUCL-on-Linux-HOWTO Introduction SBCL History SBCL Present SBCL Future Prehistory Prehistory: Carnegie-Mellon University Common Lisp 1984/5- I [1987] David B. Macdonald, Scott E. Fahlman, Skef Wholey, Internal Design of CMU Common Lisp on the IBM RT PC I RT/Mach I [1992] Rob Maclachlan, CMU Common Lisp user’s manual I MIPS/Mach I SPARC/Mach I (external use of CMU CL begins: volunteer port to SPARC/SunOS) I [1994] DARPA funding for CMU CL stops I [1997] Generational mostly-copying conservative garbage collector implementation (Douglas Crosher; see also Scieneer Common Lisp) . Google didn’t exist then (historical narrative mine) 16 / 61 Introduction SBCL History SBCL Present SBCL Future Prehistory Prehistory: Carnegie-Mellon University Common Lisp 1984/5- I [1987] David B. Macdonald, Scott E. Fahlman, Skef Wholey, Internal Design of CMU Common Lisp on the IBM RT PC I RT/Mach I [1992] Rob Maclachlan, CMU Common Lisp user’s manual I MIPS/Mach I SPARC/Mach I (external use of CMU CL begins: volunteer port to SPARC/SunOS) I [1994] DARPA funding for CMU CL stops I [1997] Generational mostly-copying conservative garbage collector implementation (Douglas Crosher; see also Scieneer Common Lisp) I [1997ish] Dan Barlow, CMUCL-on-Linux-HOWTO . Google didn’t exist then (historical narrative mine) 16 / 61 Introduction SBCL History SBCL Present SBCL Future Prehistory Some hints on building the system which you might find useful 1. if you change the compiler, you will have to recompile all the sources before the change is reflected in the system […] 2. changing the miscops should be done with care […] note that this requires building a new cold core file and a final core file before the change is reflected in the system […] 3. changing sources in the code directory should be fairly straight forward […] if you change something that a lot of files depend on […] you will have to recompile everything and build a new cold core file and a core file 4. if you make a fairly major change, it is a good idea to go through the process of building a core file at least two or three times.