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

What's hot (20)

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

Similar to Lisp in the Cloud (20)

PDF
Kubecon seattle 2018 recap - Application Deployment aspects
Krishna-Kumar
 
PDF
cadec-2017-golang
TiNguyn863920
 
PDF
DevOps Con 2015: Radical Agility with Autonomous Teams and Microservices in t...
Henning Jacobs
 
PDF
Radical Agility with Autonomous Teams and Microservices in the Cloud
Zalando Technology
 
PPTX
Dev ops con 2015 radical agility with autonomous teams and microservices in...
Jan Löffler
 
PDF
Sergio Seabra - Red Hat - OSL19
marketingsyone
 
PDF
Modern websites in 2020 and Joomla
George Wilson
 
PDF
How to build a Distributed Serverless Polyglot Microservices IoT Platform us...
Animesh Singh
 
PDF
Ruby+rails
Josh Dvir
 
PDF
The Power of GitOps with Flux & GitOps Toolkit
Weaveworks
 
PPTX
The challenge of application distribution - Introduction to Docker (2014 dec ...
Sébastien Portebois
 
PDF
Being serverless and Swift... Is that allowed?
Dev_Events
 
PPTX
How bigtop leveraged docker for build automation and one click hadoop provis...
Evans Ye
 
PDF
UniK - a unikernel compiler and runtime
Lee Calcote
 
PPTX
OpenWhisk Go Runtime
Michele Sciabarrà
 
PDF
ChatOps in Action
Todd Kaplinger
 
PDF
Rich Web Applications with Aspenware
Aspenware
 
PPTX
Javascript Apps at Build Artifacts
Clay Smith
 
PPTX
Docker and containers - For Boston Docker Meetup Workshop in March 2015
Jonas Rosland
 
PDF
Docker and Containers overview - Docker Workshop
Jonas Rosland
 
Kubecon seattle 2018 recap - Application Deployment aspects
Krishna-Kumar
 
cadec-2017-golang
TiNguyn863920
 
DevOps Con 2015: Radical Agility with Autonomous Teams and Microservices in t...
Henning Jacobs
 
Radical Agility with Autonomous Teams and Microservices in the Cloud
Zalando Technology
 
Dev ops con 2015 radical agility with autonomous teams and microservices in...
Jan Löffler
 
Sergio Seabra - Red Hat - OSL19
marketingsyone
 
Modern websites in 2020 and Joomla
George Wilson
 
How to build a Distributed Serverless Polyglot Microservices IoT Platform us...
Animesh Singh
 
Ruby+rails
Josh Dvir
 
The Power of GitOps with Flux & GitOps Toolkit
Weaveworks
 
The challenge of application distribution - Introduction to Docker (2014 dec ...
Sébastien Portebois
 
Being serverless and Swift... Is that allowed?
Dev_Events
 
How bigtop leveraged docker for build automation and one click hadoop provis...
Evans Ye
 
UniK - a unikernel compiler and runtime
Lee Calcote
 
OpenWhisk Go Runtime
Michele Sciabarrà
 
ChatOps in Action
Todd Kaplinger
 
Rich Web Applications with Aspenware
Aspenware
 
Javascript Apps at Build Artifacts
Clay Smith
 
Docker and containers - For Boston Docker Meetup Workshop in March 2015
Jonas Rosland
 
Docker and Containers overview - Docker Workshop
Jonas Rosland
 
Ad

Recently uploaded (20)

PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PDF
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
Ad

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