SlideShare a Scribd company logo
Lisp in the Cloud
                                and
       The Next Lisp Machine Will Be
               Everywhere

                           Mike Travers
                          mt@hyperphor.com
                           Github: mtravers

Lisp BOF, 31 March 2012
Bifurcated Lightning Talk
Small hacks that
make Lisp web
apps practical



                   Grand vision of what
                   computing should be
Instant Lisp Web Servers
                      Application!

                                             WuWei

                                 Portable
                              Hunchentoot      QuickLisp
                              AllegroServe
Already forked on Github!
                                       Clozure CL
                                         SBCL

                             Common Lisp Buildpack

                        Heroku (Cedar Stack)

                            EC2
Heroku CL Buildpack
1) Get Heroku and Github accounts.
2) Fork mtravers/heroku-cl-example

 heroku create -s cedar --
    buildpackhttp://github.com/mtravers/heroku-
    buildpack-cl.git


3) [add your stuff]

4) git push heroku

5) Voila, a Lisp-based website!
Infrastructure TBD
• Adding in a persistence layer
  Heroku provides Postgres, hooking up
  CLSQL
• Security, Performance, Scaling
• Debugging tools
  (already an EVAL server)
• Building a big application
• Overtaking Rails
WuWei – Web toolkit
• Philosophy: toolkit not platform
• Continuation-based AJAX user interfaces
• Server-side high-level DOM operations
  (update elements, visual effects, drag and drop)
• High-level interfaces to in-place editing and
  autocomplete widgets
• Login and session management
• OAuth2 support (coming soon)

•   Runs in multiple Common Lisp implementations
•   Freely available under MIT Open Source License
•   In use: http://biocyc.org (SRI)
•   http://wuwei.nameor GitHubmtravers/wuwei
WuWei and ARC Challenge
• Paul Graham’s test for a web language
  (2008)http://www.paulgraham.com/arcchallenge.
   html
(wu-publish "/said"
 ((:form :action
       (wu-continuation (:args (foo))
               ((:a href (wu-continuation () (:princfoo)))
                "Click me")))
  ((:input :name "foo"))
  ((:input :type :submit))))




• Pretty concise and you don’t have to invent a new
  language for it.
So What?
• Why is Lisp interesting in today’s world?

• We know it’s not just another
  language, but what exactly does it offer?
Habitable Software
•   Richard Gabriel: software where “developers … place their hands on any
    item without having to think deeply about where it is.”

•   Past Lisp Systems:
     – REPLs
     – LispM / Dynamic Windows / CLIM

•   Some of Mm Efforts
     – Skij (REPL in Java, 1997)
     – Children’s Visual Programming / Behave / Scratch
     – BioBike: through-the-web symbolic biocomputing

•   But today’s computational world is different:
     –   Web, Mobile Devices
     –   Distributed Systems, Web Services
     –   Big Data
     –   Social user experience
     –   Social coding
Next Grand Vision
• What we should be building:
  – All the interactive computational power of a Lisp
    Machine
  – in the world of the Web, Distributed Services, Big
    Data, Social Computing, etc.
• Occupy Computation!
  – Make computational worlds
    visible, controllable, buildable, and habitable by
    the people who need to interact with them.
  – The computational world is increasingly
    indistinguishable from the real world, so this is a
    political imperative
Conclusion

• Lisp lowers barriers,
• The Internet lowers barriers,
• Herokulowers barriers,
• Let’s keep doing more of
  that.
End
Lisp in the Cloud

More Related Content

KEY
About Clack
ODP
Lisp Meet Up #31, Clake: a GNU make-like build utility in Common Lisp
PDF
Building GUI App with Electron and Lisp
PDF
Woo: Writing a fast web server @ ELS2015
KEY
自分をClojure化する方法
ODP
Developing high-performance network servers in Lisp
PDF
Writing a fast HTTP parser
PDF
Ruby in office time reboot
About Clack
Lisp Meet Up #31, Clake: a GNU make-like build utility in Common Lisp
Building GUI App with Electron and Lisp
Woo: Writing a fast web server @ ELS2015
自分をClojure化する方法
Developing high-performance network servers in Lisp
Writing a fast HTTP parser
Ruby in office time reboot

What's hot (20)

