Posted on October 4, 2021 by Catherine Galkina

Do You Know Where Lisp Is Used Nowadays?

Examples of software from different domains written in Lisp dialects

Introduction

Lisp is the second-oldest high-level programming language still in use (after Fortran) and the first functional language. It was developed in 1958 and has changed since that time giving rise to lots of dialects and producing a significant effect on the development of other languages. At present, the best-known dialects are Common Lisp, Scheme, Racket and Clojure.

Left: A LISP machine at the MIT Museum. Right: Symbolics 3640 lisp machine, photo by Michael L. Umbricht and Carl R. Friend (Retro-Computing Society of RI)

Lisp became the “pathfinder” for many ideas which found application in the modern programming languages: tree-like structures, dynamic typing, higher-order functions and many others. In this post, we won’t dwell on Lisp’s contribution to theoretical computer science but will focus on the practical benefit.

Originally, Lisp was designed for artificial intelligence research, in particular, as a presentation of the mathematical notation for symbolic computations. But how common are the Lisp dialects nowadays and where are they applied?

We love functional programming and use it for our development at Typeable. Lisp still has a certain influence on functional languages, so we decided to make research on this topic.

Where and how is Lisp used?

During my university years, I used to deal with Lisp dialects quite often. While I was doing some initial research for this post, I was surprised and happy to find mentions of the code written in some Lisp dialect in the applications I’m using myself. I believe you’ll also find familiar names in this list.

  1. GNU Emacs is the text editor developed by Richard Stallman in 1984, it’s the first program of the GNU project and a participant in the everlasting fight for “The Best Text Editor” title. It’s written mostly in its own Lisp dialect, Emacs Lisp, which is also used to write Emacs configs and extensions. Though this dialect can be used as a general-purpose scripting language, it is still tailored to the development of a text editor. For instance, Emacs Lisp has a rich library to work with text files.
  2. Grammarly is an online service used to process texts in English. The service makes use of artificial intelligence to analyze the text and generate recommendations on its improvement. In addition to the grammar and spelling, the text brevity, vocabulary and tone are checked. The development started in 2009; today the service has 30 million active users and is regularly listed in various rankings. Personally, I use Grammarly as a browser extension and I was surprised to find that all their backend, all the text processing mechanism is written in Common Lisp. In their technical blog, the developers explained why they gave preference to CL and what it’s like to use Lisp in production.
  3. Boeing 747 and 777 use Allegro NFS Server written in Common Lisp. Further on the subject of aviation: Boeing and Airbus use Piano – a software package in Common Lisp for aircraft design development and analysis. You can learn more about the low-level programming in Common Lisp from this talk.
Boeing 747
  1. ITA Software is the once independent company that developed the system for air tickets search and pricing. Now it forms part of Google’s travel industry department. In most cases, the company develops its software using Common Lisp.
  2. Another application in the transport sector is the London Tube that uses the software developed by Portuguese Siscog where Common Lisp is the main programming language. The company develops decision support systems designed for resource planning, allocation, and management in the transportation sector.
London Tube also uses Lisp!
  1. Circle CI is one of the largest and, probably, most well-known platforms for CI/CD with millions of builds every month and other impressive statistics that can be found on their website. The major part is written in Clojure; ClosureScript is used for frontend development. In general, developers are so fond of Clojure that in 2021 it ranked second among the most loved technologies of Stack Overflow users according to their annual survey.
  2. Computer-aided design systems AutoCAD use the AutoLISP dialect as the internal application development language. Though AutoLISP is the oldest of internal programming languages in AutoCAD, it is actively supported and is available for development in other CAD systems (Bricscad, IntelliCAD, DraftSight).
  3. Apache Storm is a distributed tool for real-time processing of large data volumes. The project is based on Clojure and Java and was open-sourced under Apache License 2.0 after it was purchased by Twitter. Interoperability with Java is the main feature of Clojure that allows integrating the Clojure code into any project already written in Java.
  4. Riemann is a tool for distributed system monitoring. It aggregates events from user servers and applications, combines them into a stream and transmits them for further processing or storage. Greater flexibility and fault-tolerance make Riemann different from other similar systems. Moreover, it’s written in Clojure almost completely. The code is available on GitHub and is distributed under Eclipse Public License 1.0.
  5. The news site Hacker News was developed as a project of Y Combinator and is written in Arc. This is a Lisp dialect implemented in Racket. The site author, Paul Graham, also took part in the development of this language and, as you can see, has found a practical use for it. One of the goals was to create a community similar to that formed on Reddit in its early days (surprisingly, at that time it was written in Common Lisp as well until it was migrated to Python in 2005).

Conclusion

I’ve tried to compile this list by including examples from different domains, development tools, off-the-shelf applications for non-tech users, and systems contained in the products regularly used by a good many people without much thought.

Of course, the list is not complete. It highlights the most interesting Lisp applications – in my subjective opinion – in modern software. More complete lists of libraries, applications and companies using Lisp dialects can be found on the following resources:

Recommended

You may also like

Want to know more?
Get in touch with us!
Contact Us

Privacy policy

Last updated: 1 September 2021

Typeable OU ("us", "we", or "our") operates https://typeable.io (the "Site"). This page informs you of our policies regarding the collection, use and disclosure of Personal Information we receive from users of the Site.

We use your Personal Information only for providing and improving the Site. By using the Site, you agree to the collection and use of information in accordance with this policy.

Information Collection And Use

While using our Site, we may ask you to provide us with certain personally identifiable information that can be used to contact or identify you. Personally identifiable information may include, but is not limited to your name ("Personal Information").

Log Data

Like many site operators, we collect information that your browser sends whenever you visit our Site ("Log Data").

This Log Data may include information such as your computer's Internet Protocol ("IP") address, browser type, browser version, the pages of our Site that you visit, the time and date of your visit, the time spent on those pages and other statistics.

In addition, we may use third party services such as Google Analytics that collect, monitor and analyze this ...

Cookies

Cookies are files with small amount of data, which may include an anonymous unique identifier. Cookies are sent to your browser from a web site and stored on your computer's hard drive.

Like many sites, we use "cookies" to collect information. You can instruct your browser to refuse all cookies or to indicate when a cookie is being sent. However, if you do not accept cookies, you may not be able to use some portions of our Site.

Security

The security of your Personal Information is important to us, so we don't store any personal information and use third-party GDPR-compliant services to store contact data supplied with a "Contact Us" form and job applications data, suplied via "Careers" page.

Changes To This Privacy Policy

This Privacy Policy is effective as of @@privacePolicyDate​ and will remain in effect except with respect to any changes in its provisions in the future, which will be in effect immediately after being posted on this page.

We reserve the right to update or change our Privacy Policy at any time and you should check this Privacy Policy periodically. Your continued use of the Service after we post any modifications to the Privacy Policy on this page will constitute your acknowledgment of the modifications and your consent to abide and be bound by the modified Privacy Policy.

If we make any material changes to this Privacy Policy, we will notify you either through the email address you have provided us, or by placing a prominent notice on our website.

Contact Us

If you have any questions about this Privacy Policy, please contact us.