Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 History  





2 Compiler and other code execution units  





3 Features  





4 See also  





5 References  





6 External links  














CMU Common Lisp






Deutsch
Français

Русский

 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 


CMUCL
Original author(s)Carnegie Mellon University
Developer(s)Various
Initial releaseEarly 1980; 44 years ago (1980)
Stable release

21e[1] / May 14, 2023; 14 months ago (2023-05-14)

Repository
Operating systemSeveral POSIX-compliant OSs
PlatformCross-platform
Available inCommon Lisp
TypeCompiler and runtime
LicensePublic domain
Websitecmucl.org

CMUCL is a free Common Lisp implementation, originally developed at Carnegie Mellon University.

CMUCL runs on most Unix-like platforms, including Linux and BSD; there is an experimental Windows port as well. Steel Bank Common Lisp is derived from CMUCL. The Scieneer Common Lisp was a commercial derivative from CMUCL.

History

[edit]

The earliest implementation predates Common Lisp and was part of Spice Lisp, around 1980. In 1985 Rob MacLachlan started re-writing the compiler to what would become the Python compiler and CMUCL was ported to Unix workstations such as the IBM PC RT, MIPS and SPARC. Early CMUCL releases did not support Intel's x86 architecture due to a lack of registers. CMUCL strictly separated type-tagged and immediate data types and the garbage collector would rely on knowing that one half of the CPU registers could only hold tagged types and the other half only untagged types. This did not leave enough registers for a Python backend.

After CMU canceled the project (in favor of a Dylan implementation using some of CMUCL's compiler base) maintenance has been taken over by a group of volunteers. By 1996 this group was making regular releases on its own infrastructure.

Around the same time a port to Intel's x86 architecture was completed, first running on FreeBSD, later Linux. The problem of lacking registers was solved by a new conservative garbage collector. This new garbage collector accepts any value of any type in the registers, and treats anything that might be a pointer as a pointer for the purpose of not collecting or moving its target.

Compiler and other code execution units

[edit]

Features

[edit]

See also

[edit]

References

[edit]
  1. ^ "Home · Wiki · cmucl / cmucl · GitLab".
[edit]
Retrieved from "https://en.wikipedia.org/w/index.php?title=CMU_Common_Lisp&oldid=1166413335"

Categories: 
Carnegie Mellon University software
Common Lisp implementations
Common Lisp (programming language) software
Free compilers and interpreters
Public-domain software with source code
Hidden categories: 
Articles with short description
Short description matches Wikidata
Articles lacking reliable references from May 2022
All articles lacking reliable references
 



This page was last edited on 21 July 2023, at 11:13 (UTC).

Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



Privacy policy

About Wikipedia

Disclaimers

Contact Wikipedia

Code of Conduct

Developers

Statistics

Cookie statement

Mobile view



Wikimedia Foundation
Powered by MediaWiki