PDF
javerosmx-2015-marzo-groovy-java8-comparison
PDF
I can't believe it's not a queue: Kafka and Spring
PPTX
Rubykaigi 2017-nishimotz-v6
PPTX
Automating Your Daily Tasks with Scripting - RubyConf 2015 Taiwan
PDF
Clojure Conj 2014 - Paradigms of core.async - Julian Gamble
PDF
Applying the paradigms of core.async in Clojure and ClojureScript
PDF
Developing Java based microservices ready for the world of containers
PDF
Intro to CakePHP
PDF
Functional Programming in Clojure
PDF
Ratpack JVM_MX Meetup February 2016
PDF
Functional Programming in JavaScript
ODP
Integration using Apache Camel and Groovy
PDF
Developing OpenResty Framework
PDF
An introduction and future of Ruby coverage library
PDF
High Performance Systems in Go - GopherCon 2014
ODP
Getting Started with Apache Camel at DevNation 2014
PDF
But we're already open source! Why would I want to bring my code to Apache?
ODP
Microservices with Apache Camel
PDF
2015-10-07 PPDC HTTP Adapters
KEY
Hybrid concurrency patterns
javerosmx-2015-marzo-groovy-java8-comparison
I can't believe it's not a queue: Kafka and Spring
Rubykaigi 2017-nishimotz-v6
Automating Your Daily Tasks with Scripting - RubyConf 2015 Taiwan
Clojure Conj 2014 - Paradigms of core.async - Julian Gamble
Applying the paradigms of core.async in Clojure and ClojureScript
Developing Java based microservices ready for the world of containers
Intro to CakePHP
Functional Programming in Clojure
Ratpack JVM_MX Meetup February 2016
Functional Programming in JavaScript
Integration using Apache Camel and Groovy
Developing OpenResty Framework
An introduction and future of Ruby coverage library
High Performance Systems in Go - GopherCon 2014
Getting Started with Apache Camel at DevNation 2014
But we're already open source! Why would I want to bring my code to Apache?
Microservices with Apache Camel
2015-10-07 PPDC HTTP Adapters
Hybrid concurrency patterns
Ad

Similar to Lisp in the Cloud (20)

PDF
Kubecon seattle 2018 recap - Application Deployment aspects
PDF
cadec-2017-golang
PDF
DevOps Con 2015: Radical Agility with Autonomous Teams and Microservices in t...
PDF
Radical Agility with Autonomous Teams and Microservices in the Cloud
PPTX
Dev ops con 2015 radical agility with autonomous teams and microservices in...
PDF
Sergio Seabra - Red Hat - OSL19
PDF
Modern websites in 2020 and Joomla
PDF
How to build a Distributed Serverless Polyglot Microservices IoT Platform us...
PDF
Ruby+rails
PDF
The Power of GitOps with Flux & GitOps Toolkit
PPTX
The challenge of application distribution - Introduction to Docker (2014 dec ...
PDF
Being serverless and Swift... Is that allowed?
PPTX
How bigtop leveraged docker for build automation and one click hadoop provis...
PDF
UniK - a unikernel compiler and runtime
PPTX
OpenWhisk Go Runtime
PDF
ChatOps in Action
PDF
Rich Web Applications with Aspenware
PPTX
Javascript Apps at Build Artifacts
PPTX
Docker and containers - For Boston Docker Meetup Workshop in March 2015
PDF
Docker and Containers overview - Docker Workshop
Kubecon seattle 2018 recap - Application Deployment aspects
cadec-2017-golang
DevOps Con 2015: Radical Agility with Autonomous Teams and Microservices in t...
Radical Agility with Autonomous Teams and Microservices in the Cloud
Dev ops con 2015 radical agility with autonomous teams and microservices in...
Sergio Seabra - Red Hat - OSL19
Modern websites in 2020 and Joomla
How to build a Distributed Serverless Polyglot Microservices IoT Platform us...
Ruby+rails
The Power of GitOps with Flux & GitOps Toolkit
The challenge of application distribution - Introduction to Docker (2014 dec ...
Being serverless and Swift... Is that allowed?
How bigtop leveraged docker for build automation and one click hadoop provis...
UniK - a unikernel compiler and runtime
OpenWhisk Go Runtime
ChatOps in Action
Rich Web Applications with Aspenware
Javascript Apps at Build Artifacts
Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and Containers overview - Docker Workshop
Ad

Recently uploaded (20)

PDF
Approach and Philosophy of On baking technology
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Machine Learning_overview_presentation.pptx
PPTX
A Presentation on Artificial Intelligence
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
Tartificialntelligence_presentation.pptx
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Getting Started with Data Integration: FME Form 101
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
Approach and Philosophy of On baking technology
Reach Out and Touch Someone: Haptics and Empathic Computing
Spectral efficient network and resource selection model in 5G networks
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Machine Learning_overview_presentation.pptx
A Presentation on Artificial Intelligence
20250228 LYD VKU AI Blended-Learning.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
NewMind AI Weekly Chronicles - August'25-Week II
MIND Revenue Release Quarter 2 2025 Press Release
Tartificialntelligence_presentation.pptx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
The Rise and Fall of 3GPP – Time for a Sabbatical?
Diabetes mellitus diagnosis method based random forest with bat algorithm
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Getting Started with Data Integration: FME Form 101
Encapsulation_ Review paper, used for researhc scholars
Per capita expenditure prediction using model stacking based on satellite ima...

Lisp in the Cloud

  • 1. Lisp in the Cloud and The Next Lisp Machine Will Be Everywhere Mike Travers [email protected] Github: mtravers Lisp BOF, 31 March 2012
  • 2. Bifurcated Lightning Talk Small hacks that make Lisp web apps practical Grand vision of what computing should be
  • 3. Instant Lisp Web Servers Application! WuWei Portable Hunchentoot QuickLisp AllegroServe Already forked on Github! Clozure CL SBCL Common Lisp Buildpack Heroku (Cedar Stack) EC2
  • 4. Heroku CL Buildpack 1) Get Heroku and Github accounts. 2) Fork mtravers/heroku-cl-example heroku create -s cedar -- buildpackhttp://github.com/mtravers/heroku- buildpack-cl.git 3) [add your stuff] 4) git push heroku 5) Voila, a Lisp-based website!
  • 5. Infrastructure TBD • Adding in a persistence layer Heroku provides Postgres, hooking up CLSQL • Security, Performance, Scaling • Debugging tools (already an EVAL server) • Building a big application • Overtaking Rails
  • 6. WuWei – Web toolkit • Philosophy: toolkit not platform • Continuation-based AJAX user interfaces • Server-side high-level DOM operations (update elements, visual effects, drag and drop) • High-level interfaces to in-place editing and autocomplete widgets • Login and session management • OAuth2 support (coming soon) • Runs in multiple Common Lisp implementations • Freely available under MIT Open Source License • In use: http://biocyc.org (SRI) • http://wuwei.nameor GitHubmtravers/wuwei
  • 7. WuWei and ARC Challenge • Paul Graham’s test for a web language (2008)http://www.paulgraham.com/arcchallenge. html (wu-publish "/said" ((:form :action (wu-continuation (:args (foo)) ((:a href (wu-continuation () (:princfoo))) "Click me"))) ((:input :name "foo")) ((:input :type :submit)))) • Pretty concise and you don’t have to invent a new language for it.
  • 8. So What? • Why is Lisp interesting in today’s world? • We know it’s not just another language, but what exactly does it offer?
  • 9. Habitable Software • Richard Gabriel: software where “developers … place their hands on any item without having to think deeply about where it is.” • Past Lisp Systems: – REPLs – LispM / Dynamic Windows / CLIM • Some of Mm Efforts – Skij (REPL in Java, 1997) – Children’s Visual Programming / Behave / Scratch – BioBike: through-the-web symbolic biocomputing • But today’s computational world is different: – Web, Mobile Devices – Distributed Systems, Web Services – Big Data – Social user experience – Social coding
  • 10. Next Grand Vision • What we should be building: – All the interactive computational power of a Lisp Machine – in the world of the Web, Distributed Services, Big Data, Social Computing, etc. • Occupy Computation! – Make computational worlds visible, controllable, buildable, and habitable by the people who need to interact with them. – The computational world is increasingly indistinguishable from the real world, so this is a political imperative
  • 11. Conclusion • Lisp lowers barriers, • The Internet lowers barriers, • Herokulowers barriers, • Let’s keep doing more of that.
  • 12. End